我創建了一個JavaScript下拉菜單,但在Safari和Chrome中快速模糊時,它會以閃爍的方式閃爍。這在Firefox中不是問題。當快速模糊時,JavaScript下拉菜單閃爍
我已經看到關於這個問題的帖子討論父/子問題或懸停的麻煩,但我不知道他們適用。我是JavaScript新手,這是我寫過的第一個代碼,所以我沒有真正理解這些回覆。
這是一個水平的菜單,每個欄有HTML這樣的...
<li>
<a href="#" id="dropMenu3" class="dropMenu" onclick="dropDown3()">Creations</a>
<div id="dropDiv3" class="dropDiv bar3" onmouseout="hideDiv3()">
<a href="#">Creations</a>
<a href="#">Cordie-bot</a>
<a href="#">Infinity Clock</a>
<a href="#">Steampunk Hat</a>
<a href="#">Birdfeeder</a>
</div>
</li>
和JavaScript這樣的...
function dropDown3() {
document.getElementById("dropDiv1").classList.remove("show");
document.getElementById("dropDiv2").classList.remove("show");
document.getElementById("dropDiv3").classList.toggle("show");
document.getElementById("dropDiv4").classList.remove("show");
document.getElementById("dropDiv5").classList.remove("show");
}
function hideDiv3(){
document.getElementById("dropDiv3").classList.toggle("show");
}
每個div都在它的菜單欄的頂部時,它的以便鼠標懸停在頂部也可以工作,但在設置之前我也有閃爍的問題。
我確定有很多更好的方法來編碼,但我認爲它沒有什麼大錯。除了閃爍之外,它工作得很好。所以請讓我知道是否有辦法解決它。請保持簡單。我是新手。另外,我不使用jQuery。
是否有你不使用CSS的原因? – Baruch
我用了大量的CSS來設計這個網站。我沒有把它列入這篇文章,因爲我認爲它不相關。你是否說有一種方法可以用CSS創建下拉菜單?如果是這樣的話,出於某種原因更可取?我會很有興趣知道如何做,但我想用JavaScript來解決這個問題。我目前的目標是學習JavaScript。 – sarahB