本文实例为大家分享了js实现幻灯片轮播图的具体代码,供大家参考,具体内容如下
1.html
选取了五张图片 放入div中,然后是左右箭头,以及按钮,代码如下
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
|
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< title >轮播图</ title >
< link href = "../css/轮播图.css" rel = "stylesheet" >
</ head >
< body >
< div id = "box" >
< img src = "../image/car-1.jpg" >
< img src = "../image/car-2.jpg" >
< img src = "../image/car-3.jpg" >
< img src = "../image/car-4.jpg" >
< img src = "../image/car-5.jpg" >
< div class = "arrow" >
< a class = "left" href = "javacript:void(0);" ><</ a >
< a class = "right" href = "javacript:void(0);" >></ a >
</ div >
< ul class = "btn" >
< li class = "on" slideIndex = "1" >1</ li >
< li slideIndex = "2" >2</ li >
< li slideIndex = "3" >3</ li >
< li slideIndex = "4" >4</ li >
< li slideIndex = "5" >5</ li >
</ ul >
</ div >
< script src = "../js/轮播图.js" >
</ script >
</ body >
</ html >
|
2.css给div设置居中
将所有图片隐藏,设置箭头和小圆点的样式
代码如下
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
74
75
76
77
|
*{
margin : 0 ;
padding : 0 ;
text-decoration : none ;
list-style : none ;
}
#box{
width : 800px ;
height : 500px ;
margin : 50px auto 0px ;
position : relative ;
}
#box img{
width : 800px ;
height : 500px ;
display : none ;
animation:fade 3 s;
}
#box .arrow{
width : 800px ;
height : 80px ;
position : absolute ;
top : 50% ;
margin-top : -40px ;
}
#box .arrow . left ,. right {
display : inline- block ;
line-height : 80px ;
width : 50px ;
height : 80px ;
}
#box .arrow . left :hover{
background :rgba( 0 , 0 , 0 , 0.8 );
}
#box .arrow . right :hover{
background :rgba( 0 , 0 , 0 , 0.8 );
}
#box .arrow . right {
text-align : right ;
position : absolute ;
right : 0 ;
}
#box .arrow a{
font-size : 50px ;
color : #ffffff ;
}
#box .btn{
position : absolute ;
bottom : 10px ;
left : 50% ;
margin-left : -98.47px ;
text-align : center ;
}
#box .btn li{
text-align : center ;
margin : 0 5px ;
padding : 10px ;
float : left ;
background : white ;
border-radius: 20% ;
cursor : pointer ;
transition: background 2 s ease;
}
#box .btn .on{
background : #000 ;
color : white ;
}
@keyframes fade{
from{
opacity:. 4 ;
}
to{
opacity: 1 ;
}
}
|
3.js部分
js设定让当前图片显示display:block,其他图片隐藏display:none;
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
window.onload= function () {
var left=document.getElementsByClassName( "left" )[0];
var right=document.getElementsByClassName( "right" )[0];
var btn=document.getElementsByClassName( "btn" )[0].getElementsByTagName( "li" );
var box=document.getElementById( "box" );
var slideIndex=1;
var index=1;
var timer;
//图片切换函数
showSlides(slideIndex);
function showSlides(n) {
var slides=document.getElementById( "box" ).getElementsByTagName( "img" );
for ( var i=0;i<slides.length;i++){
slides[i].style.display= "none" ;
btn[i].className= "" ;
}
slides[slideIndex-1].style.display= "block" ;
btn[slideIndex-1].className= "on"
}
//箭头切换
left.onclick= function () {
if (slideIndex>1) {
slideIndex--;
showSlides(slideIndex);
} else {
slideIndex=5;
showSlides(slideIndex);
}
}
right.onclick= function () {
if (slideIndex<5) {
slideIndex++;
showSlides(slideIndex);
} else {
slideIndex=1;
showSlides(slideIndex);
}
}
//btn切换
for ( var i=0;i<btn.length;i++){
btn[i].onclick= function () {
var myslideIndex= this .getAttribute( 'slideIndex' );
// var myindex=parseInt(this.getAttribute("index"));
slideIndex=myslideIndex;
showSlides(slideIndex);
}
}
//自动播放
function play() {
timer=setInterval( function () {
right.onclick();
},4000);
}
function stop() {
clearInterval(timer);
}
box.onmouseout=play;
box.onmouseover=stop;
play();
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/weixin_45596380/article/details/105929563