У меня есть шесть опций меню в моем веб-приложении, и когда пользователь наводит указатель мыши на ссылку (ul> li> a), я переключаю изображение, чтобы показать релевантную для контекста фотографию, и затемняю изображение.Тем не менее, я заметил, что когда пользователь быстро перемещал свою мышь между ссылками, очередь не работала должным образом, и пользователь часто зависал над ссылкой и отображал старое изображение с предыдущего наведения.После небольшого прочтения оказалось правильным использовать метод stop (), но когда я пытаюсь реализовать его, ie6 сообщает о переполнении стека.
Вот мой старый код (который имеетпроблема старого образа):
if(webImage != 'img/template/slide_web.png') {
$('#slide img').fadeOut(function() {
$(this).load(function() {$(this).fadeIn(); });
$(this).attr('src','img/template/slide_web.png');
});
А вот мой новый код (который решает старую проблему, но вызывает переполнение стека в ie6):
if(webImage != 'img/template/slide_web.png') {
$('#slide img').stop(true, true).fadeOut(function() {
$(this).load(function() {$(this).stop(true, true).fadeIn(); });
$(this).attr('src','img/template/slide_web.png');
});
Я реализуюметод stop () неверно?Или есть другой способ избежать потери очереди jQuery?