国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

兩個div疊加觸發事件發生閃爍問題的解決方法

2024-07-11 08:56:53
字體:
來源:轉載
供稿:網友

當鼠標移到div1上的時候,會出現div2。出現時div2在div1的上面,div2在出現后發生閃爍的問題。

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

解決:

1.一開始換mouseenter和mouseleave,但是發現還是一樣的問題。

注:

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

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

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

注:

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

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

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

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

具體使用方法:

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

下面上代碼:

html部分:

XML/HTML Code復制內容到剪貼板
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵南县| 阿拉善左旗| 襄樊市| 石城县| 武穴市| 佛学| 临夏市| 鄂托克旗| 南澳县| 深州市| 石林| 拜泉县| 潮州市| 遵义市| 大关县| 庆城县| 柘荣县| 仁怀市| 河源市| 广丰县| 长岭县| 通城县| 八宿县| 隆尧县| 泸西县| 抚顺市| 鄂托克旗| 东乡| 大渡口区| 甘泉县| 大庆市| 若羌县| 莒南县| 郸城县| 清镇市| 河间市| 邹平县| 湖州市| 新巴尔虎右旗| 新晃| 高尔夫|