【发布时间】:2012-03-19 21:38:41
【问题描述】:
我正在使用以下代码尝试将一个简单的 id='block' div 元素向下移动到页面中。但是使用警报我看到我的 move 函数使 css 顶部值在第二次调用时从 0 跳转到 1.78957e+7px:
function init()
{
var block = $('#block');
block.css( {backgroundColor:'#ff0000',
position:'absolute',
top:'0px',
left:'0px',
height:'30px',
width:'30px'});
block.vx = block.vy = 0.0001;
setTimeout(move(block,null),100);
}
function move(obj, t1)
{
if(t1==null)t1=new Date().getTime();
var t2 = new Date().getTime() - t1;
var rel_top = obj.vy*t2;
var rel_left = obj.vx*t2;
obj.css('top','+='+rel_top+'px');
setTimeout(move(obj,t2),100);
}
有什么建议可以让这个动作流畅吗?
【问题讨论】:
标签: javascript jquery css datetime animation