javascript - onmouseover閃爍問題 鼠標移動上去會不停的閃爍
問題描述
onmouseover里面的innerHTML加兩個p會閃爍,一個不會:
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <style>*{ margin: 0; padding: 0;}#box { width: 250px; height: 350px; border: 3px solid darkgrey;}ul li{ float: left; margin: 20px 10px; background-color: goldenrod; list-style: none;}ol { margin-top: 70px;}ol li { height: 40px; border-bottom: 1px solid gainsboro;}ol li p{ display: inline-block; margin:0 15px;} </style> <script>window.onload = function () { var box = document.getElementById(’box’); var aOl = box.getElementsByTagName(’ol’); var arrIMG = [’1.png’,’2.png’,’3.png’,’4.png’,’5.png’,’6.png’]; function lis(){//獲得所有livar olBox = null;var aOli=[];// 存放所有li元素節點for (var i=0;i<aOl.length;i++){//遍歷ol olBox = aOl[i].getElementsByTagName(’li’); for(var j=0;j<olBox.length;j++){aOli.push(olBox[j]); }}return aOli } function liHover(li,imgs){// hover時的效果for(var i=0;i<li.length;i++){ li[i].index = i; li[i].onmouseover = function () {this.innerHTML = ’<p><img src=’+imgs[li.index]+’ alt=''></p>’ +’<p>’ +’<h4>標題</h4>’ +’<p>內容內容內容內容</p>’ +’</p>’; } li[i].onmouseout = function () {this.innerHTML = this.index+1; }} } var toLi = lis(); liHover(toLi,arrIMG);} </script></head><body><p id='box'> <ul><li><h3>每日</h3></li><li><h3>每周</h3></li><li><h3>每月</h3></li> </ul> <ol><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li> </ol> <ol style='display: none'><li>111</li><li>222</li><li>3333</li><li>444</li><li>555</li><li>666</li> </ol> <ol style='display:none'><li>1aa</li><li>2aa</li><li>3aa</li><li>4aa</li><li>5aa</li><li>6aa</li> </ol></p></body></html>
問題解答
回答1:mouseover 會在鼠標移動的時候不斷觸發,導致重寫 li 里的 html 內容,改成 mouseenter 和 mouseleave 就可以了
例子可以看這個:https://jsfiddle.net/chenjsh3...
回答2:試試改成onmouseenter和onmouseleave呢
相關文章:
1. html5 - canvas中的mousedrag事件,為什么鼠標拖出canvas,然后再次移入canvas,drag事件還觸發2. html - 前端大牛都頂一下!CSS鼠標樣式問題,如圖所示3. 網頁爬蟲 - python爬蟲用BeautifulSoup爬取<s>元素并寫入字典,但某些div下沒有這一元素,導致自動寫入下一條,如何解決?4. css3 - 求教CSS圖標庫的寫法,也就是先做雪碧圖,然后寫一個css表,用的時候直接用class就可以了5. java - Android Studio 中的Service問題6. javascript - jquery怎么給select option一個點擊時觸發的事件,如圖 如果選擇自定義觸發一個時間?7. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見卻不可觸,怎么解決?8. javascript - es6擴展運算符...的問題9. node.js - 在nodejs環境中如何配置webhook以實現hexo博客的自動更新?10. node.js - vue-resource,如何改變響應格式?
