博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript实现京东轮播图效果——自动轮播,左右按钮切换图片,小圆圈跟随图片变化,点击小圆圈可跳转图片,无缝循环播放
阅读量:3958 次
发布时间:2019-05-24

本文共 4381 字,大约阅读时间需要 14 分钟。

JavaScript实现京东轮播图效果——自动轮播,左右按钮切换图片,小圆圈跟随图片变化,点击小圆圈可跳转图片,无缝循环播放

静态效果图如下:静态效果图

  • CSS部分
*{            margin: 0;            padding: 0;        }        body{            user-select: none;        }        .banner{            position: relative;            width: 384px;            height: 470px;            margin: 50px auto;        }        .ban-image{            position: absolute;            width: 100%;            height: 100%;        }        .ban-image img{            opacity: 0;            position: absolute;            transition:1s;        }        .ban-image img.on{            opacity: 1;        }        .btn-left,.btn-right{            position: absolute;            top: 30%;            width: 45px;            margin-top: -30px;            background-color: rgba(0, 0,0, 0.5);            font-size: 18px;            text-align: center;            line-height: 60px;            color: #fff;            cursor: pointer;        }        .btn-left{            left:0px;            border-top-right-radius: 50%;            border-bottom-right-radius: 50%;        }        .btn-right{            right:0px;            border-top-left-radius: 50%;            border-bottom-left-radius: 50%;        }        .tab{            position: absolute;            bottom: 180px;            left: 15%;            transform: translateX(-50%);        }        .tab li{            float: left;            list-style: none;            width: 10px;            height: 10px;            margin-left: 5px;            border-radius: 50%;            background-color: #ccc;            cursor: pointer;        }        .tab li.on{            background-color: #f70;        }
  • HTML部分
  • JavaScript样式
var a=10;        var oBtnRight = document.querySelector('.btn-right');//获取元素的方式        var oBtnLeft = document.querySelector('.btn-left');//获取元素的方式        var aImages = document.querySelectorAll('.ban-image img');        var aTabs = document.querySelectorAll('.tab li');        var index = 0;//保存图片数组的下标              auto();//自动执行函数        //自动轮播函数        function auto(){            setInterval(function(){                aImages[index].className = '';//清空class类名                aTabs[index].style.backgroundColor = '#ccc';//也可以写成aTabs[index].className = '';                //变换index值                index ++;                index %=5;                  //设置当前样式                aImages[index].className = 'on';                aTabs[index].style.backgroundColor = '#f70';            },3000);        }                                                oBtnRight.onclick = function(){//点击事件  执行函数            //清除上一次的样式            aImages[index].className = '';//清空class类名            aTabs[index].style.backgroundColor = '#ccc';//也可以写成aTabs[index].className = '';            //变换index值            index ++;            index %=5;//如果index>=5{index =0;}               //设置当前样式            aImages[index].className = 'on';            aTabs[index].style.backgroundColor = '#f70';//也可以写成aTabs[index].className = 'on';            console.log('我点击了',aImages[index]);//测试用            console.log('我点击了',aTabs[index]);//测试用        }                oBtnLeft.onclick = function(){//点击事件  执行函数            //清除上一次的样式            aImages[index].className = '';//清空class类名            aTabs[index].style.backgroundColor = '#ccc';//也可以写成aTabs[index].className = '';            //变换index值            index --;            if(index < 0){                index =4;//注意下标从0开始            }               //设置当前样式            aImages[index].className = 'on';            aTabs[index].style.backgroundColor = '#f70';//也可以写成aTabs[index].className = 'on';            console.log('我点击了',aImages[index]);//测试用            console.log('我点击了',aTabs[index]);//测试用        }        //点击小圆点        for (var i =0;i

总:

    
Document

转载地址:http://lbozi.baihongyu.com/

你可能感兴趣的文章
有了WCF,Socket是否已人老珠黄?
查看>>
浅析 c# Queue
查看>>
c# 温故而知新: 线程篇(一)
查看>>
Python Twisted 框架中 socket通信
查看>>
TCPIP高效编程-改善网络程序的44个技巧[PDF]
查看>>
Socket经验记录
查看>>
SOCKET是多线程安全的吗? [问题点数:40分,结帖人CSDN]
查看>>
<base href=""/> 的应用
查看>>
是否可以在不同线程中不加任何同步的往某个 socket 上写?
查看>>
线程已被中止- “Thread was being aborted”
查看>>
AS3.0 正则表达式规则
查看>>
更新Svn客户端后,右键菜单中没有TortoiseSVN了
查看>>
Flash剪贴板功能
查看>>
FlashInspector 【Firefox浏览器插件,flash分析工具】
查看>>
xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题
查看>>
十个Flex/Air疑难杂症及解决方案简略
查看>>
Vector3D - AS3
查看>>
球面的纹理映射
查看>>
Flash Builder 找不到所需的 Adobe Flash Player
查看>>
Android开发配置,消除SDK更新时的“https://dl-ssl.google.com refused”异常
查看>>