У меня есть спрайт изображения, который на mouseenter меняет положение фона и перемещает текст поверх. При уходе с мыши положение фона и текст перемещаются влево, чтобы отобразить исходное изображение. Текст представляет собой отдельный элемент, который исходит справа, чтобы сесть за изображение после изменения положения.
Часть mouseenter работает отлично, при этом изображение и текст одновременно прокручиваются влево, но на мышином фоне, однако в хроме (и то, что кажется только хром), текст будет перемещаться первым, тогда изображение будет следуйте позже, анимация изображения стреляет намного позже, чем текст. Я прочитал несколько вопросов с .animate() в chrome, но ни одна из проблем, похоже, не связана с этим.
Есть ли что-то явно не так? Или есть просто лучший способ сделать этоJQuery animate firing late in Chrome
//animation on mouse enter
$("#featuredImage").mouseenter(function(){
$(this).animate({ backgroundPositionX:"100%" });
$("#featuredText").show("slide", { direction: "right" });
});
//animation on mouse leave
$("#featuredImage").mouseleave(function(){
$(this).animate({ backgroundPositionX:"0%" });
$("#featuredText").hide("slide", { direction: "right" });
});
Спасибо за быстрый ответ, где, как это было неисправного 9/10 с MouseLeave, с использование hover его теперь терпит неудачу 3/10, таким образом его определенно шаг в правильном направлении. Любая причина относительно того, почему это будет только срабатывать для фона в хроме? – Shamrockonov
Полезно знать, что это помогает. Сделайте + upvote. Для анимации в chrome см., Если это поможет: http://stackoverflow.com/questions/8870999/slow-javascript-animation-in-chrome –
проверьте это, если это поможет: http://api.jquery.com/jQuery.fx .interval / –