У меня проблемы с получением анимации для остановки воспроизведения на jQuery .mouseleave
, иногда анимация останавливается, а иногда нет, если ее не остановить, ее невозможно остановить и она не отвечает на события .mouseleave
. Все остальные анимации в порядке, эта единственная с циклом и где-то явно не так.
Идентификаторы назначаются динамически (сообщения Wordpress), поэтому я обращаюсь к иерархии объектов с помощью .parents('.someClassName:first')
, а затем с помощью .find('findThisClass')
.
Кто-нибудь может понять, почему он не работает? Или есть лучшее предложение, как это сделать. Мой код ...
// Call this function from below
function pulsate(myObject) {
myObject
.parents('.index-post:first') // Find closest parent
.find('div.play-arrow') // Find child div to animate
.css({
visibility: "visible",
opacity:0
})
.fadeTo(500, 1)
.fadeTo(500, 0, function (){
pulsate(myObject); // Loop the animation
}
);
}
jQuery("#index div.index-post") // The nearest parent with an ID
.find("a") // Find the link
.mouseenter(function(){
var $self=jQuery(this);
pulsate($self); // Call function defined above
})
.mouseleave(function(){
jQuery(this)
.parents('.index-post:first') // Find closest parent
.find('div.play-arrow') // Find child div to animate
.stop()
.fadeTo(500, 0);
});