在我的學校,我們開設了關於HTML5和CSS3的課程,其中一個部分專注於製作適合移動設備的網站。其中包含的一件事是一個預先製作的腳本,一旦你點擊漢堡菜單圖像就會顯示一堆導航鏈接。這裏是這裏的腳本:獲取漢堡包菜單以顯示導航鏈接使用Javascript
/*
Lakeland Reeds Bed and Breakfast menu toggle script
Filename: script.js
HTML5 and CSS3 Illustrated Unit I, Lessons
*/
var navButton = document.querySelector(".navigation-menu-button img");
if (navButton.addEventListener) {
navButton.addEventListener("click", function() {
var nav = document.querySelector(".sitenavigation ul");
if (nav.style.display === "block") {
nav.style.display = "";
} else {
nav.style.display = "block";
}
}, false);
}
我一直在擺弄這個腳本,並試圖將其塑造成什麼我自己的網站需要。只是你知道,.sitenavigation指的是頁面上的html元素。我們的網站沒有無序列表,因此它已經與上面的腳本爲自己的頁面設置不同。這裏是我的網站的腳本:
var navButton = document.querySelector(".img");
function showNav() {
var navBar = document.querySelector(".nav");
if (navBar.style.display === "block") {
navBar.style.display = "none";
} else {
navBar.style.display = "block";
}
}
showNav();
.img指的是漢堡菜單圖像,而.nav指的是html元素。我會使用一個事件監聽器,但是在函數的某個地方有一個錯誤。 Chrome指向第5行,並且它說:「無法在showNav讀取Null屬性'樣式'。
我是不是做一些簡單的錯誤,如果是這樣,那麼什麼是修復? 如果有更簡單的方法,那麼我很樂意聽到它。
擺脫了錯誤,但腳本仍然無法正常工作。我改變了導航元素,所以它有一個無序列表,並且它弄亂了漢堡包菜單圖像,所以我現在就放棄了它。不是將navButton分配給#hamburger,而是將其分配給nav元素。當我在正方形上打開時,沒有任何東西彈出 – Wyxe
您應該顯示HTML標記以便我們看到。如果不知道自己在做什麼,就無法提供幫助。 – Tutch