完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
1、效果及功能说明仿新浪微博图片文字列表上下淡进淡出间歇上下滚动
2、实现原理首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行。
3、运行环境
IE6IE7IE8及以上Firefox和GoogleChrome游览器下都可实现
4、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合
5、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果
6、代码
<!DOCTYPEHTML"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <styletype="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:30pxauto0auto;} .demoh2{font-size:16px;color:#333;height:52px;line-height:24px;} /*sidebar*/ #sidebar{color:#AFB0B1;background:#0D171A;float:left;margin:0024px;padding:15px10px10px;width:300px;} #sidebarli{height:90px;overflow:hidden;} #sidebarlih5{color:#A5A9AB;font-size:1em;margin-bottom:0.5em;} #sidebarlih5a{color:#fff;text-decoration:none;} #sidebarliimg{float:left;border:solid3px#fff;margin-right:8px;display:inline;} #sidebarli.info{color:#B1B1B1;font-size:1em;} #sidebar.spyWrapper{height:100%;overflow:hidden;position:relative;} </style> <scripttype="text/javascript"src="http://code.jquery.com/jquery-1.9.1.js"></script> <scripttype="text/javascript"> (function($){ $.fn.simpleSpy=function(limit,interval){ limit=limit||4; /*让div始终显示4个单位的高度*/ interval=interval||4000; /*控制每个动画效果的时间4000毫秒就是4秒从最下面的图片消失到第5张图片的从上面显示出来一个动画2秒一共4秒的时间*/ returnthis.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('<divclass="spyWrapper"/>').parent().css({height:height*limit}); /*控制div在图片消失的时候依然保持同样的高度不会因为div的消失而变化*/ $list.find('>li').filter(':gt('+(limit-1)+')').remove(); /*通过调用遍历方法获得所有li元素在实现移除的方法*/ functionspy(){ /*开始第二个图片从最上方插入的效果*/ 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> <scripttype="text/javascript"> $(document).ready(function(){ $('ul.spy').simpleSpy(); /*ul.spy调用simpleSpy()模版方法*/ }); </script> </head> <body> <divclass="demo"> <h2>jquery仿新浪微博图片文字列表间隙滚动淡进淡出滚动</h2> <divid="sidebar"> <ulclass="spy"> <li> <ahref="https://www.nhooo.com/"title="Viewround"><imgwidth="70"height="70"src="images/1.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="Viewround">round</a></h5> <pclass="info">Nov29th2008byneue</p> </li> <li> <ahref="https://www.nhooo.com/"title="Viewreflet"><imgwidth="70"height="70"src="images/2.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="Viewreflet">reflet</a></h5> <pclass="info">Nov29th2008byneue</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewKateMorossLittleBigPlanet"><imgwidth="70"height="70"src="images/3.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewKateMorossLittleBigPlanet">KateMorossLittleBigPlanet</a></h5> <pclass="info">Nov29th2008byneue</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewUntitled"><imgwidth="70"height="70"src="images/4.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewUntitled">Untitled</a></h5> <pclass="info">Nov29th2008bymike1052</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewMyTutorial'sLibrary"><imgwidth="70"height="70"src="images/5.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewMyTutorial'sLibrary">MyTutorial'sLibrary</a></h5> <pclass="info">Nov29th2008byFrancescoOnAir</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant-Login"><imgwidth="70"height="70"src="images/6.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant-Login">Sandy—yourfree</a></h5> <pclass="info">Nov29th2008byJohnDoe</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant-Login"><imgwidth="70"height="70"src="images/7.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant-Login">Sandy—yourfree</a></h5> <pclass="info">Nov29th2008byJohnDoe</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant"><imgwidth="70"height="70"src="images/8.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewSandy—yourfreepersonalemailassistant">Sandy—yourfree</a></h5> <pclass="info">Nov29th2008byJohnDoe</p> </li> <li> <ahref="https://www.nhooo.com/"title="ViewValuesofnBlog"><imgwidth="70"height="70"src="images/9.png"title=""/></a> <h5><ahref="https://www.nhooo.com/"title="ViewValuesofnBlog">ValuesofnBlog</a></h5> <pclass="info">Nov29th2008byJohnDoe</p> </li> </ul> </div> </div> </body> </html>
怎么样,效果相当不错吧。