2014-01-23 4 views
0

Я использую http://www.justinaguilar.com/animations/index.html в проекте и не могу заставить анимацию активироваться при прокрутке. Анимация начинается, как только я загружаю эту страницу.Активация анимации на прокрутке

http://jsfiddle.net/m2phK/

$(window).scroll(function() { 
    $('#object').each(function(){ 
    var imagePos = $(this).offset().top; 

    var topOfWindow = $(window).scrollTop(); 
     if (imagePos < topOfWindow+200) { 
      $(this).addClass("fadeIn"); 
     } 
    }); 
}); 
+1

'$ ('# object'). Each (...' кажется странным, у вас есть только один элемент с этим ID, правильно? – adeneo

+0

$ .each() предназначен для работы над коллекцией объектов. вы тестировали эту часть, чтобы убедиться, что она выполнена правильно? – jskidd3

+0

Hummm, я скопировал код непосредственно из источника. Мне интересно, если я что-то пропустил? – lala

ответ

0

Я изменил сценарий, так что он запускает анимацию, как только коробка входит в иллюминатор.

http://jsfiddle.net/yq3Hc/

$(window).scroll(function() { 
     $('#object').each(function(){ 
     var imagePos = $(this).offset().top; 

     var topOfWindow = $(window).scrollTop(); 
      if (imagePos < topOfWindow+imagePos) { 
       $(this).addClass("fadeIn"); 
      } 
     }); 
}); 

До того как я добавил "imagePos" была стоимость (в вашем случае 200). Это означает, что вам нужно прокрутить окно до 200px между верхней частью окна браузера и полем. Поскольку ничто не приходит после вашего ящика, и вы не можете пропустить его так далеко, вам нужно это изменить.

Надеюсь, это поможет.

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