JS轮播图(一)

知识点:1 dom获取元素;

               2 通过ul的移动显示图片   info.style.marginLeft;

               3 利用setTimeout( ) ,它是属于 window 的 method, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method;

               4 索引对索引 也就是点的索引与图片的索引一致。

示例代码:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
    .block{
        width: 600px;
        height: 300px;
        border: 1px solid black;
        margin: 10px auto;
        position: relative;
        overflow: hidden;
    }
    .info{
        width: 4200px;
        height: 300px;
        margin: 0;
        padding: 0;
    }
    .animate{
        transition: all 0.5s linear;
    }
    .list{
        list-style: none;
        float: left;
        position: relative;
    }
    .list>img{
        width: 600px;
        height: 300px;
    }
    .dians{
        width: 180px;
        heigt:20px;
        position: absolute;
        bottom: 10px;
        margin-left: 220px;
    }
    .dian{
        width: 15px;
        height: 15px;
        border: 1px solid white;
        margin-left: 10px;
        border-radius: 50%;
        float: left;
        transition: all 0.5s linear;
    }
</style>
<body>
<div class="block">
    <ul class="info">
        <li class="list"><img src="./image/demo1.jpg" alt=""></li>
        <li class="list"><img src="./image/demo2.jpg" alt=""></li>
        <li class="list"><img src="./image/demo3.jpg" alt=""></li>
        <li class="list"><img src="./image/demo4.jpg" alt=""></li>
        <li class="list"><img src="./image/demo5.jpg" alt=""></li>
        <li class="list"><img src="./image/demo6.jpg" alt=""></li>
        <li class="list"><img src="./image/demo1.jpg" alt=""></li>
    </ul>
    <div class="dians">
        <div class="dian"></div>
        <div class="dian"></div>
        <div class="dian"></div>
        <div class="dian"></div>
        <div class="dian"></div>
        <div class="dian"></div>
    </div>
</div>
<script>
    var blocck=document.getElementsByClassName("block")[0];
    var info=document.getElementsByClassName("info")[0];
    var list=document.getElementsByClassName("list");
    var dian=document.getElementsByClassName("dian");
    var count=0;
    var time;
    time=setInterval("lunbo()",2000);
    blocck.onmouseenter=function (){
        clearInterval(time);
    }
    blocck.onmouseleave=function (){
        time=setInterval("lunbo()",2000);
    }
    for(var i=0;i<dian.length;i++){
        dian[i].index=i;               //索引对索引
        dian[i].addEventListener("mouseenter",function(){
            for(var k=0;k<dian.length;k++){
                dian[k].style.backgroundColor="";
            }
            this.style.backgroundColor="red";    //点的动画与图片动画一致
            info.className="info animate";
            info.style.marginLeft=-600*this.index+"px";
            count=this.index;
        });
    }
    dian[0].style.backgroundColor="red";
    function lunbo(){
        info.className="info animate";     //针对ul的移动
        dian[count].style.backgroundColor="";
        count++;
        info.style.marginLeft=-600*count+"px";
        setTimeout(function (){                 //对最后一张图切换时间的把握,当最后一张图执行完毕,回归到第一张图
            if(count>=list.length-1){
                count=0;
                info.className="info";
                info.style.marginLeft="0px";
            }
            dian[count].style.backgroundColor="red";
        },500);
    }
</script>
</body>
</html>
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值