jQuery fadeIn() 在 IE 中不起作用

Posted

技术标签:

【中文标题】jQuery fadeIn() 在 IE 中不起作用【英文标题】:jQuery fadeIn() not working in IE 【发布时间】:2011-02-13 13:48:16 【问题描述】:
$(document).ready(function() 

 //Default Action
 $(".tab_content").hide(); //Hide all content
 $("ul.tabs li:first").addClass("active").show(); //Activate first tab
 $(".tab_content:first").show(); //Show first tab content

 //On Click Event
 $("ul.tabs li").click(function() 
  $("ul.tabs li").removeClass("active"); //Remove any "active" class
  $(this).addClass("active"); //Add "active" class to selected tab
  $(".tab_content").hide(); //Hide all tab content
  var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
  $(activeTab).fadeIn("slow"); //Fade in the active content
  return false;
 );

);

在除 IE 之外的所有应用程序中都可以使用?

【问题讨论】:

而不是 return false 你应该使用 preventDefault() 嗯。我不希望任何涉及 alpha 混合的东西在 IE 中正常工作,但也许这只是因为它过去对 PNG 的支持有多糟糕...... 【参考方案1】:

您可以这样做以获得一致的行为:

var activeTab = $(this).find("a").get(0).hash;

IE 不喜欢返回 "#id",而是认为你想要返回:"http://site.com/currentPage.html#id",这对选择器不起作用 :) 我从 DOM 元素中获取 .hash,你得到的只是他 @987654326 @ 部分一致。

You can find a bit more discussion on why this happens in this question

【讨论】:

【参考方案2】:

$(this).find("a").attr("href") 为您获取目标的 HREF,而不是目标。假设您将一个 DIV 的名称放在那里的 href 中,这可能是正确的(我不知道那里有什么)。

试试alert($(this).find("a").href()) 看看你是否找到了正确的元素,或者试试.show() 看看会发生什么。

【讨论】:

以上是关于jQuery fadeIn() 在 IE 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 地址在回调中不起作用

jquery验证在IE8中不起作用

jQuery Toggle 在 IE8 中不起作用

jquery - .animate 在 IE 中不起作用

jQuery html 属性在 IE 中不起作用

Jquery 日期规则在 Firefox 和 IE 中不起作用