JS-案例-三种轮播图写法(二)

第二种

点击右侧小图,对应大图变换类型

CSS编写样式,JS构建点击事件函数

css样式

 <style>
        body{
            margin: 0;padding: 0;}
        div{
            width:100%;
            height: 455px;
            background-image:url("./img/a.jpeg");
            background-size: 100% 100%;
            transition: all 1s;
        }

        img{
            position: absolute;
            display: block;
            right: 50px;
            top: 40px;
            border: 2px solid rgba(0,0,0,0);
        }
        img:nth-child(1){
            border: 2px solid #ff9d00;
        }
        img:nth-child(2){
            top: 121px;}
        img:nth-child(3){
            top:202px;}
        img:nth-child(4){
            top: 283px;}
        img:nth-child(5){
            top: 364px;}
    </style>

html结构

 <div>
        <img src="img/icon_a.jpeg">
        <img src="img/icon_b.jpeg">
        <img src="img/icon_c.jpeg">
        <img src="img/icon_d.jpeg">
        <img src="img/icon_e.jpeg">
    </div>

初始状态函数,获取所有img并建立点击事件

 <script>
        var pre;
        var imgArr=["./img/a.jpeg","./img/b.jpeg","./img/c.jpeg","./img/d.jpeg","./img/e.jpeg"];
        init();
        function init() {
            var imgs=document.getElementsByTagName("img");
            for (var i=0;i<imgs.length;i++){
                imgs[i].addEventListener("click",clickHandler);
            }
            pre=imgs[0];
        }

点击事件函数,大图变换,边框变换

  function clickHandler(e) {
            var arr=Array.from(this.parentElement.children);
            var div=document.querySelector("div");
            var index=arr.indexOf(this);
            div.style.backgroundImage="url("+imgArr[index]+")";
            pre.style.border="2px solid rgba(0,0,0,0)";
            pre=this;
            pre.style.border="2px solid #ff9d00";

        }
    </script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值