动画原理与setInterval函数封装

在这里插入图片描述
如图所示,本次想做盒子的定时移动,第一个盒子以每50ms,第二三个盒子以每10ms向左移动一个像素。
样式上需将盒子绝对定位,以便后续能改变盒子的left值使其移动。
javascript上需监听其offsetleft值,并通过left修改其位置。
注意一般情况下clearInterval都写在setInterval中,以便定时检测是否达到取消定时器的条件。
代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			.w{
				width: 100px;
				height: 60px;
				margin-top: 20px ;
				position:absolute;
				left: 0;
			}
			.one{
				background-color: aqua;
				top: 20px;
			}
			.two{
				background-color: aquamarine;
				top: 100px;
			}
			.three{
				background-color: #00FFFF;
				top: 180px;
			}
		</style>
	</head>
	<body>
		<div class="one w">1</div>
		<div class="two w">2</div>
		<div class="three w">3</div>
		<script>
			var one=document.querySelector('.one');
			var two=document.querySelector('.two');
			var three=document.querySelector('.three');
			var time=setInterval(function(){
				one.style.left=one.offsetLeft+1+'px';
				if(one.offsetLeft>=400){
					clearInterval(time);
				}
			},30);
			function kind(ele,tim){
				var timer=setInterval(function(){
					ele.style.left=ele.offsetLeft+1+'px';  
/*ele.offsetLeft>=400 ele.style.left>='400px' */
					if(ele.offsetLeft>=400){
						clearInterval(timer);
					} 
				},tim);
			}
			kind(two,10);
			kind(three,10);
		</script>
	</body>
</html>


问题
ele.style.left>=‘400px’
不知道此不等式哪里有问题。。
按理来说如果一开始有通过行内样式给left赋值,后期应该能通过ele.style.left查询到其值。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值