我想在javascript中滾動幾個像素後粘住我的菜單欄,但它不能正常工作。這是我的腳本。
JavaScript代碼:用於固定菜單位置的Javascript滾動條
window.onscroll = function() {stick()};
function stick() {
if (document.body.scrollTop || document.documentElement.scrollTop > 150) {
document.getElementById("test").style.position = "fixed";
document.getElementById("test").style.background = "blue";
} else {
document.getElementById("test").style.position = "initial";
}
}
問題:
每當我滾動甚至一個像素在我的測試ID得到固定。我試圖在if中改變scrollTop的值,但沒有效果。任何關注將不勝感激。
更新: 這裏也是使用ID的錯誤。
<script>
document.getElementById("cntnr").onscroll = function() {stick()};
function stick() {
if (document.getElementById("cntnr").scrollTop > 119) {
document.getElementById("navdwn").style.position = "fixed";
} else {
document.getElementById("navdwn").style.position = "initial";
}
}
</script>
你試過(位置)絕對而不是固定的? –
@MalithMcR他的if條件是錯誤的,當他向下滾動時總是會有代碼在if條件執行時, – Arjun
爲你的代碼創建JSfiddle –