廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>延時(shí)顯示提示框</title><style>#div1 {float: left;width: 60px;height: 60px;background-color: aqua;}#div2 {position: relative;float: left;margin: 0 10px;width: 200px;height: 200px;background-color: #cccccc;display: none;}</style><script>window.onload = function () {var oDiv1 = document.getElementById('div1');var oDiv2 = document.getElementById('div2');var timer = null;// oDiv1.onmouseover = function () {// clearTimeout(timer);// oDiv2.style.display = 'block'; //鼠標(biāo)移入div1時(shí)顯示div2// };//// oDiv1.onmouseout = function () {// timer = setTimeout(function () {// oDiv2.style.display = 'none'; //鼠標(biāo)移除div1時(shí)隱藏div2// }, 500); //為了從div1移入div2,所以移出div1時(shí)div2隱藏應(yīng)該有一個(gè)延時(shí)設(shè)置// };//// oDiv2.onmouseover = function () {// clearTimeout(timer); //清除延時(shí)器設(shè)置,當(dāng)鼠標(biāo)移入div2時(shí),div2應(yīng)當(dāng)顯示// };//// oDiv2.onmouseout = function () {// timer = setTimeout(function () {// oDiv2.style.display = 'none'; //當(dāng)鼠標(biāo)移出div2時(shí),div2應(yīng)當(dāng)隱藏// }, 500); //當(dāng)鼠標(biāo)移出div2并移入div1時(shí),div2會(huì)閃爍一下再顯示,設(shè)置一個(gè)延時(shí),清除閃爍的效果;// // 但是設(shè)置延時(shí)器之后,鼠標(biāo)移入div1時(shí),div2卻隱藏了,原因是setTimeout,// // 應(yīng)當(dāng)清除延時(shí)器,在oDiv1.onmouseover事件中添加,清除延時(shí)器的代碼// };// 由于這四個(gè)事件中代碼兩兩對(duì)應(yīng)地相同或相似,可以做如下簡(jiǎn)化處理:oDiv1.onmouseover = oDiv2.onmouseover = function () {clearTimeout(timer);oDiv2.style.display = 'block';/* 鼠標(biāo)移入div1時(shí)顯示div2,雖然oDiv2.onmouseover事件中沒有寫oDiv2.style.display = 'block';但是實(shí)際上oDiv2是'block'狀態(tài),多寫一句代碼沒有實(shí)質(zhì)性影響*/};oDiv1.onmouseout = oDiv2.onmouseout = function () {timer = setTimeout(function () {oDiv2.style.display = 'none'; //鼠標(biāo)移除div1時(shí)隱藏div2}, 500); //為了從div1移入div2,所以移出div1時(shí)div2隱藏應(yīng)該有一個(gè)延時(shí)設(shè)置};// 簡(jiǎn)化后的代碼執(zhí)行結(jié)果跟前面的代碼效果完全一致.}</script></head><body><h2>延時(shí)提示框</h2><div id="div1"></div><div id="div2"></div></body></html>
延時(shí)提示框編寫時(shí)需要注意的點(diǎn)都記錄在注釋當(dāng)中,逐個(gè)對(duì)照注意一下,這個(gè)功能看過視頻教程之后實(shí)現(xiàn)起來比較順暢,原因是在編寫代碼之前對(duì)所需功能做了一個(gè)列表按照列表一一實(shí)現(xiàn),出現(xiàn)問題再進(jìn)行相應(yīng)的調(diào)整比上來直接寫代碼強(qiáng)多了。
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注