【发布时间】:2013-03-23 19:33:33
【问题描述】:
对于我正在维护的一个 jQuery 应用程序,我最近所做的一项更改涉及采用如下代码:
$someElement.click(function (e) {
e.preventDefault();
$someOverlay.css('left', e.pageX);
$someOverlay.css('top', e.pageY);
$someOverlay.fadeIn();
});
并将其修改为:
$someElement.click(function (e) {
e.preventDefault();
$someOverlay.css({
'left': e.pageX,
'top': e.pageY
});
$someOverlay.fadeIn();
});
我在发现可以简单地将对象传递给$.css() 方法后进行了更改。当然,按照我的习惯,我必须考虑这样做的性能影响。在我看来,调用一次$.css() 比调用两次$.css() 更有效……但是,这也是 JavaScript,这是一种我不像 C# 那样精通的语言。
那么,问题:上面哪段代码是将一些 CSS 应用于元素的更高效的方式?
【问题讨论】:
-
您在客户端工作。您正在使用客户的电脑来执行此任务。如果他使用的是台式电脑,那么他的规格比您可以完成的任何任务所需的最低要求高出几个数量级。服务器端、嵌入式系统和移动/低规格系统的性能很重要。当然不是在网页上浪费工作时间的东西
-
这不是我为之苦恼的事情,我只是好奇,因此,我可以以最优化的方式编码(当然取决于具体情况)。这不是“失败”工作时间”问题,而不是“最佳实践”问题。
标签: jquery performance optimization