1

jQueryに詳しい方に質問です。まず、次の HTML コードがあります。

<div id="Layer-69" class="nav-bar nav-links"  >
  <a href="#" title="NOSOTROS" class="nosotros">NOSOTROS</a>
</div>
<div id="nosotros-menu">
  <ul>
    <li><a href="#" title="Quienes Somos?">Quienes Somos?</a></li>
    <li><a href="#" title="Reseña Historica">Reseña Historica</a></li>
    <li><a href="#" title="Nuestra Filosofia">Nuestra Filosofia</a></li>
  </ul>
</div>

そして、このjQueryコード:

$(document).on('ready', function(){
   $('.nosotros').on('mouseover', function(){
        $('#nosotros-menu').slideDown('fast');
   });
});

私が今持っているのは、マウスを「nosotros」a要素の上に置くと、「nosotros-menu」div要素が表示されることです。今、私がやりたいことは、ポインターが「nosotros-menu」divを離れると、このdivが非表示になることですが、それはできません。方法がわかりません。助けてください、ありがとう。

4

3 に答える 3

1

これを試して:

$(document).on('ready', function(){
   var timeout = 0;
   $('.nosotros').hover(function(){
        $('#nosotros-menu').slideDown('fast');
   },function(){
         timeout = setTimeout(hideMenu,300);
    });

   $("#nosotros-menu").hover(function(){
       clearTimeout(timeout);
   },function(){
       hideMenu();
   });
});

function hideMenu(){
    $("#nosotros-menu").slideUp('fast');
 }
于 2012-08-31T00:02:10.633 に答える
0

あなたはそのようにすることができます:

$(document).on('ready', function(){
   $('.nosotros').hover(
     function () {
       $('#nosotros-menu').slideDown('fast');
     }, 
     function () {
       $('#nosotros-menu').slideUp('fast');
     }
   );
});
于 2012-08-31T00:07:36.157 に答える
0

mouseover イベントを使用する代わりに、hover イベントにバインドします。ホバーでは、ユーザーのマウスが入ったときと離れたときの 2 つの関数を指定すると、jquery がそれらを結び付けます。最初の関数内で、slideDown アクションを実行してから、2 番目の関数で、slideUp アクションを実行します。

于 2012-08-30T23:56:48.280 に答える