简单的轮播图思考

自己写的轮播图不是用flex布局在同一行上的,而是用绝对定位,把盒子叠在了一起,点击下一张按钮就把下一个盒子的z-index提高,浮到最上面。

                <div class="row clearfix">
					<ul class="lun">
						<li class="item active"><img src="images/gui2.png"></li>
						<li  class="item"><img src="images/gui3.png"></li>
						<li  class="item"><img src="images/gui4.png"></li>
						<li  class="item"><img src="images/gui6.png"></li>
						<li  class="item"><img src="images/gui1.png"></li>
					</ul>
					<button type="button" class="btn" id="goPre"><</button>
					<button type="button" class="btn" id="goNext">></button>
				</div>

可以看到第一个小li多了一个active的类这个类,这个类在css中添加z-index属性

.item.active{
	opacity: 1;
	z-index: 10;
}

设计的是点击按钮就让这个类名传递给下面的小li

opacity从0-1添加过渡就可以实现下一张图片渐渐显现的轮播效果

下面是js部分

var items = document.getElementsByClassName('item');
		var goPreBtn = document.getElementById('goPre');
		var goNextBtn = document.getElementById('goNext');
		var index = 0;
		var clearActive = function(){
			for (var i = 0; i < items.length ; i++){
				items[i].className= 'item';
			}
		}
		var goIndex =function(){ 
			clearActive();
			console.log(index)
			items[index].className = 'item active';
		}
		var goNext = function(){
			if (index < 4) {
				index++;
			} else{
				index =0;
			}
			goIndex();
		}
		var goPre = function(){
			if (index == 0) {
				index=4;
			} else{
				index --; 
			}
			goIndex();
		}
		goNextBtn.addEventListener('click',function(){
			goNext();
		})
		goPreBtn.addEventListener('click',function(){
			goPre();
		})

js中没有加入stop()的函数,存在小小bug后期解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值