.Jquery上的每个函数

.Jquery上的每个函数,jquery,each,Jquery,Each,我正在编写一些代码,希望不同的对象随着鼠标移动而旋转 代码会减慢页面速度,所以我正在尝试对其进行优化 以下是调用函数的原始代码: var arrow1 = $('#arrowD1'); var arrow2 = $('#arrowD2'); var arrow3 = $('#arrowD3'); var arrow4 = $('#arrowD4'); $(document).on('mousemove', function(e){ rotateOnMouse(e, arrow1);

我正在编写一些代码,希望不同的对象随着鼠标移动而旋转

代码会减慢页面速度,所以我正在尝试对其进行优化

以下是调用函数的原始代码:

var arrow1 = $('#arrowD1');
var arrow2 = $('#arrowD2');
var arrow3 = $('#arrowD3');
var arrow4 = $('#arrowD4');

$(document).on('mousemove', function(e){
    rotateOnMouse(e, arrow1);
    rotateOnMouse(e, arrow2);
    rotateOnMouse(e, arrow3);
    rotateOnMouse(e, arrow4);
});
与其为每个元素调用函数,我只想为具有相同类的所有元素使用一个函数:

$(document).on('mousemove', function(e){
  $('.arrow-designers').each(rotateOnMouse(e, this));
});
[更新代码笔]

语法中有什么我遗漏的吗

干杯,
T

您只调用了一次函数,并将结果传递给每个,这是行不通的。相反:

$(document).on('mousemove', function(e) {
  $('.arrow-designers').each(function(arrow) {
    rotateOnMouse(e, arrow));
  });
});

与jQuery和Lodash/下划线中的许多迭代器函数一样,您需要为每个元素传递一个函数。
f(this)
function(){f(this)}
之间有很大的区别,您只调用一次函数,然后将结果传递给
每个
,这是行不通的。相反:

$(document).on('mousemove', function(e) {
  $('.arrow-designers').each(function(arrow) {
    rotateOnMouse(e, arrow));
  });
});

与jQuery和Lodash/下划线中的许多迭代器函数一样,您需要为每个元素传递一个函数。在
f(this)
function(){f(this)}

之间有一个很大的区别,现在对我来说,如何使用函数执行语法更为合理,尽管代码仍然不适合我。我添加了我的代码笔,所以你可以看到它是如何工作的。在编写JavaScript时,请始终打开错误控制台。我得到了“pw.offset不是一个函数。”在你的代码中。现在对我来说,如何使用函数进行语法变得更有意义,尽管代码仍然不适合我。我添加了我的代码笔,所以你可以看到它是如何工作的。在编写JavaScript时,请始终打开错误控制台。我得到“pw.offset不是一个函数”和你的代码。