1

表示/非表示は IE7 では機能しません。他のブラウザでは正常に動作します。お願い助けて。私は何か間違ったことをしていますか?

<div id="secondary_nav" class="box">                    
    <ul>    
        <li><a href="">test</a></li>
        <ul class="sub-menu" style="height: 336px; display: none;">
            <li><a href="">test</a></li>            
        </ul>
    </ul>                
</div>

 <script type="text/javascript">
$(document).ready(function() {
    $("#secondary_nav ul li").hover(function() {
            $(this).next(".sub-menu").show();
            $(this).next(".sub-menu").hover(function() {
                    $(this).show();
                }, function() {$(this).hide();}
            );
        },function() {$(this).next(".sub-menu").hide();}
    );
});
 </script>
4

3 に答える 3

1

まず、マークアップを修正する必要があります。サブメニューは、liそれを表すリンクと同じです。

<div id="secondary_nav" class="box">                    
  <ul>    
    <li>
      <a href="">test</a>
      <ul class="sub-menu" style="height: 336px; display: none;">
        <li><a href="">test</a></li>            
      </ul>
    </li>
  </ul>                
</div>

$.hover()次に、最初のオーバー状態内で追加のネストされたホバーを実行している場所にいくつかの問題があります。それもきれいにしましょう:

$(function(){
  $("#secondary_nav > ul > li").hover(
    function(){ $(".sub-menu", this).show(); },
    function(){ $(".sub-menu", this).hide(); }
  );
});

フィドル: http://jsfiddle.net/4KFac/

于 2012-05-18T23:13:21.437 に答える
0

私にとっては問題なく動作しますhttp://jsfiddle.net/Ln8ep/1/
使用してみてください$(document).ready(function() {

于 2012-05-18T23:18:06.107 に答える
0

HTML コードが壊れています。ulタグを別のタグ内に直接配置することはできませんul

于 2012-05-18T23:10:34.510 に答える