用JQuery操作DOM确实很方便,并且JQuery提供了非常人性化的API应付我们的各种需求,其中选择器在此示例-“JQuery实现图片轮播效果”上体现的尤为出色。大大简化了js的代码。
这里大概说一下整个流程:
1,将除了第一张以外的图片全部隐藏,
2,获取第一张图片的alt信息显示在信息栏,并添加点击事件
3,为4个按钮添加点击侦听,点击相应的按钮,用fadeOut,fadeIn方法显示图片
4,设置setInterval,定时执行切换函数
调用
1 |
html部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | < div id = "banner" > < div id = "banner_bg" > </ div > <!--标题背景--> < div id = "banner_info" > </ div > <!--标题--> < ul > < li class = "on" > 1 </ li > < li > 2 </ li > < li > 3 </ li > < li > 4 </ li > </ ul > < div id = "banner_list" > < a href = "#" target = "_blank" >< img src = "imgs/p1.jpg" title = "jquery插件库1" alt = "jquery插件库1" ></ a > < a href = "#" target = "_blank" >< img src = "imgs/p2.jpg" title = "jquery插件库2" alt = "jquery插件库2" ></ a > < a href = "#" target = "_blank" >< img src = "imgs/p3.jpg" title = "jquery插件库3" alt = "jquery插件库3" ></ a > < a href = "#" target = "_blank" >< img src = "imgs/p1.jpg" title = "jquery插件库4" alt = "jquery插件库4" ></ a > </ div > </ div > |
css部分
1 2 3 4 5 6 7 8 9 10 11 12 13 | <style type= "text/css" > #banner { position : relative ; width : 478px ; height : 286px ; border : 1px solid #666 ; overflow : hidden ; } #banner_list img { border : 0px ; } #banner_bg { position : absolute ; bottom : 0 ; background-color : #000 ; height : 30px ; filter: Alpha(Opacity= 30 ); opacity: 0.3 ; z-index : 1000 ; cursor : pointer ; width : 478px ; } #banner_info { position : absolute ; bottom : 0 ; left : 5px ; height : 22px ; color : #fff ; z-index : 1001 ; cursor : pointer } #banner_text { position : absolute ; width : 120px ; z-index : 1002 ; right : 3px ; bottom : 3px ; } #banner ul { position : absolute ; list-style-type : none ; filter: Alpha(Opacity= 80 ); opacity: 0.8 ; z-index : 1002 ; margin : 0 ; padding : 0 ; bottom : 3px ; right : 5px ; } #banner ul li { padding : 0px 8px ; float : left ; display : block ; color : #FFF ; background : #6f4f67 ; cursor : pointer ; border : 1px solid #333 ; } #banner ul li.on { background-color : #000 ; } #banner_list a { position : absolute ; } <!-- 让四张图片都可以重叠在一起--> </style> |
js部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <script type= "text/javascript" > var t = n = 0, count; $(document).ready( function () { count = $( "#banner_list a" ).length; $( "#banner_list a:not(:first-child)" ).hide(); $( "#banner_info" ).html($( "#banner_list a:first-child" ).find( "img" ).attr( 'alt' )); $( "#banner_info" ).click( function () { window.open($( "#banner_list a:first-child" ).attr( 'href' ), "_blank" ) }); $( "#banner li" ).click( function () { var i = $( this ).text() - 1; //获取Li元素内的值,即1,2,3,4 n = i; if (i >= count) return ; $( "#banner_info" ).html($( "#banner_list a" ).eq(i).find( "img" ).attr( 'alt' )); $( "#banner_info" ).unbind().click( function () { window.open($( "#banner_list a" ).eq(i).attr( 'href' ), "_blank" ) }) $( "#banner_list a" ).filter( ":visible" ).fadeOut(500).parent().children().eq(i).fadeIn(1000); document.getElementById( "banner" ).style.background = "" ; $( this ).toggleClass( "on" ); $( this ).siblings().removeAttr( "class" ); }); t = setInterval( "showAuto()" , 4000); $( "#banner" ).hover( function () { clearInterval(t) }, function () { t = setInterval( "showAuto()" , 4000); }); }) function showAuto() { n = n >= (count - 1) ? 0 : ++n; $( "#banner li" ).eq(n).trigger( 'click' ); } </script> |
特别申明:
本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com