本文实例讲述了Jquery焦点图实例代码。分享给大家供大家参考。具体如下:
对于很多建站的朋友来讲,焦点图并不陌生,一般的企业站,门户站都会用到焦点图。我们平时在写html代码的时候,很多人为了省时省力,对于焦点图都是在网上下载一些人家写好的代码,直接套上去即可,很多时候我自己也是这样来的。因为一个焦点图有html布局,css样式调试和最关键的 javascript语句的编写。这些都是一个很麻烦的过程。
今天我就以实例讲解,手把手教你如何写Jquery焦点图。Jquery是js封装的框架,让js的语法变得简单,很多知名网站都在用这个框架。这里星仔为了语法的简单,让大部分网友能看懂,也引用Jquery框架。
长话短说,我直接贴出源代码,和对应的注释。具体代码如下:
<!DOCTYPE html> <html> <head> <title>focus code powered by boyxing.com</title> <script type="text/javascript" src="js/jquery.js"></script><!--引用Jquery框架--> <!--css定义,可以根据需要自己定义--> <style type="text/css"> body,ul,li{ margin:0; padding:0} ul,li{ list-style:none;} .focus{ margin:0 auto; height:320px; width:980px; overflow:hidden; position:relative; padding:0;} .focus .bigpic{ position:absolute;padding:0;} .focus .bigpic li{ width:980px;float:left;padding:0;} .focus .btn{ overflow:hidden; height:30px;position:absolute; bottom:3px; left:50%; margin-left:-100px;} .focus .btn li{ float:left; margin:0 10px; padding:5px; cursor:pointer; background: #fff;border:1px #900 solid;border-radius:12px; height:12px; width:12px; overflow:hidden; text-align:center; line-height:12px;opacity:0.6; float:left;} .focus .btn li.on{ background: #990000; color:#FFFFFF;} </style> </head> <body> <!--焦点图div部分开始--> <div class="focus"> <div class="focuscon"> <ul class="bigpic"> <li><a href="#"><img src="fbc60c3991284b6ffdb0aa11a1708c41.jpg" border="0"></a></li> <li><a href="#"><img src="3d41450340fe053008f8437011b7bcf5.jpg" border="0"></a></li> <li><a href="#"><img src="c9a787ef199d47bdb3529bbdecfc989c.jpg" border="0"></a></li> <li><a href="#"><img src="2471eddde718c56879171814c8a52153.jpg" border="0"></a></li><!--焦点图个数不限--> </ul> </div> </div> <!--焦点图div部分结束--> </body> <script type="text/javascript"> $(document).ready(function(){ var num=$(".bigpic li").length;//获取焦点图的个数 var fwidth=$(".bigpic li").width();//获取每个焦点图的宽度 var sec=4000;//时间切换间隔 var btn = '<ul class="btn"><li class="on">1</li>'; var btnend = '</ul>'; for(i=2;i<=num;i++){btn += '<li>'+i+'</li>';}; btn += btnend; if(num == 1){btn = null}; $(".focus").append(btn);//自动根据焦点图个数,添加切换按钮,如果只有一张图片则不显示切换按钮。 $(".bigpic").css("width",fwidth*num);//设定大图集合的宽度,也就是所有焦点图宽度的和。 $(".btn li").bind("mouseover",function(){ $(this).addClass("on").siblings().removeClass("on"); var i=$(".btn li").index(this);var marginL=fwidth*i; $(".bigpic").animate({"left":-marginL},500);} );//鼠标指向按钮,焦点图切换到对应位置,按钮样式改变。mouseover是鼠标经过时,这里也可以改成click,通过点击切换焦点图。 picTimer = setInterval(timeset,sec); //指定sec毫秒后执行一次timeset函数。 function timeset(){ var j = $(".btn li").index($(".on"));//取得 当前焦点图的位置,即class为on的序号。 var timew = fwidth*(j+1); if(j == num-1){$(".btn li").eq(0).addClass("on").siblings().removeClass("on");$(".bigpic").animate({"left":0},500);} else{$(".btn li").eq(j+1).addClass("on").siblings().removeClass("on");$(".bigpic").animate({"left":-timew},500);}; }; $(".focus").mouseover(function(){clearInterval(picTimer);}); $(".focus").bind("mouseout",function(){picTimer = setInterval(timeset,sec);} );//当鼠标指向焦点图或者是切换按钮时,定时器清除,即不在执行自动切换,鼠标离开则恢复自动切换。 }) </script> </html>
希望本文所述对大家的jQuery程序设计有所帮助。