中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-09-15 14:17:15 來源:億速云 閱讀:122 作者:柒染 欄目:web開發

如何解決兩個div疊加觸發事件發生閃爍的問題,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

當鼠標移到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復制內容到剪貼板

  1. <

  2. 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部分:

CSS Code復制內容到剪貼板


  1. .fudiv:hover .div2 {   
             display: block;   
    }   
      
    .div2{   
              display: none;   
    }  
    原本jquery部分,這種方式會出現閃爍問題
    JavaScript Code復制內容到剪貼板
    <script>   
        $(document).ready(   
                function(){   
                    $(".div1").mouseover(   
                            function(e){   
                                e.stopPropagation();   
                                $(".div2").show();   
                            }   
                    );   
                    $(".div1").mouseout(   
                            function(e){   
                                e.stopPropagation();   
                                $(".div2").toggle();   
                            }   
                    );   
                }   
        );   
    </script>

看完上述內容,你們掌握如何解決兩個div疊加觸發事件發生閃爍的問題的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

勃利县| 平和县| 高唐县| 政和县| 浮山县| 黄梅县| 井陉县| 德保县| 工布江达县| 汝南县| 得荣县| 香港| 马山县| 渭源县| 鹤岗市| 垦利县| 郑州市| 确山县| 彭泽县| 兰考县| 闸北区| 三河市| 阿克苏市| 榆林市| 阳朔县| 德兴市| 乌兰察布市| 宁国市| 哈密市| 崇阳县| 喀什市| 咸丰县| 城市| 利川市| 夏河县| 当雄县| 托克托县| 张北县| 九寨沟县| 泰安市| 尉氏县|