5

我正在使用各种 jquery 插件,包括延迟加载、scrollTo、图像效果以及从阅读本网站上人们的帖子中收集的各种片段。现在,所有这些效果都会从页脚触发,就像发生了延迟一样。效果就像,犹豫不决,或神经质,或不顺畅。

我已经尝试过使用文档就绪与窗口加载,并且我在标题中有一个片段来防止 FOUC,但我感觉那里存在排队问题,或者内存过载或其他问题。(这就像当您尝试使用运行太多程序的笔记本电脑时,一切都感觉又重又慢。)

尤其是在歌剧中。出于某种原因,就像 Opera 无法处理我的网站一样。

对我来说,一些 jquery 效果会造成这样的问题是没有意义的。人们玩激烈的电子游戏,没问题,但一个具有淡入淡出效果的网站突然让计算机无法处理?我的页脚代码一定有问题。

所以关于我的理论问题 -

有没有我需要开始遵循的标准做法,以确保所有这些 jquery 效果运行更顺畅,占用更少的内存,不相互冲突,或者其他什么?

4

1 回答 1

5

那么首先你需要弄清楚是的JavaScript/jQuery 代码减慢了网页还是插件。换句话说,分析您的代码。

完成后,您就可以开始优化了。有很多文章讨论优化 jQuery。

一些技巧:

  • ID 选择器本身很快,因为它们被委托给getElementById(),这由浏览器进行了大量优化。
  • 缓存 jQuery 选择器。也就是说,不要$('.class1 #id2 > child3')连续调用 10 次。将其保存在变量上,例如var $mytd

如果问题出在插件上,那么您的选择将更加有限。但是你可以尝试一些事情:

  • 确保它们被缩小以便它们快速加载(传输文件不仅需要时间,而且还需要读取,因为它们没有被编译)
  • 寻找轻量级的替代品。例如,如果您只需要淡入淡出效果,请不要包含完整的 50 kb jQuery 库。

Opera 应该非常快,至少从我听到的情况来看是这样。但是,如果您使用 IE 进行测试,预计它会很慢。他们的 JavaScript 引擎不是很好。

于 2012-06-08T22:11:49.960 回答