我創建了一些JavaScript,試圖保持導航按鈕處於活動狀態。我意識到這已被問了幾次,但我認爲我的代碼是相當基本的,我試圖讓它工作,如果可能的話。我的HTML看起來像這樣:如何使選定的導航按鈕保持活動狀態
<nav>
<ul class ="nav"> <!-- Niall Added-->
<li id='active1' onclick = "doClick(1)"><%= link_to "HOME", '/' %></li>
<li id='active2' onclick = "doClick(2)"><%= link_to "MATCHES", matches_path %></li>
<li id='active3' onclick = "doClick(3)"><%= link_to "CAR POOLING", car_pooling_path %></li>
<li id='active4' onclick = "doClick(4)"><%= link_to "STATISTICS", statistics_path %></li>
<li id='active5' onclick = "doClick(5)"><%= link_to "MENTORS AREA", mentors_area_path %></li>
</ul>
</nav>
而且我的JavaScript看起來像這樣:
function doClick(x) {
if (x == 1) {
document.getElementById("active1").style.backgroundColor = '#99C262';
}
else if (x == 2) {
document.getElementById('active2').style.backgroundColor = '#99C262';
}
else if (x == 3) {
document.getElementById('active3').style.backgroundColor = '#99C262';
}
else if (x == 4) {
document.getElementById('active4').style.backgroundColor = '#99C262';
}
else if (x == 5) {
document.getElementById('active5').style.backgroundColor = '#99C262';
}
}
但是按鈕實際上沒有改變時被點擊的顏色。
有什麼建議嗎?
@NiallL CSS應該沒關係,因爲CSS的工作原理JS會覆蓋它。您的網頁是否更改網址?是否有網絡請求改變你的頁面狀態?這裏可能比簡單的CSS HTML和JS還要多,我建議刪除所有你不需要的東西,然後把它工作,然後把它放回去,直到找到破壞代碼的東西。 –
謝謝丹尼爾。我會在那工作。我試圖在這裏添加CSS作爲評論,但我不清楚。我認爲所有的建議都很棒,應該是有效的。正如你所說的,一個簡單的事實是,沒有什麼會改變我將它們放入我的代碼中,這表明還有其他事情正在發生。奇怪的是,如果我引入警報作爲JS的一部分,它工作正常。它只是不會應用JS的其餘部分。 – NiallL
好吧,我已經失去了讓這個工作的所有希望。我已經刪除了所有CSS,並嘗試了所有我能想到的內容,但這對我而言不起作用。該按鈕在一瞬間改變顏色,然後恢復爲無效顏色。在這個階段,我會採取任何區別活動按鈕的東西。可能會在最後點擊的按鈕周圍突出顯示CSS?或者我願意接受任何建議。我認爲我的問題是用於在雲9上構建頁面的腳手架,但在我的教育階段,要真實地解決這個問題已經超出了我的範圍。 – NiallL