为了账号安全,请及时绑定邮箱和手机立即绑定

oDiv.offsetLeft替换成oDiv.style.left 遇到bug

var timer=null;
	function stateMove(iTarget){
		var oDiv=document.getElementById('div1');
		clearInterval(timer);
		if(oDiv.offsetLeft > iTarget){
			speed=-10;
		}else{
			speed=10
		};
		timer=setInterval(function(){
			if(oDiv.offsetLeft==iTarget){
				clearInterval(timer);
			}else{
				oDiv.style.left=oDiv.offsetLeft+speed+'px';
			};	
		},30);
	}

这段代码为什么使用 if(oDiv.offsetLeft > iTarget){    而不是使用if(oDiv.style.left> iTarget){  和目标比较 。

我试过了第二种方法  出现了一点小bug就是div在结束的时候 一直在跳动,这是为什么?  

正在回答

3 回答

style不能用来做判断

0 回复 有任何疑惑可以回复我~

谢谢!

0 回复 有任何疑惑可以回复我~

http://www.cnblogs.com/woshilee/articles/1951457.html

0 回复 有任何疑惑可以回复我~
#1

I百川 提问者

谢谢!!
2015-04-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

oDiv.offsetLeft替换成oDiv.style.left 遇到bug

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信