jq动画实现无缝衔接轮播

实现无缝轮播,图片顺序是1-2-3-4-1,当图片播放到末尾时,用animate的最后一个参数,将left值调回0,就可以实现想要的效果了。
如果有不对或者需要优化的地方,请各位留言指正,么么哒

index部分:

<body>
	<div class="head">
		<div class="imgNav" id="imgNavId"></div>
	</div>
	<div class="navLi"></div>
	<div class="content"></div>
	<div class="footNav"></div>
</body>

css部分:

.head{
	width: 100%;
	position: relative;
}
.imgNav{
	position: absolute;
	top: 0;
	left: 0;
}
.imgNav div{
	float: left;
}

js部分:

// 图片数据
var imgs = [
	{0:'images/1.png'},
	{1:'images/2.png'},
	{2:'images/3.png'},
	{3:'images/4.png'}
];
// 获取节点
var imgNavId = $('#imgNavId');

// 获取屏幕宽度
var leng = $(window).width();

// 设置常数n 
var n = 0

// 循环加载图片
for(var i in imgs){
	imgNavId.append(
		$('<div />').append(
			$('<img />').prop('src',imgs[i][i]).css('width',leng+'px')
		)
	)
}
imgNavId.append(
	$('<div />').append(
			$('<img />').prop('src',imgs[0][0]).css('width',leng+'px')
		))
imgNavId.css('width',(imgs.length+1)*leng+'px')

var lef = imgNavId.css('left');

// 轮播动画无缝衔接
setInterval(function(){
	n++;
	if (n < 4) {
		imgNavId.animate({left:-leng*n+'px'});
	}else{
		imgNavId.animate({left:-leng*n+'px'},function(){
				imgNavId.css('left',0);
		});
		n = 0;
	};
},3000)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值