1

このドロップダウン メニュー内で Sprytabs が機能するようにするには、スクリプトをいくつか調整する必要がありました。FF と Chrome ではすべてが完全に機能していますが、IE9 も使用しており、メニューも開きません。ただし、IE で webdeveloper ツールを開くと、メニューは正常に機能し始めますが、ブラウザの新しいロードでは再び開きません。これがスクリプトを使用した IE のフォーカスの問題かどうかはわかりません。どんな助けでもいただければ幸いです

http://jsfiddle.net/7aSDS/53/

$(function(){

       $('#navigation_horiz ul li').bind('mouseenter',function(e){
        $('#navigation_horiz ul li').removeClass('active');
        $(this).addClass('active');
        if($(this).children('.dropdown').length>0){
            $('#navigation_horiz ul').next('.dropdown').attr('id',$(this).children('.dropdown').attr('id'));            

            $('#navigation_horiz ul').next('.dropdown').html($(this).children('.dropdown').html());
                        console.log($('#navigation_horiz ul').next('.dropdown').html());
            $('#navigation_horiz ul').next('.dropdown').slideDown(500);
            $('#navigation_horiz ul').next('.dropdown').children().css('opacity',0);
            $('#navigation_horiz ul').next('.dropdown').children().animate({opacity:0},0).animate({opacity:1},1000,'linear');
        }
    });

    jQuery.expr[':'].focus = function( elem ) {
      return elem === document.activeElement && ( elem.type || elem.href );
    };  

    $('#navigation_horiz').bind('mouseleave',function(){
        if($('#navigation_horiz ul').next('.dropdown').children().length > 0 && $('#navigation_horiz ul').next('.dropdown').attr('id')=='dropdown_login' && ($('#navigation_horiz ul').next('.dropdown').find('input').is(":focus") || $('#navigation_horiz ul').next('.dropdown').find('select').is(":focus") )){
        }else{
            $('#navigation_horiz ul li').removeClass('active');
            $('#navigation_horiz ul').next('.dropdown').delay(700).slideUp(500);
        }
    });

    $('#TabbedPanels1 .TabbedPanelsContentGroup').children().hide();
    $('#TabbedPanels1 .TabbedPanelsContentGroup').children(":eq(0)").show();

    $("#TabbedPanels1 .TabbedPanelsTabGroup li").live('click',function(){
        $(this).parent('ul').next('.TabbedPanelsContentGroup').children().hide();
        $(this).parent('ul').next('.TabbedPanelsContentGroup').children(":eq("+$(this).attr('tabindex')+")").show();
    }); 
    <!--

    //-->

});
var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
4

2 に答える 2

0

あなたのコードには無効な HTML がたくさん含まれています... Explorer は無効な HTML を嫌います。

見る:

http://validator.w3.org/check?uri=http%3A%2F%2Fjsfiddle.net%2F7aSDS%2F53%2Fshow%2F&charset=%28detect+automatically%29&doctype=Inline&group=0

私はそれらをすべて修正しますが、次のような構造エラーの修正に集中する必要があります。

  • 終了タグdivが表示されましたが、開いている要素がありました。
  • 要素モジュールが閉じられていません。
  • />非 void HTML 要素で使用される自己終了構文 ( )。スラッシュを無視して開始タグとして扱います。
  • 要素モジュールはdiv、このコンテキストでは要素の子として許可されていません。(このサブツリーからのさらなるエラーを抑制します。)
于 2013-04-06T16:12:52.880 に答える