Javascript .鼠标移动和内存,我是否需要对此进行优化?
我在这里创建了一个简单的灯光测试演示: 当我使用Chrome开发工具记录内存使用情况时,我得到了这样的结果:,它基本上会上升到某个点,然后再次下降,然后重新开始,直到它再次达到上一个高点 这正常吗? 有没有办法优化我的代码以减少内存占用 这是我的mousemove函数:Javascript .鼠标移动和内存,我是否需要对此进行优化?,javascript,jquery,Javascript,Jquery,我在这里创建了一个简单的灯光测试演示: 当我使用Chrome开发工具记录内存使用情况时,我得到了这样的结果:,它基本上会上升到某个点,然后再次下降,然后重新开始,直到它再次达到上一个高点 这正常吗? 有没有办法优化我的代码以减少内存占用 这是我的mousemove函数: $('body').mousemove(function(e) { //2000 is half the image width/height, of course used for centering $('.ligh
$('body').mousemove(function(e) {
//2000 is half the image width/height, of course used for centering
$('.light-circle').css({ backgroundPosition: (e.pageX-2000)+'px '+(e.pageY-2000)+'px' });
});
谢谢。如果匹配选择器的元素
。light circle
不变,您可以进行如下优化:
var circles = $('.light-circle');
$('body').mousemove(function(e) {
//2000 is half the image width/height, of course used for centering
circles.css({ backgroundPosition: (e.pageX-2000)+'px '+(e.pageY-2000)+'px' });
});
这样,您就不会在每次鼠标移动时都查询DOM、分配新的jQuery对象等等
但是,在垃圾收集环境中,内存会先增加,然后减少,然后再增加,这是完全正常的。甚至给它一个
id
而不是class
——应该访问速度会快一点……尽管我想这并不重要,因为现在你已经缓存了它:)这很有意义!克里斯托弗克:不用担心,很高兴这有帮助!那真的很酷。非常简单,很酷。很高兴你喜欢它:)有点烦人,可能在任何情况下都不适合用户体验,但无论如何可能会找到一些用处。