javascript - JavaScript 的扩展性如何?

标签 javascript jquery browser mootools performance

我正在研究这个旋转木马,使用 iCarousel .使用 MooTools,它可以很好地处理一些图像。然而,当我添加 70 张图片(每张约 30k)时,它停止工作得很好。花了一些时间研究 iCarousel 的代码后,它看起来相当不错且稳定。所以这让我开始思考:问题是脚本固有的问题(它在 overflow:hidden div 中激活 div)、MooTools、Ubuntu 上的 Firefox 还是 JavaScript 不能处理太多?如果是这样,多少算太多?

我想这很难说,但最好是在开始开发之前知道 JavaScript 何时会变得迟缓和无法使用。

最佳答案

查看示例代码,我注意到正在执行类似这样的操作:

 $("thumb0").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(0)});  
 $("thumb1").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(1)});  
 $("thumb2").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(2)});  
 $("thumb3").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(3)});  
 $("thumb4").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(4)});  
 $("thumb5").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(5)});  
 $("thumb6").addEvent("click", function(event){new Event(event).stop();ex6Carousel.goTo(6)}); 

如果您有 70 张图片(我假设有 70 张缩略图),这会将 70 个事件连接到 DOM。这真的没有必要,很可能是您观察到的“迟钝”行为的原因。我建议您阅读有关事件委托(delegate)的内容以及为什么这是一件好事。 :) 如果您使用的是 jQuery,这很容易通过使用 live 来完成。功能,我想 mootools 会有类似的东西。但是,如果没有,则很容易安装。我过去讨论过事件委托(delegate)herehere .

关于javascript - JavaScript 的扩展性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1175466/

相关文章:

javascript - 在 Node.js 和 express-session 中更改和刷新 session 数据

javascript - jQuery 移动 : Spacing the widgets in a page

jquery - 滚动错误时的垂直固定位置

css - 在不触发响应式样式 css 的情况下放大浏览器

iPhone 没有完全重复背景图片

javascript - 尝试在 Javascript 中根据用户输入嵌套动态生成的 JSON

Javascript if 语句在 html 页面上无法正常工作

jquery - $(this).attr ("name") 不适用于 $.post

javascript - 如果输入有带有文本缩进的隐藏文本,jquery 滚动鼠标滚轮

javascript - 如何强制每五分钟重新加载一次网页(仅在事件时)