其他分享
首页 > 其他分享> > 快速 学会 滚动式 轮播图

快速 学会 滚动式 轮播图

作者:互联网

滚动式 轮播图 详解

很多网页上都有轮播图来展示商品或公司的主要特色,但是这是如何实现的呢?
工作急需要用,拿过来改下就好了哦

实例告诉你:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>轮播图</title>
    <!-- 设置css样式 -->
    <style>
        *{
            margin:0;
            padding:0;
            list-style:none;
            text-decoration:none;
        }
        #banner{
            width:900px;
            height:500px;
            overflow:hidden;
            margin:25px auto;
            position:relative;
            border:1px solid black;
        }
        #imglist{
            width:5400px;
            height:500px;
        }
        #imglist li{
            width:900px;
            height:500px;
            diasplay:none;
            float:left;
        }
        #imglist img{
            width:100%;
            /*display:none;*/
        }
        #iconlist{
            position:absolute;
            right:20px;
            bottom:10px;
        }
        #iconlist li{
            border:1px solid black;
            width:25px;
            height:25px;
            line-height:25px;
            text-align:center;
            border-radius:15px;
            margin:3px;
            float:left;
            color:#fff;
            cursor:pointer;
        }
    </style>
</head>
<body>

    <div id = 'banner'>
        <ul id='imglist'>
            <li><a href=""><img src="./static/1.jpg" alt=""></a></li>
            <li><a href=""><img src="./static/2.jpg" alt=""></a></li>
            <li><a href=""><img src="./static/3.jpg" alt=""></a></li>
            <li><a href=""><img src="./static/4.jpg" alt=""></a></li>
            <li><a href=""><img src="./static/5.jpg" alt=""></a></li>
            <li><a href=""><img src="./static/1.jpg" alt=""></a></li>
        </ul>
        <ul id="iconlist">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
        </ul>
    </div>
    <!-- 设置js样式 -->
    <script>
        // 获取元素
        var imgs = document.getElementById('imglist').getElementsByTagName('a');
        var icons = document.getElementById('iconlist').getElementsByTagName('li');

        // 初始化图片位置
        var left = 0;
        imglist.style.marginLeft=left+"px"
        // 设置定时器
        var timer;
        
        run();
        function run(){
            if (left <= -4500) {
                left=0
            };
            // 位置为整张图时暂停一秒(下面是三元表达式)
            var n = (left%900==0)?1000:10;
            changeimg();
            // 计算图片下标
            var m = Math.floor(-left/900);
            changeicon(m)
            left-=10;
			//将时间设置为可变变量
            timer = setTimeout(run,n);
        }
        function changeimg(){
            imglist.style.marginLeft=left+'px';
        }
        function changeicon(m){
            for (var i = 0; i < icons.length; i++) {
                icons[i].style.backgroundColor='';   
            };
            icons[m].style.backgroundColor='orange';
        }
        // 绑定图片事件
        for (var i = 0; i < imgs.length; i++) {
            // ()(i)
            (function(i){
                imgs[i].onmouseover = function(){
                clearTimeout(timer);
                left=-i*900;
                changeimg();
                changeicon(i)  
                }
                imgs[i].onmouseout=function(){
                    run();
                }
            })(i)
            
        }
        // 绑定图标事件
        for (var i = 0; i < icons.length; i++) {
            // ()(i)
            (function(i){
                icons[i].onmouseover = function(){
                clearTimeout(timer);
                left=-i*900;
                changeimg();
                changeicon(i)  
                }
                icons[i].onmouseout=function(){
                    run();
                }
            })(i)
            
        }
    </script>
</body>
</html>

标签:轮播,imglist,height,width,25px,学会,滚动式,left
来源: https://blog.csdn.net/weixin_43474646/article/details/88131462