无缝图片左右播放案例

3 篇文章 0 订阅
2 篇文章 0 订阅

案例效果

<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>无缝图片左右播放案例</title> 
</head>  
<style>
	.container{
		width: 600px;
		overflow: hidden;
		position:relative; 
	}
	ul{
		list-style: none;
		position:relative; 
		height: 400px;
		left:0;	
	}
	li{
		float: left;
		width: 300px;
	}
	img{
		width: 300px;
		height: 400px;
	}
</style>
<body>  

<input type="button" value="prev" id="prev">
<input type="button" value="next" id="next">
<div class="container">
	<ul>
	<li><img src="img/1.png" alt=""></li>
	<li><img src="img/2.png" alt=""></li>
	<li><img src="img/3.png" alt=""></li>
	<li><img src="img/4.png" alt=""></li>
	<li><img src="img/5.jpg" alt=""></li>
	<li><img src="img/6.jpg" alt=""></li>
	</ul>
</div>

<script type="text/javascript">
	var oUl = document.getElementsByTagName('ul')[0];
	var oLi = oUl.getElementsByTagName('li');
	var oPrev = document.getElementById('prev');
	var oNext = document.getElementById('next');
	var isNow = 0;

	oUl.innerHTML+= oUl.innerHTML;
	oUl.style.width = oLi.length * oLi[0].offsetWidth + 'px';

	oPrev.onclick = function () {
		if(isNow  == 0  ){
			isNow = oLi.length/2;
			oUl.style.left =  -oUl.offsetWidth/2 + 'px';
		}
		moveLeft(oUl,-isNow*oLi[0].offsetWidth,-(isNow-1)*oLi[0].offsetWidth);
		isNow--;
	}
	oNext.onclick = function () {
		if(isNow  == oLi.length/2 ){
			isNow = 0;
			oUl.style.left = 0;
		}
		moveLeft(oUl,-isNow*oLi[0].offsetWidth,-(isNow+1)*oLi[0].offsetWidth);
		isNow++;
	}

	function moveLeft(obj,old,now){
		
		clearInterval(obj.timer);
		obj.timer = setInterval(function () {
			var speed = (now -old) /10;
			speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);

			if(now == old){
				clearInterval(obj.timer);
			}else{
				old  += speed;
				oUl.style.left = old + 'px';
			}
 		},30)

	}
	
</script> 
</body>  
</html>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值