speed=speed>0?Math.ceil(speed):Math.floor(speed); 向上取整没有用

来源:3-1 JS缓冲动画

一箭落旄头

2015-12-26 21:53

function getStyle(obj,attr){
	if(obj.currentStyle){
		return obj.currentStyle[attr];
	}
	else{
		return getComputedStyle(obj,null)[attr];
	}
}

function mover(){
	var box=document.getElementById("box");
	box.timer=null;
	box.onmouseover=function(){
		star(box,"width",400);
	}
	box.onmouseout=function(){
		star(box,"width",200);
	}
}


function star(obj,attr,target)
{
	clearInterval(obj.timer);
		
	obj.timer=setInterval(function(){
		
		
		
			var  who=obj.offsetWidth;
//		who=parseInt(getStyle(obj,attr));
		

		var speed=(target-who)/8;
		
		
  speed=speed>0?Math.ceil(speed):Math.floor(speed);
		
		
		if(who==target)
		{
			clearInterval(obj.timer);
			
		}
		
		document.getElementById("id1").innerHTML=who;
		document.getElementById("id2").innerHTML=speed;
		obj.style[attr]=who+speed+"px";
		
		
	},30);
	

	
}

还是395 取整了也没有   代码我一个个对了也没问题   在ie下 可以到达400没有问题  谷歌下就不行?

http://img.mukewang.com/567e9b6c0001a5e107360213.jpg


写回答 关注

2回答

  • xue111
    2015-12-29 17:22:54
    已采纳

    仅仅在搜狗试了下,可以。在谷歌没试

    一箭落旄头

    谷歌浏览器的问题 火狐也可以

    2016-01-08 10:37:33

    共 1 条回复 >

  • 慕移动9181930
    2022-03-24 21:10:37

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题