封装了一个图片轮换效果的函数。

图片轮换的效果随处可见,但是我还是试着封装了一个函数。一个页面上可以多次调用。。。由于初学代码写的不是多好,其中有个文件是可以踢出到一个js文件里的,这是为了测试方便,我都给放在了一个页面里了。其中如果有问题,有更好的意见或者建议都可在最后留言,都将对您感激不尽。

具体的代码如下:

  1 <!DOCTYPE HTML> 
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
5 <title>图片轮换效果</title>
6 <style type="text/css">
7 body, div { margin: 0; paading: 0; font-size: 12px; }
8 ul, li { margin: 0; padding: 0; list-style: none; }
9 .clear { clear: both; width: 1px; height: 0px; line-height: 0px; font-size: 1px; }
10 .left { float: left; }
11 .right { float: right; }
12 ul, li { margin: 0; padding: 0; list-style: none; }
13
14 .box { width: 960px; margin: 0 auto; padding-top: 15px; }
15 .flash { position: relative; width: 360px; height: 280px; overflow: hidden; }
16 .list { position: relative; width: 360px; height: 260px; overflow: hidden; }
17 .list li img{ position: absolute; left: 0; top: 0; width: 360px; height: 260px;}
18 .list li { display: none; }
19 .list .over { display: block;}
20 .btn { position: absolute; top: 233px; width: 360px; height: 26px; background: #000; line-height: 26px; opacity: 0.7; filter: alpha(opacity=70); text-align: right; }
21 .btn a { padding: 2px 5px; margin: 0 2px; border: 1px solid #fff; border-radius: 2px; background: #000; color: #fff; text-decoration: none; cursor: pointer; }
22 .btn .over { background: #f00; }
23 .btn2 { position: absolute; top: 206px; height:62px; }
24
25 .btn2 img { width: 70px; height: 60px; border: 1px solid #ccc; }
26 .btn2 .over img { border: 1px solid #f00; }
27
28 .flash2 { position: relative; width: 800px; }
29 .flash2 .list { float: left; }
30 .flash2 .btn2 { float: left; position: static; width: 150px; height: 280px; }
31
32 .flash2 .btn2 img { width: 120px; height: 47px; }
33 </style>
34 <script type="text/javascript" src="jquery-1.6.1.min.js"></script>
35 <script type="text/javascript" src="scroll.js">
36
37 var autoPlay = {
38
39 setTimeShow: function(showObj, btnObj, showClass, timer) {
40 var length = btnObj.length;
41 var timeId = null;
42 var index = 0;
43
44 if(showObj.length == btnObj.length) {
45 timeId = window.setInterval(function(){
46 index = autoPlay.showCon(showObj, btnObj, showClass, index); //返回操作后的index
47
48 }, timer);
49 } else if (length == 1) {
50 clearInterval(timeId); // 如果只有一张图片,则清除计时器,停止自动播放。
51 } else {
52 return false;
53 }
54 // 鼠标点击的操作。
55 btnObj.each(function(i) {
56 $(this).click(function() {
57
58 $(this).addClass(showClass);
59 btnObj.not($(this)).removeClass(showClass);
60 showObj.eq(i).show('slow');
61 showObj.not(showObj.eq(i)).hide();
62
63 index = i;
64 });
65
66 });
67
68 },
69
70 //自动轮换显示
71 showCon: function(show, btnObj, showClass, index) {
72
73 btnObj.eq(index).addClass(showClass);
74 btnObj.not(btnObj.eq(index)).removeClass(showClass);
75 show.eq(index).show('slow');
76 show.not(show.eq(index)).hide();
77
78 if (index >= btnObj.length -1) {
79 index = 0;
80 } else {
81 index++;
82 }
83 return index; //返回操作后的index
84 },
85
86
87
88 };
89 </script>
90 <script type="text/javascript">
91 $(document).ready(function() {
92
93 autoPlay.setTimeShow($('#list1 li'), $('#btn1 a'), 'over', 3000);
94 autoPlay.setTimeShow($('#list2 li'), $('#btn2 a'), 'over', 3000);
95 autoPlay.setTimeShow($('#list3 li'), $('#btn3 a'), 'over', 3000);
96
97 });
98 </script>
99
100 </head>
101
102 <body>
103 <div class="box">
104 <div class="flash">
105 <ul class="list" id='list1'>
106 <li class="over"><img src="images/11.jpg" /></li>
107 <li><img src="images/2.jpg" /></li>
108 <li><img src="images/6.jpg" /></li>
109 <li><img src="images/8.jpg" /></li>
110 <li><img src="images/9.jpg" /></li>
111 </ul>
112 <div class="btn" id="btn1">
113 <a class="over" href="#">1</a><a href="#">2</a><a href="#">3</a><a href="#">4</a><a href="#">5</a>
114 </div>
115 </div>
116 </div>
117 <div class="box">
118 <div class="flash">
119 <ul class="list" id='list2'>
120 <li class="over"><img src="images/11.jpg" /></li>
121 <li><img src="images/2.jpg" /></li>
122 <li><img src="images/6.jpg" /></li>
123 <li><img src="images/8.jpg" /></li>
124 <li><img src="images/9.jpg" /></li>
125 </ul>
126 <div class="btn2" id="btn2">
127 <a class="over" href="#"><img src="images/11.jpg"/></a><a href="#"><img src="images/2.jpg"/></a><a href="#"><img src="images/6.jpg"/></a><a href="#"><img src="images/8.jpg"/></a><a href="#"><img src="images/9.jpg"/></a>
128 </div>
129 </div>
130 </div>
131
132 <div class="box">
133 <div class="flash2">
134 <ul class="list" id='list3'>
135 <li class="over"><img src="images/11.jpg" /></li>
136 <li><img src="images/2.jpg" /></li>
137 <li><img src="images/6.jpg" /></li>
138 <li><img src="images/8.jpg" /></li>
139 <li><img src="images/9.jpg" /></li>
140 </ul>
141 <div class="btn2" id="btn3">
142 <a class="over" href="#"><img src="images/11.jpg"/></a><a href="#"><img src="images/2.jpg"/></a><a href="#"><img src="images/6.jpg"/></a><a href="#"><img src="images/8.jpg"/></a><a href="#"><img src="images/9.jpg"/></a>
143 </div>
144 </div>
145 </div>
146 </body>
147 </html>



posted @ 2011-09-28 22:02  limanclear  Views(525)  Comments(0)    收藏  举报