日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

两个div叠加触发事件发生闪烁问题

發(fā)布時間:2025/5/22 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两个div叠加触发事件发生闪烁问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天遇到一個問題,想實現(xiàn)一個功能:

當鼠標移到div1上的時候,會出現(xiàn)div2。出現(xiàn)時div2在div1的上面,div2在出現(xiàn)后發(fā)生閃爍的問題。

于是開始找問題根源,發(fā)現(xiàn)原來是因為當我們觸發(fā)div1的時候,div2出現(xiàn),但是div2是存在于div1上面的,所以當div2出現(xiàn)后,會又一次觸發(fā)下面div1的事件。通常我們可能給的事件是mouseover和mouseout,因為兩個div疊加,div2出現(xiàn)時會多次觸發(fā)div1的事件,所以就會發(fā)生閃爍問題。

解決:

1.一開始換mouseentermouseleave,但是發(fā)現(xiàn)還是一樣的問題。

注:

mouseover()mouseout() ??表示鼠標移入和移出的時候觸發(fā),穿過子元素也會觸發(fā)

?

mouseenter()mouseleave() ??表示鼠標穿過和穿出時候觸發(fā),穿過子元素不會觸發(fā)

?

2.然后又添加e.stopPropagation();阻止冒泡和e.preventDefault();阻止默認事件,還是沒有對癥。

注:

e.stopPropagation();???//阻止冒泡之后,就不會形成冒泡向上傳遞了。

?

e.preventDefault(); ???//阻止默認行為

3.最后換為切換事件toggle切換事件也不頂事兒。

4.最終,如果想用js解決這個問題可能不容易,用js基本都會發(fā)生閃爍問題。那么我們使用css方式是不是可以解決呢?網(wǎng)上查了很多資料,發(fā)現(xiàn)也有很多人遇到這個問題,使用的是css中的hover來解決的。

具體使用方法:

給兩個div的父元素,也就是共同包裹兩個div的盒子一個hover,當父元素hover時,div2的樣式設置為display:block;于是就順利解決了這個問題,不會再出現(xiàn)閃爍問題。

下面上代碼:

html部分:

?

<div class="fudiv"><span class="div1"><img src="img/jixinjia-partner1.jpg" alt=""/></span><div class="div2"><div class="box6"><img src="img/qr-code-bg1%20(1).jpg" alt="p"/></div><p>掃碼有獎</p></div> </div>

?

css部分:

.fudiv:hover .div2 {display: block; }.div2{display: none; }

原本jquery部分,這種方式會出現(xiàn)閃爍問題

<script>$(document).ready(function(){$(".div1").mouseover(function(e){e.stopPropagation();$(".div2").show();});$(".div1").mouseout(function(e){e.stopPropagation();$(".div2").toggle();});}); </script>

?

轉(zhuǎn)載于:https://www.cnblogs.com/hanyining/p/5470581.html

總結(jié)

以上是生活随笔為你收集整理的两个div叠加触发事件发生闪烁问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。