【发布时间】:2013-01-10 20:19:11
【问题描述】:
我有一个相当长(约 100 个字段)的表单,其中包含在“快速”和“完整”引用之间切换的某些元素。这会将 75 个字段从隐藏切换为可见。目前,我通过一些简单的 jQuery 来做到这一点:
jQuery('.full_quote').show();
jQuery('.quick_quote').hide();
我意识到这可以通过使用 CSS 为我完成工作以不同的方式完成:
## Javascript:
jQuery('#quote_form').toggleClass("full_quote quick_quote");
## CSS:
form.toggle-form.full_quote .quick_quote {display: none;}
form.toggle-form.quick_quote .full_quote {display: none;}
所以大部分问题是:在性能方面使用哪个更好?
我最初的想法是,在 jQuery 中迭代结果的开销将比 CSS 花费更多的时间。但是,我没有办法对此进行测试,所以我很好奇社区的经验。
【问题讨论】:
-
我会尽可能使用 CSS。
-
对我来说听起来像是过早的优化。您需要更改 大量 个元素的显示状态,才能注意到使用任一方法的性能下降。
-
我实际上已经在 IE 中看到只有 50 个字段的表单的性能下降,其中 40 个字段被换出。当然,Firefox 和 Chrome 处理得更好。
-
@JackM.,您是否分析了代码以确定瓶颈在于
show和hide,并且不是其他循环操作?如果我不得不猜测,我会说性能很差是由于几个低效的选择器。
标签: javascript css