0
如果我用mouseenter/mouseout事件循環播放具有相同類的不同元素,並且試圖合併'this'關鍵字,以便JS只觸發元素I'徘徊在。儘管如此,我還是無法使用它。參考具有'this'的單個類元素
我已經剔除了使用'this'關鍵字來使代碼更易於閱讀的嘗試。我該如何去做,以便只有被鼠標懸停的元素纔有鼠標事件,然後將鼠標移出事件應用於它,同時循環元素?
我無法使用jQuery解決方案。
codepen筆:https://codepen.io/emilychews/pen/mMEEBw
代碼如下:
JS
// declare variable for the CSS class
var menuItem = document.querySelectorAll('.menu-item');
//loop through CSS class to change background to red
function myMouseEnter() {
for (i = 0; i < menuItem.length; i++) {
menuItem[i].style.background = "red";
}
}
//loop through CSS class to change remove red background
function myMouseLeave() {
for (i = 0; i < menuItem.length; i++) {
menuItem[i].style.background = "none";
}
}
//event handler to add function on mouseenter
for (j = 0; j < menuItem.length; j++) {
menuItem[j].addEventListener('mouseenter', myMouseEnter, false)
}
//event handler to add function on mouseout
for (k = 0; k < menuItem.length; k++) { menuItem[k].addEventListener('mouseout', myMouseLeave, false)
}
CSS
.menu-item {padding: 10px;
font-family: arial;
}
HTML
<ul class="unclick--menuitems">
<li class="menu-item"><a href="//google.com">About</a></li>
<li class="menu-item"><a href="//google.com">Projects</a</li>
<li class="menu-item"><a href="//google.com">Contact</a></li>
</ul>
非常感謝你,這是一個偉大的/翔實的答案。 –