问题:每次我通过一对 mouseenter-mouseleave 事件处理程序时,我的浏览器都会变慢。
我有另一个(不相关的) reziable() 元素,这已经很慢了。但是在通过 mouseenter-mouseleave 事件进行约 50 次迭代后,resizble 变得几乎无法使用。
这就是我注意到问题的方式
场景:一堆邮票大小的 div,每个都包含用户输入。当我将鼠标悬停在它们上方时,它们会膨胀以显示全部内容,而当我将鼠标移出时,它们会再次缩小到邮票大小。
在膨胀动画(负边距)开始之前,需要进行一些计算,使用局部变量和全局变量来确定完整大小。收缩只是将边距动画化回零。
看着系统监视器,我可以看到浏览器(FF、chrome 和 opera)正在非常激烈地消耗内存,当我反复将鼠标悬停在这些框上时......
- 也删除()'ing邮票(以及它们的事件) ) 不会让浏览器再次变得更快。在我重新加载整个页面之前,它一直非常缓慢。
关于我可能做错了什么的任何想法?
PS:实际代码有几百行,所以我现在就让你免于痛苦:)
编辑:代码在这里:http
://dagfordag.dk/tegn.js 函数 tegnIkon() 创建一个 div,进行一些初始大小计算,然后附加两个事件。
之后不再绑定任何事件。