jquery fadeIn / Out IE问题 - 令人沮丧

时间:2011-01-13 13:28:36

标签: jquery animation

请帮助我某人,我正在失去理智。

我有绝对/相对(试过两个)定位的div所有类的框。点击我想让div淡出然后正确的淡入淡出。除了IE 6和7(有时8)之外,所有浏览器都能正常工作。它们逐渐消失,但没有任何消失。为了解决这类问题,网络遍布整个网络,但没有任何帮助。请帮忙。

这是代码

$("li#about").click(function(){
   $box.fadeOut(200);
   $("div#about").delay(800).fadeIn(800);
});

$("li#portfolio").click(function(){
    $box.fadeOut(200);
    $("div#portfolio").delay(800).fadeIn(800);
});

等......

我错过了什么?这里演示 - 死链接!

3 个答案:

答案 0 :(得分:1)

如果我正确阅读此内容,您是否有多个具有相同ID的HTML标记,即使它们是不同类型的标记?例如,li#about和div#about。如果他们有唯一的ID,Internet Explorer会更喜欢吗?

答案 1 :(得分:1)

我会在您的主导航中添加achors,以便通过键盘和JavaScript关闭时可以访问它们。然后,您可以通过执行以下操作来缩小脚本:

<div id="nav">
<ul>
    <li><a href="#about">about</a></li>
    <li><a href="#portfolio">portfolio</a></li>
    <li><a href="#social">social</a></li>
    <li><a href="#contact">contact</a></li>
</ul>

$("#nav li a").click(function(){
    $box.fadeOut(200);
    $($(this).attr('href')).delay(800).fadeIn(800);
});

答案 2 :(得分:0)

你不定义$ box。在IE中你需要定义它:

var $box = .........

您还需要使用$nav

执行此操作

EDIT 脚本中不起作用的元素是您未定义的元素