突然在网络上找不到合适的banner滑动切换代码了……之前不找的时候一搜一大把,我有点意外,好容易找到一个,竟然在笔记本电脑上不兼容。不得已,自己手写了一个,其实代码也非常简单,懂得它的原理,改淡入淡出,加上向前,向后小图标也非常容易。
请转载此文的朋友务必附带原文链接,谢谢。
原文链接:http://xuyran.blog.51cto.com/11641754/1878370
js代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//滑动切换 var page = 1;
function bannerSlide() {
var len = $( "#bd1lfimg > div dl" ).length;
if (page == len) {
page = 1;
} else {
page++;
}
$( "#bd1lfimg > div" ).animate({ marginLeft: "-" + 750 * (page - 1) }); //对应banner滑动
$( "#bd1lfsj ul li" ).stop().eq(page - 1).addClass( "show" ).siblings().removeClass( "show" );
//对应小圆点样式改变
} $( function () {
var changeSelf = setInterval(bannerSlide, 4000); //自动切换
$( "#bd1lfsj ul li" ).on( "click" , function () {
var index = $( this ).index();
$( this ).addClass( "show" ).siblings().removeClass( "show" );
$( "#bd1lfimg > div" ).stop().animate({ marginLeft: "-" + 750 * index });
page = index;
})
}) |
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
26
27
|
<!--banner滑动开始-->
< div class = "sub_box" >
< div id = "p-select" class = "sub_nav" >
< div class = "sub_no" id = "bd1lfsj" >
< ul >
< li class = "show" ></ li >
< li ></ li >
< li ></ li >
</ ul >
</ div >
</ div >
< div id = "bd1lfimg" >
< div >
< dl class = "show" >
< dt >< a href = "#" >< img src = "../Content/images/u4618.jpg" alt = "" ></ a ></ dt >
</ dl >
< dl >
< dt >< a href = "#" >< img src = "../Content/images/u4620.jpg" alt = "" ></ a ></ dt >
</ dl >
< dl >
< dt >< a href = "#" >< img src = "../Content/images/u4622.jpg" alt = "" ></ a ></ dt >
</ dl >
</ div >
</ div >
</ div >
<!--banner滑动结束--> |
css代码如下:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
/* banner滑动 开始*/ .sub_box{ width : 750px ;
height : 350px ;
position : relative ;
overflow : hidden ;
} .sub_box img{ width : 750px ;
height : 350px ;
} #bd1 lfimg{
position : relative ;
width : 750px ;
height : 350px ;
overflow : hidden ;
} #bd1 lfimg div{
width : 100000px ;
} #bd1 lfimg dl{
width : 750px ;
height : 350px ;
position : relative ;
overflow : hidden ;
float : left ;
} #bd1 lfimg dt{
width : 750px ;
height : 350px ;
position : absolute ;
left : 0px ;
top : 0px ;
} .sub_nav{ width : 150px ;
height : 25px ;
bottom : 0px ;
position : absolute ;
z-index : 10 ;
padding-bottom : 30px ;
left : 260px ;
} .sub_no{ height : 25px ;
float : right ;
} .sub_no li{ display : block ;
width : 15px ;
height : 15px ;
float : left ;
margin-left : 10px ;
overflow : hidden ;
line-height : 25px ;
vertical-align : middle ;
text-align : center ;
background : #bcbcbc ;
filter:alpha(Opacity= 70 );
Opacity: 0.7 ;
font-family : Arial ;
font-size : 11px ;
cursor : pointer ;
border-radius: 50% ;
} .sub_no li. show {
background : #fbd74f ;
width : 20px ;
height : 20px ;
margin-top : -3px ;
} /* banner滑动 结束*/ |
如过要加上向前向后小图标,原理如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//点击切换
var page = 1;
var len = $(".bottom-list li").length;
$(".lightbox-next").click(function () {
if (page == len) {
page = 1;
} else {
page++;
}
$("#bd1lfimg > div").animate({ marginLeft: "-" + 750 * (page - 1) });//对应banner滑动
$("#bd1lfsj ul li").stop().eq(page - 1).addClass("show").siblings().removeClass("show");
//对应小圆点样式改变
})
$(".lightbox-prev").click(function () {
if (page == 1) {
page = len;
} else {
page--;
}
$("#bd1lfimg > div").animate({ marginLeft: "-" + 750 * (page - 1) });//对应banner滑动 $("#bd1lfsj ul li").stop().eq(page - 1).addClass("show").siblings().removeClass("show");
//对应小圆点样式改变
})
|
本文转自 小旭依然 51CTO博客,原文链接:http://blog.51cto.com/xuyran/1878370