2013-02-10 88 views
-2

编辑:修复:谢谢大家的帮助。.animate()适用于Firefox,Chrome和IE9,但不适用于IE10(Jquery 1.8.3和1.9.1)

原来,这个问题是在CSS代码本孤儿行:

  • {过渡:所有0.2S易于; }

删除此行解决了这一问题

原贴:

我10年的沉寂后已经刚刚开始编码。我试图让一些代码工作,从页面的中间到顶部为菜单设置动画。它适用于Firefox,Chrome和IE9,但在IE10中被破坏。我已经尝试了JQuery 1.6.3和1.9.2,但没有解析。

编辑:菜单悬停在IE10中正常工作。断开,我的意思是菜单在IE10中没有动画。 IE10中的控制台没有javascript错误。点击确实在IE10中捕获的很好,因为window.location.href确实更改为appointments.html。

段:

<header id="menubar" style="top: 496px; left: 80px; width: 1360px;"> 
    <ul id="surnav"> 
    <li class="menu-hover"> <a href= 
     "index.html">Home</a> </li> 
    <li id="appointments" class="menu-hover"> <a href= 
     "#">Appointments</a> <img src="norwood_files/snav-arrow.png" width="10" height="5" /> 
     <ul class="submenu"> 
     <li>Emergencies</li> 
     </ul> 
    </li> 
    </ul> 
</header> 

的JavaScript:

$(document).ready(function() { 

if (document.URL.indexOf("index.html") >= 0) { 
    $("#menubar").css("top", "496px"); 
    $(".menu-hover").on({ 
     click: function() { 
      $("#menubar").animate({ 
       top: '50px' 
      }, "easing:swing"); 
     }, 
     mouseenter: function() { 
      $(this).children(".submenu, img").fadeIn(250); 
     }, 
     mouseleave: function() { 
      $(this).children(".submenu, img").fadeOut(250); 
     } 
    }); 

    $("#appointments").on({ 
     click: function() { 
      $("#appointments-bkg").animate({ 
       top: '-14px' 
      }, "easing:swing", function() { 
       window.location.href = "appointments.html" 
      }); 
     } 
    }); 

    $("#financial").on({ 
     click: function() { 
      $("#financial-bkg").animate({ 
       top: '-14px' 
      }, "easing:swing", function() { 
       window.location.href = "financial.html" 
      }); 
     } 
    }); 
} 
}); 

谢谢!

+1

“破”是什么意思,什么是JavaScript错误? – Sparky 2013-02-10 18:29:40

+0

控制台说什么? – Mahn 2013-02-10 18:30:58

+0

没有javascript错误。控制台没有错误 – 2013-02-10 18:34:14

回答

3

也许尝试if(window.location.href.match(/index\.html/i)而不是if(document.URL.indexOf("index.html") >= 0)除此之外,考虑到所有其他浏览器都很好,我不明白为什么它不在IE10中工作。

+0

实际上,不是使用'string.match',而是使用'/regexp/.test(string)'。它速度更快,而且正是您所需要的。 最近,'window.location'对象被改变了,因为我为一个基于iframe的XDM登录写了一些代码,由于window.location.hash()改变了它的行为(可能在更新的版本的浏览器) – 2013-02-10 18:21:55

+0

谢谢我将用此更新代码。但是,我知道,if语句在IE10中的子菜单淡出后正在触发。这可能是Jquery中的一个错误吗? – 2013-02-10 18:26:44

+0

感谢大家的帮助。 问题原来是在CSS代码中的这个孤儿行: * {transition:all 0.2s ease; } 删除此行解决了问题 – 2013-02-10 19:45:54

相关问题