2013-10-09 55 views
0

我試圖讓我的頁腳在用戶滾動時彈出動畫,但當用戶滾動到頂部時彈出。窗口滾動來檢測頁腳動畫

我的代碼似乎適用於頁腳在您向下滾動時動畫,而不是在您返回到頂部時動畫。

此外,我試圖將它設置爲動畫,一旦您從頂部向下滾動400像素,但由於某種原因,動畫會在您滾動的那一刻發生。

$(function(){ 
    $(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").animate({"bottom" : "0px"}, 3000); 
    }else if($(window).scrollTop()>400){ 
     $("#footer").animate({"bottom" : "-150px"}, 1500); 
    } 
    }); 
}); 

歡迎所有幫助。

+0

是$(「#footer」)。animate({「bottom」:「0px」},3000);顯示或隱藏頁腳? – koenpeters

+0

它在0px處顯示頁腳,並在-150px處將頁腳拖出視圖。 – ThePagan

+0

剛剛在腳本中亂搞,並刪除了'else if'語句,並只使用了'else'。我無法進入JS小提琴,但它似乎在W3學校「自己試用」代碼框中工作。 – ThePagan

回答

0

在你的代碼說

$(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").animate({"bottom" : "0px"}, 3000); 

根據上述OPX您的評論顯示頁腳。所以這意味着一旦用戶開始滾動並且滾動的距離小於400像素,頁腳就會生成動畫。這是:第一次開始滾動。這就是爲什麼在您第一次滾動時顯示頁腳。我認爲你需要這樣做:

$(function(){ 
    $(window).scroll(function(){ 
    if ($(window).scrollTop()<400){ 
     $("#footer").stop().animate({"bottom" : "-150px"}, 3000); 
    }else { 
     $("#footer").stop().animate({"bottom" : "0px"}, 1500); 
    } 
    }); 
}); 
+0

非常好,謝謝。我得到了儘可能去除'if else'語句,但只是爲了扭轉頁腳位置完美工作。謝謝您的幫助。 – ThePagan

+0

請注意額外的.stop()調用。他們確保任何當前動畫立即停止。 IT看起來更好, – koenpeters