Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .鼠标移动和内存,我是否需要对此进行优化?_Javascript_Jquery - Fatal编程技术网

Javascript .鼠标移动和内存,我是否需要对此进行优化?

Javascript .鼠标移动和内存,我是否需要对此进行优化?,javascript,jquery,Javascript,Jquery,我在这里创建了一个简单的灯光测试演示: 当我使用Chrome开发工具记录内存使用情况时,我得到了这样的结果:,它基本上会上升到某个点,然后再次下降,然后重新开始,直到它再次达到上一个高点 这正常吗? 有没有办法优化我的代码以减少内存占用 这是我的mousemove函数: $('body').mousemove(function(e) { //2000 is half the image width/height, of course used for centering $('.ligh

我在这里创建了一个简单的灯光测试演示:

当我使用Chrome开发工具记录内存使用情况时,我得到了这样的结果:,它基本上会上升到某个点,然后再次下降,然后重新开始,直到它再次达到上一个高点

这正常吗? 有没有办法优化我的代码以减少内存占用

这是我的mousemove函数:

$('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
——应该访问速度会快一点……尽管我想这并不重要,因为现在你已经缓存了它:)这很有意义!克里斯托弗克:不用担心,很高兴这有帮助!那真的很酷。非常简单,很酷。很高兴你喜欢它:)有点烦人,可能在任何情况下都不适合用户体验,但无论如何可能会找到一些用处。