2010-01-13 216 views
4

我有位置的绝对股利的序列,说JQuery - IE6 - 如何同时淡入淡出和淡入淡出?

<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 /铬/ Safari/IE7/IE8只需简单的滑动代码,但不在IE6中。我发现在IE6中,fadeout和fadeIn不会像其他浏览器一样同时发生,fadeIn总是在fadeOut完成后开始。有任何想法吗?

+2

请不要为Internet Explorer 6开发。开发人员**必须**强制用户使用** working ** Web浏览器。 – 2010-01-13 09:27:05

+0

@Alan - 世界上的开发人员偏好远远不止于此。政治有更大的影响... – cjk 2010-01-13 09:39:29

+4

@Alan。我为拥有500多名使用IE6的员工的组织工作,因为这是公司提供的全部内容,所以必须为此进行开发。你能否建议“迫使”整个公司改变的最佳方式? @Relax正在彻底,应该正确地让他的代码在IE6上工作。统计数据显示,很多人仍在使用这个浏览器。 – 2010-01-13 09:50:22

回答

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有时会导致问题。试着给每个div一个displaynone类,而不是设置他们的样式标签。希望这会有所帮助,祝你好运!