2013-08-07 32 views
0

我寫了這個jQuery來添加一個CSS類時,頁面滾動到它的動畫元素,但如果我刷新頁面,而該元素是動畫,而完全不觸發滾動視之內。jQuery - 這段代碼如何在不滾動的情況下執行?

其實,這是我想它是如何工作的,但我不明白它是如何工作這種方式。是不是一個.scroll綁定不應該被觸發,直到頁面滾動?

我需要弄明白這一點的原因是,當頁面刷新頁面中播放的動畫時,它看起來會切斷它的第一部分。就像在我的演示中一樣,滑塊下方的標題區域中顯示「爲什麼不添加標題...」的動畫效果從.1不透明度降至1,但由於該元素靠近頁面的頂部,所以動畫只要頁面加載就會添加,並且發生得太快,甚至幾乎看不到它。

http://bbmthemes.com/themes/smart/

<script type="text/javascript"> 
// element animation 
(function ($, document, undefined) { 

    $(window).scroll(function() { 
    var animation1 = $('.animation1').offset().top; 
    var animation2 = $('.animation2').offset().top; 
     var winTop = $(window).scrollTop(); 
     var winHeight = $(window).height()-175; 
     var winWidth = $(window).width(); 

     if(winWidth <= 750){ 
     $('.animated').addClass("opacity1"); 
     } 

     if(winTop >= (animation1-winHeight)){ 
     $('.animation1').addClass("animate-fade"); 
     } 
     if(winTop >= (animation2-winHeight)){ 
     $('.animation2').addClass("animate-fade"); 
     } 
    }); 
})(jQuery, document); 
</script> 

回答

0

對不起,我不能告訴準確,但你可以嘗試在你的事件處理程序調試的頂部添加alert('scrolling');

這將立即暫停頁面加載爲事件第一次火災,給你更多的線索頁面認爲它被滾動。這可能會發現導致它的原因。

但是,是的,你是在想,一個.scroll不會被觸發頁面加載正確的。

相關問題