元素hover顯示浮框,浮框和元素重疊部分閃爍問題

    

     最開始遇到這個問題的時候,只是看到閃爍,下意識認爲是由於時間捕獲問題致使。而後解決思路也就一直鑽進這個裏面,致使一直解決不了。html

使用了網上說的$(div).stop().show();阻止捕獲影響到子元素。可是一直沒解決!ide

直到靜下心來看閃爍出現的位置的時候,才發現,是在div和浮框的重疊位置纔出現的。this

那麼我開始就是跑偏了!既然肯定了真正的問題,如何解決?hover mouseenter 無論使用哪一個事件,重疊部分都會觸發。.net

解決方法htm

1 笨方法,若是容許的話,能夠避免重疊,就不會出現該問題了,這也是我最早想到的,不影響用戶體驗的話,確實也算是一種方法。blog

  可是總感受這麼作有點  不爽,哈哈事件

2 後來查資料找到一種方式,就是在浮框自身也加上mouseenter事件,這樣判斷若是鼠標在浮框上面時,也顯示浮框,就解決了該問題。ip

$('.float-tip').each(function(){
  var thisTip = $(this);
  thisTip.mouseenter(function(){
   thisTip.show();
}
)
thisTip.mouseleave(function(){
   thisTip.hide();
}
)

參考思路網址:https://bbs.csdn.net/topics/390392060io

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

https://www.cnblogs.com/hanyining/p/5470581.html


小結:

結合項目的這個bug, 仍是以爲方案二改好一些,也比較清晰,最後採用了方案二。

發現問題了,沒有發現真正觸發問題的緣由時,不要瞎想!!!找到了真正的緣由,才能找到正確的解決方案。。不然是浪費時間啊

 以前項目還在用JQuery, bug仍是要改的 !

相關文章
相關標籤/搜索