完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效_jquery

1、效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动

2、实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行。

3、运行环境

IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现

4、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合

5、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果

6、代码

复制代码 代码如下:

<!DOCTYPE HTML">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}
.demo{width:500px;margin:30px auto 0 auto;}
.demo h2{font-size:16px;color:#333;height:52px;line-height:24px;}
/* sidebar */
#sidebar{color:#AFB0B1;background:#0D171A;float:left;margin:0 0 24px;padding:15px 10px 10px;width:300px;}
#sidebar li{height:90px;overflow:hidden;}
#sidebar li h5{color:#A5A9AB;font-size:1em;margin-bottom:0.5em;}
#sidebar li h5 a{color:#fff;text-decoration:none;}
#sidebar li img{float:left;border:solid 3px #fff;margin-right:8px;display:inline;}
#sidebar li .info{color:#B1B1B1;font-size:1em;}
#sidebar .spyWrapper{height:100%;overflow:hidden;position:relative;}
</style>
<script type="text/javascript" src="">http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
(function($){
    $.fn.simpleSpy = function (limit, interval){
        limit = limit || 4;
        /*让div始终显示4个单位的高度*/
        interval = interval || 4000;
        /*控制每个动画效果的时间4000毫秒就是4秒 从最下面的图片消失到第5张图片的从上面显示出来一个动画2秒一共4秒的时间*/
        return this.each(function(){
            var $list = $(this),
            /*获得所有列表项目的缓存*/
            items = [],
            /*未初始化*/
            currentItem = limit,
            total = 0,
            /*初始化以后*/
            height = $list.find('> li:first').height();
            /*列表限制li元素*/
            $list.find('> li').each(function(){
            /*获得缓存*/
                items.push('<li>' + $(this).html() + '</li>');
                /*获得所有列表的li里面的缓存*/
            });
            total = items.length;
            /*始终显示在缓存里的li*/
            $list.wrap('<div class="spyWrapper" />').parent().css({height : height * limit});
            /*控制div在图片消失的时候依然保持同样的高度不会因为div的消失而变化*/
            $list.find('> li').filter(':gt(' + (limit - 1) + ')').remove();
            /*通过调用遍历方法获得所有li元素在实现移除的方法*/
            function spy(){
            /*开始第二个图片从最上方插入的效果*/
                var $insert = $(items[currentItem]).css({height : 0,opacity : 0,display : 'none'}).prependTo($list);
                /*插入一个新的div,透明度和高度为零*/
                $list.find('> li:last').animate({ opacity : 0}, 1000, function(){
                /*通过遍历插入一个动画出现的效果 时间为1秒*/
                    $insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);
                    /* 增加新的第一个div的高度*/
                    $(this).remove();   
                    /*这个移除的效果是什么呢 就是在当我们第一次加载完页面的时候都会有几个只有图片没有属性值的li 清除就是在第一个动画结束后把没有属性的li给删除掉 没有属性的就是 没有高的 没有动画效果的li*/
                });
                currentItem++;
                /*永远在第一个li位置显示出现的是下一个li图片*/
                if(currentItem >= total){
                /*如果4张图片大于或等于所有的大于或等于整个图片的的话*/
                    currentItem = 0;
                    /*那么就从0开始*/
                }
                setTimeout(spy, interval)
                /*在ul和4秒内完成*/
            }
            spy();
            /*效果的整个开关*/
        });
    };  
})(jQuery);
</script>
<script type="text/javascript">
$(document).ready(function(){
    $('ul.spy').simpleSpy();
    /*ul.spy调用simpleSpy()模版方法*/
});
</script>
</head>
<body>
<div class="demo">
    <h2>jquery仿新浪微博图片文字列表间隙滚动淡进淡出滚动</h2>
    <div id="sidebar">
        <ul class="spy">
            <li>
                <a href="http://www.jb51.net/" title="View round"><img width="70" height="70" src="images/1.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View round">round</a></h5>
                <p class="info">Nov 29th 2008 by neue</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View reflet"><img width="70" height="70" src="images/2.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View reflet">reflet</a></h5>
                <p class="info">Nov 29th 2008 by neue</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Kate Moross Little Big Planet"><img width="70" height="70" src="images/3.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Kate Moross Little Big Planet">Kate Moross Little Big Planet</a></h5>
                <p class="info">Nov 29th 2008 by neue</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Untitled"><img width="70" height="70" src="images/4.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Untitled">Untitled</a></h5>
                <p class="info">Nov 29th 2008 by mike1052</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View My Tutorial's Library"><img width="70" height="70" src="images/5.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View My Tutorial's Library">My Tutorial's Library</a></h5>
                <p class="info">Nov 29th 2008 by FrancescoOnAir</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/6.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant - Log in">Sandy — your free</a></h5>
                <p class="info">Nov 29th 2008 by John Doe</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/7.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant - Log in">Sandy — your free</a></h5>
                <p class="info">Nov 29th 2008 by John Doe</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant"><img width="70" height="70" src="images/8.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Sandy — your free personal email assistant">Sandy — your free</a></h5>
                <p class="info">Nov 29th 2008 by John Doe</p>
            </li>
            <li>
                <a href="http://www.jb51.net/" title="View Values of n Blog"><img width="70" height="70" src="images/9.png" title="" /></a>
                <h5><a href="http://www.jb51.net/" title="View Values of n Blog">Values of n Blog</a></h5>
                <p class="info">Nov 29th 2008 by John Doe</p>
            </li>
        </ul>
    </div>
