最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JS轻松实现轮播图

来源:动视网 责编:小采 时间:2020-11-27 19:54:07
文档

JS轻松实现轮播图

JS轻松实现轮播图:这次给大家带来JS轻松实现轮播图,JS轻松实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。思路: 1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片 2、Container内有个放图片的l
推荐度:
导读JS轻松实现轮播图:这次给大家带来JS轻松实现轮播图,JS轻松实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。思路: 1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片 2、Container内有个放图片的l


这次给大家带来JS轻松实现轮播图,JS轻松实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。

思路:

1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片
2、Container内有个放图片的list进行position的定位 ,其中的图片采用float的方式,同时当图片进行轮播时,改变list的Left值使得其显示的图片发生变化。
3、图片的轮播使用定时器,通过定时器改变list的Left值是的图片循环展示
4、当鼠标滑动到图片上时,清除定时器,图片停止轮播,当鼠标移出时继续进行轮播
5、图片上有一组小圆点用于与当前显示的图片相对应,同时可以通过点击的方式查看对应的图片
6、图片可以通过点击进行左右滑动显示

代码:

<!DOCTYPE html>
<htmllang="en">
<head>
 <metacharset="UTF-8">
 <title>轮播图</title>
 <styletype="text/css">
 .container{
 margin:0 auto;
 width:600px;
 height:400px;
 position: relative;
 overflow: hidden;
 border:4px solid gray;
 box-shadow: 3px 3px 5px gray;
 border-radius:10px;
 }
 .list{
 width:4200px;
 height:400px;
 position: absolute;
 top:0px;
 }
 img{
 float:left;
 width:600px;
 height:400px;
 }
 .dots{
 position: absolute;
 left:40%;
 bottom:30px;
 list-style: none;
 }
 .dots li{
 float:left;
 width:8px;
 height:8px;
 border-radius: 50%;
 background: gray;
 margin-left:5px
 }
 .dots .active{
 background: white;
 }
 .pre,.next{
 position: absolute;
 top:40%;
 font-size:40px;
 color:white;
 text-align:center;
 background: rgba(128,128,128,0.5);
 /* display:none;*/
 }
 .pre{
 left:30px;
 }
 .next{
 right:30px;
 }
 </style>
</head>
<body>
 <pclass="container">
 <pclass="list"style=" left:-600px;">
 <imgsrc="img/5.jpg">
 <imgsrc="img/1.jpg">
 <imgsrc="img/2.jpg">
 <imgsrc="img/3.jpg">
 <imgsrc="img/4.jpg">
 <imgsrc="img/5.jpg">
 <imgsrc="img/1.jpg">
 </p>
 <ulclass="dots">
 <liindex=1class="active dot"></li>
 <liindex=2class="dot"></li>
 <liindex=3class="dot"></li>
 <liindex=4class="dot"></li>
 <liindex=5class="dot"></li>
 </ul>
 <pclass="pre"><</p>
 <pclass="next">></p>
 </p>
<scripttype="text/javascript">
 var index=1,timer;
 function init(){
 eventBind();
 autoPlay();
 }
 init();
 function autoPlay(){
 timer =setInterval(function () {
 animation(-600);
 dotIndex(true);
 },1000)
 }
 function stopAutoPlay() {
 clearInterval(timer);
 }
 function dotIndex(add){
 if(add){
 index++;
 }
 else{
 index--;
 }
 if(index>5){
 index = 1;
 }
 if(index<1){
 index=5;
 }
 dotActive();
 }
 function dotActive() {
 vardots=document.getElementsByClassName("dot");
 varlen=dots.length;
 for(vari=0;i<len ;i++){
 dots[i].className="dot";
 }
 
 for(vari=0;i<len;i++){
 /*此处可以不用parseInt,当不用全等时*/
 if(index === parseInt(dots[i].getAttribute("index"))){
 dots[i].className="dot active";
 }
 }
 }
 function eventBind(){
 /*点的点击事件*/
 vardots=document.getElementsByClassName("dot");
 varlen=dots.length;
 for(vari=0;i<len;i++){
 (function(j){
 dots[j].onclick=function(e){
 varind=parseInt(dots[j].getAttribute("index"));
 animation((index - ind)*(-600));/*显示点击的图片*/
 index= ind;
 dotActive();
 }
 })(i)
 }
 /*容器的hover事件*/
 varcon=document.getElementsByClassName("container")[0];
 /*鼠标移动到容器上时,停止制动滑动,离开时继续滚动*/
 con.onmouseover=function(e) {
 stopAutoPlay();
 }
 con.onmouseout=function(e){
 autoPlay();
 }
 /*箭头事件的绑定*/
 varpre=document.getElementsByClassName("pre")[0];
 varnext=document.getElementsByClassName("next")[0];
 pre.onclick=function(e) {
 dotIndex(false);
 animation(600);
 }
 next.onclick=function(e) {
 dotIndex(true);
 animation(-600);
 }
 }
 function animation(offset){
 varlists=document.getElementsByClassName("list")[0];
 varleft=parseInt(lists.style.left.slice(0,lists.style.left.indexOf("p"))) + offset;
 if(left<-3000){
 lists.style.left="-600px";
 }
 else if(left>-600){
 lists.style.left = "-3000px";
 }
 else{
 lists.style.left = left+"px";
 }
 }
</script>
</body>
</html>

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

js正则快速记忆方法

Vue0.1代码怎么添加到Vue2.0使用

JS实现棋盘覆盖

文档

JS轻松实现轮播图

JS轻松实现轮播图:这次给大家带来JS轻松实现轮播图,JS轻松实现轮播图的注意事项有哪些,下面就是实战案例,一起来看一下。思路: 1、首先要有个盛放图片的容器,设置为单幅图片的宽高,且overflow:hidden,这样保证每次可以只显示一个图片 2、Container内有个放图片的l
推荐度:
标签: 图片 实现 js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top