码迷,mamicode.com
首页 > Web开发 > 详细

Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

时间:2015-05-27 18:42:12      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加)

 1 <style type="text/css">
 2         
 3         /*展示图片切换的div样式*/
 4          #ShowImg {
 5              width: 599px;
 6              height: 324px;
 7              background-image: url("imgs/1.jpg");/*注意自己的图片路径和图片名称*/
 8              margin: 0 auto;
 9          }
10          /*显示点击切换按钮的div*/
11          #Nav {
12             height: 26px;
13             padding-top: 280px;
14             padding-left: 480px;
15             
16         }
17         /*这里是切换按钮,这里用li实现*/
18          #Nav ul li {
19             display: block;
20             font-size: 9px;
21             padding-top: 3px;
22             float: left;
23             margin: 2px;
24             width: 19px;
25             cursor: pointer;
26             color: #7f0019;
27             font-family: "arial";
28             height: 19px;
29             background-color: #fff;
30             border: 1px solid #cecece;
31             text-align: center;
32         }
33     </style>

然后是js代码:

技术分享
 1     <!--引入jquer脚本-->
 2     <script src="script/jquery-1.8.0.min.js"></script>
 3     
 4     <!--js代码具体实现:-->
 5     <script type="text/javascript">
 6         $(function () {
 7           
 8             //开启一个定时器,设置一个适当的时间段,让图片实现不断切换效果,这里设置的是1000ms即是1m
 9             setInterval(function () {
10                 //先从隐藏域的flag中获取它的值
11                 var j = $("#flag").val();
12                 //如果这个值等于-1,这里约定鼠标正在该按钮上,什么都不做,直接返回。
13                 if (j==-1) {
14                     return;
15                 }
16                 //否则根据j的值,设置相应的事件
17                 var lits = $("#Nav li");
18                 if (j-1>=0) {
19                     setStyleMouseLeave(lits[j-1]);
20                 } else {
21                     setStyleMouseLeave(lits[2]);
22                 }
23 
24                 setStyleMouseOver(lits[j]);
25 
26                 j++;
27                 if (j>2) {
28                     j = 0;
29                 }
30                 $("#flag").val(j);
31 
32             }, 1000);
33 
34             //获取div nav下所有的li元素,并为他们绑定鼠标进入,和鼠标离开事件
35             $("#Nav li").mouseover(function (i) {
36 
37                 //该函数修改自己的样式,以及图片
38                 setStyleMouseOver(this);
39                 //设置兄弟元素的样式,即是其余的两个li
40                 $(this).siblings().css({
41                     color: ‘rgb(127, 0, 25)‘,
42                     fontWeight: ‘normal‘,
43                     background: ‘rgb(255, 255, 255)‘,
44                 });
45               //设置flag的值为-1,以达到暂停定时器的效果
46                 $("#flag").val("-1");
47 
48 
49             })
50                         .mouseleave(function () {
51 
52                           //当鼠标离开时,要设置自己样式
53                          setStyleMouseLeave(this);
54                             //获取当前的li中n的属性,并根据n的值,来判断当再次执行定时器时,哪一个li被选中
55                             var n = $(this).attr("n");
56 
57                             if (n/1 + 1 <= 2) {
58                                 n = n*1 + 1;
59                             } else {
60                                 n = 0;
61                             }
62                            //鼠标离开后更新flag的值,使flag的值,正好等于下次将要遍历到的li的属性n的值,以达到重启定时器的效果,但定时器从未停止,也没有重启功能
63                             $("#flag").val(n);
64                         });;
65 
66         });
67 
68         //封装出的两个公共的函数
69 
70         function setStyleMouseOver(li) {
71 
72             $(li).css({
73                 color: ‘rgb(255, 255, 255)‘,
74                 fontWeight: ‘bolder‘,
75                 background: ‘rgb(218, 10, 10)‘,
76             });
77             var url = $(li).attr("url");
78             $("#ShowImg").css("background-image", "url(" + url + ")");
79         }
80 
81         function setStyleMouseLeave(li) {
82 
83             $(li).css({
84                 color: ‘rgb(127, 0, 25)‘,
85                 fontWeight: ‘normal‘,
86                 background: ‘rgb(255, 255, 255)‘,
87             });
88        
89         }
90 
91     </script>
View Code

最后是dom元素

 1 body>
 2     <div id="ShowImg">
 3         <div id="Nav">
 4             <ul>
 5                 <!--这里的url属性和n属性是我自己添加的,为了编程方便,标签本身是没有这些属性的,注意这里的url根据自己放置图片的实际位置设置值-->
 6                 <li url="imgs/1.jpg"  n="0" style="color: rgb(255, 255, 255); font-weight: bolder; background: rgb(218, 10, 10);">1</li>
 7                 <li url="imgs/2.gif"  n="1" >2</li>
 8                 <li url="imgs/3.jpg"  n="2" >3</li>
 9                
10             </ul>
11         </div>
12     </div>
13     <!--标识-->
14     <input type="hidden" name="name" id="flag" value="1" />
15 </body>

 

Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

标签:

原文地址:http://www.cnblogs.com/lph-net/p/4533967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!