根据图片多少设置宽度的图片轮播

        *{
            margin: 0;
            padding: 0;
        }
        #outer{
            width: 400px;
            height: 400px;
            margin: auto;
            background-color: #bfa;
            padding: 10px 0;
            position: relative;
            overflow: hidden;
        }
        #imgList{
            list-style: none;
            width: 2500px;
            position: absolute;
        }
        #imgList li{
            float: left;
        }
        #nav{
            position: absolute;
            bottom: 10px;
            
        }
        #nav a{
            width: 20px;
            height: 20px;
            margin: 0 10px;
            float: left;
            background-color:red;
            opacity: 0.5;

        }
        #nav a:hover{
            background-color: cadetblue;
        }

js部分

           window.onload  = function(){
            //获取imglist的宽度
            var imgList = document.getElementById("imgList");
            //获取图片数量
            var arr = document.getElementsByTagName("img");
            //设置宽度为多少
            imgList.style.width = 400 * arr.length +"px";
            var nav = document.getElementById("nav");
            var outer =document.getElementById("outer");
            //设置nav的left值,让导航点居中
            nav.style.left = (outer.offsetWidth-nav.offsetWidth)/2 +"px";
            //默认第一章索引
            var index = 0;
            //获取所有的a
            var allA = document.getElementsByTagName("a");
            //第一个默认颜色设置
            allA[index].style.backgroundColor = "cadetblue";
            //为所有的超链接绑定响应函数
            for(var i = 0;i<allA.length;i++){
                //为每一个超链接添加一个num属性
                allA[i].num = i;
                allA[i].onclick = function(){
                    //获取点击超链接的索引
                    index = this.num;
                    //切换图片
                    imgList.style.left = -400*index +"px";
                    //修改正在被选中的a
                    setA();
                }
            };
            //方法设置选中的a 
            function setA(){
                //遍历所有的a并将背景色设置为红色
                for(var i = 0; i<allA.length ; i++){
                    allA[i].style.backgroundColor = "";
                };
                allA[index].style.backgroundColor = "cadetblue";
            }
        }

html部分

    <!-- 外部div作为容器 -->
    <div id="outer">
        <!-- 创建ul放置图片 -->
        <ul id="imgList">
            <li>
                <img src="../image/步骤1.jpg">
            </li>
            <li>
                <img src="../image/步骤2.jpg">
            </li>
            <li>
                <img src="../image/步骤3.jpg">
            </li>
            <li>
                <img src="../image/步骤4.jpg">
            </li>
            <li>
                <img src="../image/步骤5.jpg">
            </li>
        </ul>
        <div id="nav">
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;"></a>
        </div>
    </div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值