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