2013-09-30 2 views
1

Все остальные решения имели событие FadeIn/FadeOut, вызванное наведением мыши. мое событие запускается всякий раз, когда мы прокручиваем.Остановить fadeIn и fadeOut повторять несколько раз (событие запускается с помощью прокрутки, а не зависания)

пример: here

Все другие решения на StackOverflow использовании .stop() или .stop(true,true), он работает для парения вызвало событие. Но я не могу использовать это для запуска с помощью свитка, поскольку он практически полностью устраняет эффект затухания. Это происходит потому, что «зависание» запускает событие только один раз, но «прокрутка» вызывает одно и то же событие много раз.

This пример показывает, что эффект затухания исчез, если я использую .stop(true,true).

Есть ли какое-либо решение, чтобы повторить fadeIn/fadeOut shoudnt, сохраняя при этом эффект затухания.

спасибо.

+0

что-то, как это shoudnt остановить анимацию. просто устраните повторяющиеся события. –

ответ

2

Я бы использовал: анимированный селектор только для запуска анимации замирания, если анимация не прерывается или поставлена ​​в очередь. См ниже

Edit: исправление для прерывания

$(function() { 
    $("#id_home").hide(); 
    var offset_top = 100; 
    var check_div = function (verify) { 
     var scroll_top = $(window).scrollTop(); 
     if (!$("#id_home:animated").length || verify) { 
      if (scroll_top > offset_top) { 
       $("#id_home").fadeIn(1300, function() { 
        if (!verify) check_div(true); 
       }); 
       //$("#id_home").fadeIn(1000); 
      } else { 
       $("#id_home").fadeOut(1300, function() { 
        if (!verify) check_div(true); 
       }); 
       //$("#id_home").fadeOut(1000); 
      } 
     } 
    } 
    // run our function on load 
    check_div(false); 

    // and run it again every time you scroll 
    $(window).scroll(function() { 
     check_div(); 
    }); 
}); 

http://fiddle.jshell.net/LFqMJ/4/

+0

Спасибо. Игнорируйте сделанное мной изменение. Я предполагаю, что это была ошибка в моем браузере. Сейчас он отлично работает. –