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

在您的代码中尝试此操作,希望对您有所帮助...

   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
于 2013-04-06T15:38:36.620 回答
0

您的代码包含大量无效的 HTML……资源管理器讨厌无效的 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,但有开放元素。
  • 未封闭的元素模块。
  • />用于非空 HTML 元素的自闭合语法 ( )。忽略斜线并将其视​​为开始标记。
  • div在此上下文中,元素模块不允许作为元素的子级。(抑制来自该子树的更多错误。)
于 2013-04-06T16:12:52.880 回答