js轮播图片小圆点变化_简单轮播图banner(新手都会懂)

需求:一个banner,带左右按钮,底部一个小的圆形图(有几个banner的小圆圈),没有任何事件的时候,是自动滚动的;

分解流程:

  1. 既然是自动轮播,肯定会用到定时器,还需要一个变量去存轮播到第几个图了;
  2. 先写自动轮播功能,用到setInterval(),每1秒钟,i 的值也+1,相应的第几个轮播图也跟随着变化( eq(i) ),小圆圈也等同,注意 i 的值不能大于轮播图的数量,当走到最后一张图的时候(if判断),重新给 i 赋值;
  3. 左右按钮,对于左按钮,先暂停定时器,然后 i-- ;判断当 i 减到-1时,i 重新赋值=4;右按钮也相似;
  4. 当鼠标滑到小圆圈中时,获取所滑到小圆圈的索引,把索引赋值给 i ,再展示第 i 张banner;离开小圆圈的时候,重新启动定时器;
<
>

js中 我封装了2个函数(如有看不懂请私信我):

var i=0;var timer;$('.ig').eq(0).show().siblings().hide(); //默认情况下 第一张图片展示,其他隐藏cursor();//自动轮播 //左按钮$('.btn1').click(function(){ clearInterval(timer); i--; if(i==-1){ i=4; } begin();})  //右按钮$('.btn2').click(function(){ clearInterval(timer); i++; console.log(i); if(i==5){ i=0; } begin();})  //小圆圈滑进滑出$('#tabs li').hover(function(){ clearInterval(timer); i=$(this).index(); begin();},function(){ cursor();}) //展示第i个function begin(){ $('.ig').eq(i).show().siblings().hide(); $('#tabs li').eq(i).addClass('bg').siblings().removeClass();} //定时器function cursor(){ timer=setInterval(function(){ i++; if(i==5){ i=0; } begin(); },1000)}

效果图:

dc9385ce69ef21d73474de512bdf11ac.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的图轮播底部小圆点轮播的示例代码: HTML: ```html <div class="slider"> <div class="slider-container"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> <div class="slider-dots"></div> </div> ``` CSS: ```css .slider { position: relative; width: 100%; overflow: hidden; } .slider-container { position: relative; width: 300%; left: 0; transition: left 0.5s ease-in-out; } .slider-container img { width: 33.333%; float: left; } .slider-dots { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: flex; } .slider-dot { width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background-color: gray; cursor: pointer; } .slider-dot.active { background-color: black; } ``` JavaScript: ```javascript var sliderContainer = document.querySelector('.slider-container'); var sliderDots = document.querySelector('.slider-dots'); var sliderDot = document.querySelectorAll('.slider-dot'); var currentSlide = 0; var slideInterval = setInterval(nextSlide, 3000); function nextSlide() { currentSlide = (currentSlide + 1) % sliderDot.length; sliderContainer.style.left = "-" + currentSlide + "00%"; updateSliderDots(); } function updateSliderDots() { for (var i = 0; i < sliderDot.length; i++) { sliderDot[i].classList.remove('active'); } sliderDot[currentSlide].classList.add('active'); } for (var i = 0; i < sliderDot.length; i++) { sliderDot[i].addEventListener('click', function() { currentSlide = Array.prototype.indexOf.call(sliderDots.children, this); sliderContainer.style.left = "-" + currentSlide + "00%"; updateSliderDots(); clearInterval(slideInterval); slideInterval = setInterval(nextSlide, 3000); }); } ``` 这段代码实现了一个无限循环的图轮播,并在底部添加了小圆点,点击小圆点可以切换到对应的图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值