</div>
</body>
</html>

怎么样,效果相当不错吧。

时间: 2024-10-02 19:49:18

完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效_jquery的相关文章

完美兼容各大浏览器的jQuery插件实现图片切换特效_jquery

文件里面的功能注释也写得非常详细(详见zoeDylan.ImgChange-1.0.1.js文件),对网友们的学习是很有帮助的,虽然样式不太好看,大家可以自己写,好好利用哦... JS代码部分: 复制代码 代码如下: (function ($) {     var//申明全局变量         _eleTemp,//缓存变量         _eleThis = $(this),//当前元素         _eleImg = $('.zd-imgChange-img'),//图片组元素   

HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列

 HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列  本文给大家分享的是使用HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列的方法和示例,非常的实用,特别是在BS架构的企业级应用,有需要的小伙伴可以参考下.     BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用户体验很好.一些重量级的JS组件库也都有这个功能,那么有没有更简单的方法实现这个功能呢? 这个需求常见的解决方案是使

HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列_javascript技巧

BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用户体验很好.一些重量级的JS组件库也都有这个功能,那么有没有更简单的方法实现这个功能呢? 这个需求常见的解决方案是使用表格拼接的方法,这个方案如果要制作静态的网页,或者功能简单的动态页面,逻辑比较简单,技术上也不复杂,很容易实现,但是如果要做成组件,动态功能较多的话,就需要写大量的冗余代码,难以维护,甚至于一个简单的功能,都需要写很多的代码,比如事件处理等,

JS中完美兼容各大浏览器的scrolltop方法

 1.各浏览器下 scrollTop的差异 IE6/7/8/9/10: 对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 : 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop : Safari: safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset : Firefox: 火狐等等相对标准些的浏览器就省心多了,直接用

完美兼容各大浏览器获取HTTP_REFERER方法总结_javascript技巧

后来查了一些相关资料,发现在IE 中通过 window.location.href 或者是 是无法获取HTTP_REFERER, 真是搞不懂 IE 的浏览器,很多浏览器运行的很好的东西,它就是不支持,最后没有办法,只能PHP伪造来源HTTP_REFERER的方法或者用JS来伪造. IE可以识别的 HTTP_REFERER 提交是通过click 触发的事件或者是 Form 表单提交的请求,下面是根据网上的资料总结的一个方法: <script> function referURL(url){ va

JS中完美兼容各大浏览器的scrolltop方法_javascript技巧

1.各浏览器下 scrollTop的差异 IE6/7/8/9/10: 对于没有doctype声明的页面里可以使用  document.body.scrollTop 来获取 scrollTop高度 : 对于有doctype声明的页面则可以使用 document.documentElement.scrollTop  : Safari: safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset : Firefox: 火狐等等相对标准些的浏览器就省心多了,直接

js实现完美兼容各大浏览器的人民币大小写相互转换_javascript技巧

/*小写转大写*/ var xcc= "12.22"; document.write(xcc+"=>"+formatRMB(xcc)+"<br/>"); /*大写转小写*/ var rrrr = "壹拾贰元贰角贰分"; document.write(rrrr+"=>"+parseRMB(rrrr)); 输出结果: 12.22=>壹拾贰元贰角贰分 壹拾贰元贰角贰分=>12.

html5实现完美兼容各大浏览器的播放器

 代码如下: <!doctype html> <html> <head> <meta charset=utf-8> <title>歌词同步播放器-powered by widuu xiaowei</title> <meta http-equiv="Cache-Control" content="no-cache"> <meta name="viewport"

js完美实现@提到好友特效(兼容各大浏览器)

 本文给大家分享的是一则使用javascript完美实现兼容各大浏览器的@好友自动提示的特效,是根据百度贴吧的效果模仿来的,推荐给小伙伴们,希望大家能够喜欢.     要求 1.输入@时,弹出匹配的好友菜单 2.光标进入包含有"@好友"的标签时,弹出菜单 3.按backspace删除时,如果光标前面是包含有"@好友"的标签,弹出菜单 4.兼容ie,firefox. 具体做法 针对要求一,很自然的会想到对输入框绑定事件.这里要绑定mousedown,而不是mouseu