У меня горизонтальный набор из 4 изображений. Функция изменения размера работает при событии mouseover. Это означает, что если я перемещаю мышь очень быстро или медленно над этими изображениями, они будут изменять все. Из-за этого мне нужно, чтобы пользователь держал мышь в течение не менее 1,5 секунд над данным изображением, а затем продолжал изменять размер. Это неправильный код:Изменение размера изображения JQuery
$('a img').mouseover(function(){
$(this).delay(1500).animate({
width: "315px",
height: "225px",
marginLeft: "-50px"
}, 1500);
});
$('a img').mouseout(function(){
$(this).animate({
width: "210px",
height: "150px",
marginTop: "0px",
marginLeft: "0px"
}, 500);
});
Технически 'hover()' комбинирует 'mouseenter()' и 'mouseleave()' и ** не ** 'mouseover()' и 'mouseout()'. Но да, 'hover()' [полностью путь] (http://api.jquery.com/hover/). +1 – Sparky
Я не вижу, чтобы вы очищали таймер, когда мышь уходила до начала анимации. – jfriend00
Это не то, когда мышь уходит, а когда она входит, причина в том, что если вы пройдете более 10 изображений очень быстро, каждый из них очистит предыдущий таймер, так что всегда начнется через 1,5 секунды. –