2015-11-05 107 views
0

當我將變量更改爲0時,它不起作用。爲什麼我必須使用變量而不是「0」?爲什麼我必須使用變量而不是「0」?

使用0數字而不是變量名稱,你會看到。 fiddle

$(function() { 
 

 
    var zero = 0; 
 
    $(window).scroll(function() { 
 
    var top = $(this).scrollTop(); 
 
    if (top > zero) { 
 
     $("nav").hide(); 
 
    } else if (top < zero) { 
 
     $("nav").show(); 
 
    } 
 
    zero = top; 
 
    }); 
 

 
});
body { 
 
    height: 1000px; 
 
} 
 

 
nav { 
 
    width: 100%; 
 
    height: 75px; 
 
    background: #333; 
 
    position: fixed; 
 
    top: 0; 
 
    left: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<nav></nav>

回答

1

爲什麼我必須使用變量,而不是僅僅是 「0」?

因爲您正在修改該值。這裏是你的代碼是什麼樣子,如果你試圖用替代變量的文本值:

$(window).scroll(function() { 
    var top = $(this).scrollTop(); 
    if (top > 0) { 
    $("nav").hide(); 
    } else if (top < 0) { 
    $("nav").show(); 
    } 
    0 = top; // <-- here is the problem 
}); 

顯然,最後一行是沒有意義的。您不能修改文字值。存儲一個值並隨着時間的推移修改它正是變量的用途。所以在這種情況下,你需要使用一個變量。

相關問題