У меня есть этот jQuery. код получает координаты, где мышь входит, смещение для начала 0:jQuery число приращение/уменьшение по пикселю, используя мышь и mousemove
var inc_X_by = 0, inc_Y_by = 0, total_X = 0, total_Y = 0;
$("#mouse_over").mouseenter(function() {
var $this = $(this),
offset = $this.offset(),
in_X = (event.clientX - offset.left),
in_Y = (event.clientY - offset.top);
затем получает координаты, как мышь движется внутрь:
$('#mouse_over').mousemove(function(e){
var mouse_X = (event.clientX - offset.left),
mouse_Y = (event.clientY - offset.top);
и дает общее приращение + или - разница:
inc_X_by = mouse_X - in_X;
inc_Y_by = mouse_Y - in_Y;
});
Затем, когда мышь покидает DIV он добавляет/отрицательное приращение к общей каждый раз:
}).mouseleave(function() {
total_X = total_X + inc_X_by;
total_Y = total_Y + inc_Y_by;
});
Здесь работает jsfiddle
На данный момент сумма всех приращений только обновления, когда мышь покидает DIV. Однако я хочу, чтобы он постоянно обновлял , когда мышь перемещается внутри. Если я отбрасываю вычисления итогов в функцию mousemove, он добавляет число inc каждый раз, когда он изменяется, то есть: если inc увеличивается на два пикселя, от 100 до 102, вместо добавления 2 добавляет 100, 101, 102 = 303 Большая разница.
Кто-нибудь знает решение?
Как noob, любой другой совет по коду также очень ценится.
Hi. Похоже, что это работает, но это не так. Это то, что я уже пробовал, как упоминалось в q. Он добавляет все «inc_X_by» КАЖДОЕ время, которое он меняет, в результате массивные числа, то есть: если inc увеличивается на два пикселя, от 100 до 102, вместо добавления 2 добавляет 100, 101, 102 = 303. Большой разница. – nathan