4

我有一个位置绝对 div 序列,比如说

<div>...</div>
<div style="display:none">...</div>
<div style="display:none">...</div>
<div style="display:none">...</div>

我用 jQuery 写了一个简单的幻灯片代码

currentDiv.fadeOut('slow');
nextDiv.fadeIn('slow');

它在 FF/Chrome/Safari/IE7/IE8 中完美运行,但在 IE6 中无法正常运行。我发现在 IE6 中,fadeOut 和 fadeIn 不像其他浏览器那样同时发生,fadeIn 总是在 fadeOut 完成后开始。有任何想法吗?

4

3 回答 3

2

你检查过这个网站: http ://www.geeksucks.com/toolbox/23-jquery-fade-in-fade-out-effect.htm

? 这是一个用于 jQuery 的 goog 插件:http: //malsup.com/jquery/cycle/

于 2010-01-13T10:48:18.400 回答
2

我刚刚尝试了这个示例,并且在 IE6 中同时淡入和淡出工作:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
    $(document).ready(function(){

      $(document.body).click(function () {
        $("div#one").fadeOut("slow");
        $("div#two").fadeIn("slow");

      });

    });
</script>
<style>
  span { color:red; cursor:pointer; }
  div { margin:3px; width:80px; display:none;
    height:80px; float:left; }
  div#one { background:#f00; display:block;}
  div#two { background:#0f0; }
  div#three { background:#00f; }
</style>
</head>
<body>
<span>Click here...</span>
<div id="one"></div>
<div id="two"></div>
<div id="three"></div>
</body>
</html>

我修改了示例:http ://docs.jquery.com/Effects/animate#paramsoptions

我之前已经注意到,在实际 div 中而不是在 css 文件中或通过 jquery 将样式显示设置为 none 有时会导致问题。尝试只给每个 div 一个 displaynone 类,而不是设置它们的样式标签。希望这会有所帮助,祝你好运!

于 2010-01-13T18:42:28.657 回答
0

您是否尝试过编写自己的动画来实现淡入淡出,而不是使用提供的默认值。我不知道它会更好,但它可能值得一试。

http://docs.jquery.com/Effects/animate

于 2010-01-13T15:01:58.253 回答