簡體   English   中英

在懸停事件上隱藏div

[英]on hover event hide the div

我想在懸停事件上隱藏div“樣本”,並且需要在mouseout上顯示div“樣本”

 $('.secmenu').hover(function() { $('.sample').css('opacity', '0'); if ($('.secmenu').mouseleave()) { $('.sample').css('opacity', '1'); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="" class="secmenu">click</a> <div class="sample"> hello div sample text content hello div sample text content </div> 

 $('.secmenu').mouseenter(function() {//hide div on mouse enter $('.sample').hide(); }).mouseleave(function() {//show div on mouse leave $('.sample').show(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="" class="secmenu">click</a> <div class="sample"> hello div sample text content hello div sample text content </div> 

這可以在CSS中完成。 不需要jQuery:

 .secmenu:hover + .sample { display: none; } 
 <a href="" class="secmenu">click</a> <div class="sample"> hello div sample text content hello div sample text content </div> 

hover隱藏div,在mouseleave事件中顯示div。 您需要綁定mouseleave事件,而不要將其寫入if條件。

$(document).ready(function () {

    $('.secmenu').hover(function () {

        $('.sample').css('opacity', '0');

    });
    $('.secmenu').mouseleave(function () {
        $('.sample').css('opacity', '1');
    });
});

嘗試這個:

 $('.secmenu').on('mouseenter',function() { $('.sample').css('opacity', '0'); }).on('mouseleave',function(){ $('.sample').css('opacity', '1'); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="" class="secmenu">click</a> <div class="sample"> hello div sample text content hello div sample text content </div> 

如果.sample.sample的下一個兄弟姐妹, .secmneu不需要JavaScript或jQuery。 您可以使用純CSS做到這一點。

 .sample { transition: opacity 0.25s ease; opacity: 0; } .secmenu:hover + .sample { opacity: 1; } 
 <a href="" class="secmenu">click</a> <div class="sample"> hello div sample text content hello div sample text content </div> 

根據jQuery的文檔

將一個或兩個處理程序綁定到匹配的元素,以在鼠標指針進入和離開元素時執行。

.hover(handlerIn,handlerOut)

因此,您可以這樣做( 嘗試一下 ):

$( '.secmenu' ).hover(
  function() {
    $('.sample').hide();
  },
  function() {
    $('.sample').show();
  }
);

等效於:

$( selector ).mouseenter( handlerIn ).mouseleave( handlerOut );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM