Javascript幻灯片播放功能实现过程解析
javascript实现幻灯片播放
实现原理
- step1设置容器,包含图片、翻页、下标等元素,通过相对定位来布局。
- step2将幻灯片变化,需要改变的元素放在一个字容器内,display设为none,并且采取动画来变化。
- step3设置js函数,将应该播放的元素样式激活,其他的元素仍为未激活状态或者不展示类的隐藏。
代码
html
Inserttitlehere 1/3
javascript实现幻灯片播放
实现原理
代码
html
Inserttitlehere 1/3
css
@charset"UTF-8";
*{box-sizing:border-box}
body{font-family:Verdana,sans-serif;}
.mySlides{
display:none;
/*display为none的含义是不展示元素,但是且不占用空间*/
}
/*幻灯片容器*/
.slideshow-container{
max-width:1000px;
position:relative;
margin:auto;
}
/*下一张&上一张按钮*/
.prev,.next{
cursor:pointer;
position:absolute;
top:50%;
width:auto;
margin-top:-22px;
padding:16px;
color:white;
font-weight:bold;
font-size:18px;
transition:0.6sease;
border-radius:03px3px0;
}
/*定位"下一张"按钮靠右*/
.next{
right:0;
border-radius:3px003px;
}
/*Onhover,addablackbackgroundcolorwithalittlebitsee-through*/
.prev:hover,.next:hover{
background-color:rgba(0,0,0,0.8);
}
/*标题文本*/
.text{
color:#f2f2f2;
font-size:15px;
padding:8px12px;
position:absolute;
bottom:8px;
width:100%;
text-align:center;
}
/*数字文本(1/3等)*/
.numbertext{
color:#f2f2f2;
font-size:12px;
padding:8px12px;
position:absolute;
top:0;
}
/*标记符号*/
.dot{
cursor:pointer;
height:13px;
width:13px;
margin:02px;
background-color:#bbb;
border-radius:50%;
display:inline-block;
transition:background-color0.6sease;
}
.active,.dot:hover{
background-color:#717171;
}
/*淡出动画*/
.fade{
-webkit-animation-name:fade;
-webkit-animation-duration:1.5s;
animation-name:fade;
animation-duration:1.5s;
}
@-webkit-keyframesfade{
from{opacity:.4}
to{opacity:1}
}
@keyframesfade{
from{opacity:.4}
to{opacity:1}
}
js
varslideIndex=1;
functionplusSlides(n){
showSlides(slideIndex+=n);
}
functioncurrentSlide(n){
showSlides(slideIndex=n);
}
functionshowSlides(n){
vari;
varslides=document.getElementsByClassName("mySlides");
vardots=document.getElementsByClassName("dot");
if(n>slides.length){slideIndex=1}
if(n<1){slideIndex=slides.length}
for(i=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
热门推荐
-
返回顶部
-
3162201930
-
czq8825@qq.com