Internet Explorer不尊重jQuery的slideDown效果

时间:2010-02-13 07:15:52

标签: jquery

我使用Internet Explorer和jquery的最新版本。像slidedown,fadein,fadeout这样的效果不适用于谷歌Chrome浏览器,但效果很好。如何解决?

Google Chrome中的代码运行良好:

jQuery.noConflict();
jQuery(document).ready(function(){
jQuery("#form1").hide();
jQuery("#form1").fadeIn(6000, function() {
    // Animation complete.form1:mainHome:panelGroup2
});
});

2 个答案:

答案 0 :(得分:2)

这通常是重复使用ID的结果,这是无效的HTML,例如尝试针对此代码的演示:

<form id="form1">Test Content #1</form>

这适用于所有浏览器you can see it here

但是,如果重复这些ID,则会开始产生因浏览器而异的副作用,例如:

<form id="form1">Test Content #1</form>
<form id="form1">Test Content #2</form>

You can see a demo here,只有第一个与IE淡化,其他浏览器会有所不同(也取决于他们的版本)。因为ID(通过HTML规范)必须是唯一的,所以浏览器人员可以在他们的代码中自由地做出这个假设...这通常意味着哈希表中的单个条目将元素绑定到ID(这也是为什么ID查找速度非常快。一旦你违反了这个规则,有时会发生可预测的,有时非常奇怪的副作用。

作为一般规则,如果您在应该工作的内容上遇到任何跨浏览器问题,请确保您的HTML有效。您可以使用W3C Validator在此处检查您的标记:http://validator.w3.org/

答案 1 :(得分:0)

我会打开Fiddler或FireBug并确保您的脚本资源正在加载。我可以说我知道这些与IE兼容,因为我每天都会用项目测试它。