2010-05-27 81 views
3

我有一個固定的標題。 我想改變的不透明度時,我向下滾動,恢復時,我向上滾動(在頁面頂部) 我寫下這個簡單的腳本不透明度:滾動功能jquery

$(window).scroll(function() { 

    if(scrollY == 0){ 

    $("#header").animate({ 
    opacity: 1 
    }, 1000); 

    } 

    if(scrollY > 0){ 

    $("#header").animate({ 
    opacity: 0.5 
    }, 1000); 

    } 

}); 

居然頭採取的不透明度時,我滾動但當我滾動頁面的頂部,他永遠不會回到不透明:1。 爲什麼?

回答

2

這可能是更好的方法。在將不透明度設置爲.5之前,它會檢查#header是否已生成動畫。

此外,它將#header緩存在scroll處理程序之外的變量中。性能更好。

var $header = $('#header'); 

$(window).scroll(function() { 

    if(scrollY <= 0){ 
     $header.animate({ 
      opacity: 1 
     }, 1000); 
    } 
    if(scrollY > 0 && $header.is(':not(:animated)')){ 
     $header.animate({ 
      opacity: .5 
     }, 1000); 
    } 
}); 
+0

謝謝,它運作良好! – andrea 2010-05-27 13:21:34

+0

@andrea - 很高興幫助。 @ karim79 - 感謝+:o) – user113716 2010-05-27 13:32:07