2016-09-19 9 views
0

マウスが1つの要素の上にあるときに要素が異なる背景を持ち、別の要素が現れる「種類の」メニューがあります。 マウスが最初の要素と2番目の要素の上にない場合にのみ、両方の要素を元の状態に戻す必要があります。マウスが要素の上にあるかどうかjquery check

マウスが2番目の要素の上にないかどうかを確認するにはどうすればよいですか?

<div class="container header-gallery"> 
    <ul class="col-sm-2 header-gallery-box"> 
     <li class="header-gallery-ico-box" data-tabId="tab-a"> 
      <a href=""><img src="images/gallery-learn.png" class="header-gallery-ico"></a> 
     </li> 
     <li class="header-gallery-ico-box" data-tabId="tab-b"> 
      <a href=""><img src="images/gallery-speak.png" class="header-gallery-ico"></a> 
     </li> 
     <li class="header-gallery-ico-box" data-tabId="tab-c"> 
      <a href=""><img src="images/gallery-read.png" class="header-gallery-ico"></a> 
     </li> 
     <li class="header-gallery-ico-box" data-tabId="tab-d"> 
      <a href=""><img src="images/gallery-write.png" class="header-gallery-ico"></a> 
     </li> 
    </ul> 

    <div class="col-sm-4" style="height:720px; padding:0;" > 
     <div id="tab-a" class="header-gallery-tab"> 
      <h2>Learn</h2> 
      <p> 
       From Middle English... 
      </p> 
      <h6 style="float:right;"><a href="">Read more...</a></h6> 
     </div> 
     <div id="tab-b" class="header-gallery-tab"> 
      <h2>Speak</h2> 
      <p> 
       From Middle English speken... 
      </p> 
      <h6 style="float:right;"><a href="">Read more...</a></h6> 
     </div> 
     <div id="tab-c" class="header-gallery-tab"> 
      <h2>Read</h2> 
      <p> 
       From Middle English reden... 
      </p> 
      <h6 style="float:right;"><a href="">Read more...</a></h6> 
     </div> 
     <div id="tab-d" class="header-gallery-tab"> 
      <h2>Write</h2> 
      <p> 
       From Middle English 
      </p> 
      <h6 style="float:right;"><a href="">Read more...</a></h6> 
     </div> 
    </div> 
    <a href="#section2"><img src="images/downArrow.png" style="width:60px; height:60px; text-align:center; bottom:-30px; position:absolute;"></a>  

$(function(){ 
    $('.header-gallery-ico-box').on('mouseover',function(){ 
     var tabId = $(this).attr('data-tabId'); 
     $(this).css({"background-color":"rgba(0, 0, 0, 0.5)"}); 
     $('#' + tabId).delay(10).fadeIn(30); 
    }); 
    $('.header-gallery-ico-box').on('mouseleave',function(){ 
     var tabId = $(this).attr('data-tabId'); 
     $(this).css({"background-color":"transparent"}); 
     $('#' + tabId).hide(); 
    }); 

}); 
+0

ここで、あなたは 'html' –

+0

です。ターゲットのDIVを関連する親の子として作成するには、HTMLマークアップを再考し、' mouseover'の代わりに 'mouseenter'を使います。補足として、あなたのケースでは面白いかもしれません:http://cherne.net/brian/resources/jquery.hoverIntent.html –

答えて

1

はこれを試してみてください:

if ($('#element:hover').length != 0) { 
    // do something ;) 
} 

(従って

を、それを使用するか、または使用がある)のような:

この

は私が持っているものである

var isHovered = $('#elem').is(":hover"); // returns true or false 
+0

あなたはそれをOPのケースにどうやって適用しますか? –

+0

これは新しいコードですが、現在はelemnts $( '。header-gallery-ico-box')を隠しています。on( 'mouseleave'、function(){var tabId = $(this).attr( 'data- $(this).css({"background-color": "tabId"); var isHovered = $( '#' + tabId).is( ":hover"); if(isHovered == true) ( "# '+ tabId).hide(); } }); – ALEXM

関連する問題