【发布时间】:2011-07-09 19:40:11
【问题描述】:
我需要将一个 div 从屏幕的右侧移动到左侧,但是同时使用经典的 JS 和 jQuery 会使它变得生涩:
我的 div:
<div class="lisp" id="lisp0" style="top:100px;">)</div>
<div class="lisp2" id="lisp1" style="top:300px;">)</div>
经典的javascript方法:
function move()
{
pos = parseInt($("#lisp1").css("right"));
$("#lisp1").css("right", pos+10+"px");
}
var interval = setInterval("move()",10);
jQuery 方法:
$("#lisp0").animate({"left": "-=2200px"}, 10000);
我创建了一个webpage 来向您展示它的生涩程度。第一步是使用 jQuery(最流畅的),第二步是使用经典 JS。有几个 div(和经典 JS),it starts to be really annoying.
我尝试修改jQuery.fx.interval,但并没有真正提高性能。
所以我的问题是:让这些 div 顺利移动的最佳方法是什么?
【问题讨论】:
-
这对我来说看起来很流畅。你使用的是什么浏览器?没有什么可以让 IE7 更快/更流畅,而且 IE8 也会变得非常缓慢和笨重。
-
我在 Ubuntu 10.10 下的 Chromium 和 Firefox 上尝试过。我没有在 Windows 上尝试过,但我认为它可能没有帮助。
-
嗯,它在 Chrome 上并不完美,但对我来说似乎并没有那么糟糕。不幸的是,到今天为止,世界上的浏览器还没有成为理想的动画平台。很多人还在使用他们 1999 年的电脑……
-
你可以做很多事情来优化你的代码,比如在经典方法中存储对象和位置值;当您在屏幕上为大量对象设置动画时,这会更好。
-
“存储对象”是什么意思?
标签: javascript jquery html jquery-animate move