事件流实现轮播图

html和css和之前的版本相同

初始化

img = [{ src:'./1_web.jpg', title: '第一张图片' },
    { src: './2_web.jpg', title: '第二张图片' },
    { src: './3_web.jpg', title: '第三张图片' }]

    const list = document.querySelector('ul') //给小圆圈整体加上事件监听
    const lis = document.querySelectorAll('.list .circle')
    const mainContainer = document.querySelector('.mainContainer')
    let timerID = 0
    // 初始化
    const imge = document.querySelector('img')
    imge.src= img[0].src
    imge.title=img[0].title

两侧按钮

 let k=0;
    const rightBtn = document.querySelector('.rightButton')
    rightBtn.addEventListener('click', function () {
        // console.log(11);
        toggle(1)
    })

    //左侧按钮
    const leftBtn = document.querySelector('.leftButton')
    leftBtn.addEventListener('click', function () {
        toggle(0)
    })

下方圆点

list.addEventListener('click',function(e){
        if(e.target.tagName=='DIV'){
            document.querySelector('.list .active').classList.remove('active')
            e.target.classList.add('active')
            // console.dir(e.target);
            k = e.target.dataset.id
            imge.src= img[k].src
            imge.title=img[k].title
        } 
        
    })

自动播放

timerID = setInterval(function(){
        toggle(1)
    },1000)
    mainContainer.addEventListener('mouseenter',function(){
        clearInterval(timerID)
    })
    mainContainer.addEventListener('mouseleave',function(){
        timerID = setInterval(function(){
            toggle(1)
    },1000)
    })

共有函数

function toggle(x){
        lis[k].classList.remove('active')
        x==1?(k==2?k=0:k++):(k==0?k=2:k--)
        imge.src= img[k].src
        imge.title=img[k].title 
        lis[k].classList.add('active')
    }

实现移除之前的,添加现在的active效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Layui 是一款非常流行的前端 UI 框架,它提供了很多实用的组件和工具,其中也包括了轮播图组件。 Layui 实现轮播图的步骤如下: 1. 引入 layui.css 和 layui.js。 ```html <link rel="stylesheet" href="layui/css/layui.css"> <script src="layui/layui.js"></script> ``` 2. 编写 HTML 代码,定义轮播图容器和轮播图图片。 ```html <div class="layui-carousel" id="carousel"> <div carousel-item> <div>图片1</div> <div>图片2</div> <div>图片3</div> <div>图片4</div> </div> </div> ``` 3. 初始化轮播图。 ```javascript layui.use(['carousel'], function(){ var carousel = layui.carousel; //建造实例 carousel.render({ elem: '#carousel', width: '100%', height: '200px', // 轮播图高度 arrow: 'always', // 始终显示左右箭头 interval: 3000, // 图片切换时间间隔 anim: 'fade' // 切换动画方式:fade-淡入淡出,default-普通切换 }); }); ``` 4. 定义轮播图样式。 ```css .layui-carousel { position: relative; overflow: hidden; } .layui-carousel .layui-carousel-ind { position: absolute; left: 0; bottom: 10px; width: 100%; text-align: center; z-index: 10; } .layui-carousel .layui-carousel-ind ul li { display: inline-block; width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background-color: #ccc; cursor: pointer; } .layui-carousel .layui-carousel-ind ul li.layui-this { background-color: #000; } ``` 通过以上步骤,就可以实现一个简单的 Layui 轮播图组件了。如果需要更加丰富的功能,可以参考 Layui 文档中的轮播图组件说明,进行相应配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫落于尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值