Моя функция запуска второго mouseleave()
событие, а не первый, в результате чего nth-child(1)
& nth-child(2)
иметь .css свойство bottom:99px
когда я хочу их использовать первый mouseleave()
событие, которое устанавливает свойство bottom:94px
JQuery Event Firing неправильно. Нужно закрыть?
I довольно уверен после некоторого исследования, что мне нужно закрыть мой (этот) оператор, чтобы, когда я вызываю его для второго раунда аргументов, он работает в новой области.?
$(document).ready(function(){
$('#rows').on('mouseenter', "div.row div:nth-child(1), div.row div:nth-child(2)",this , function() {
$('img',this).stop().animate({"bottom":"0px"}, "fast");
});
$('div',this).off("mouseleave").on("mouseleave", function() {
$('img',this).stop().animate({"bottom":"94px"}, "fast");
});
// need closure here?
$('#rows').on('mouseenter', "div.row div:nth-child(3), div.row div:nth-child(4)",this , function() {
$('img',this).stop().animate({"bottom":"0px"}, "fast");
});
$('div',this).off("mouseleave").on("mouseleave", function() {
$('img',this).stop().animate({"bottom":"99px"}, "fast");
});
});
Спасибо, Джек !!! Это имеет смысл, спасибо, что посмотрели мою проблему, благослови! –
вместо ('div', this) Я просто использую (это), и теперь он работает в рамках функции :) –
Это очень неэффективно, поскольку он удаляет и снова присоединяет слушателя 'mouseleave' каждый раз, когда есть событие mouseenter. – JMM