2012-06-19 4 views
1

Я использую это на зависания изображения:JQuery распространения парения

$('.img-style').hover (function(e) { 
    var prixPlus = $(this).closest('a').attr('data-prix'); 
    prixPlus = parseFloat(prixPlus); 
    var prixNew = prix + prixPlus; 

    $('#chgePrix').html(prixNew.toFixed(2)); 
    $('#txtapart').fadeTo('fast', 0.1); 
}, function(e) { 
    $('#chgePrix').html(prix.toFixed(2)); 
    $('#txtapart').fadeTo('fast', 1); 
}); 

Но если я быстро передать мышью 2 или более раз над изображением, $ («# txtapart») увядают в и из 2 или больше раз! Как я могу остановить распространение затухания?

Спасибо за вашу помощь ...

+0

Так это то, что вы хотите, но слишком быстро? – jcolebrand

+0

Этот снипп отлично работает, но если я быстро прохожу через 10 раз над изображением ... Мне нужна FADE-остановка, если я больше не буду на изображении (извините за мой английский!) – Chris

ответ

2

Применение stop() метода

$('#txtapart').stop(true,true).fadeTo('fast', 0.1); 

Это сила до анимации до конца. Два аргумента true очищают очередь и устанавливают анимацию в ее конечной точке, так что новая анимация может начинаться сразу же, когда другое событие инициируется триггером.

http://api.jquery.com/stop/

+0

Perfect! Большое спасибо ;-) – Chris

0

Функция вызывался на каждом наведении курсора мыши. Нет хорошего способа определить, работает ли функция в Javascript.

+1

не соответствует true в jquery-анимации, несколько способов чтобы определить, выполняется ли анимация, в том числе 'is (': animated')' – charlietfl

Смежные вопросы