Jquery fadeIn fadeOut不能在IE8中工作但在chrome,firefox中工作

时间:2011-12-13 06:35:31

标签: javascript jquery

我试图使用jquery fadeIn和fadeOut方法显示和隐藏一些元素(span),所以我使用了以下代码:

<script type="text/javascript">
$(document).ready(function(){

$("a.moretag").click(function(){
$("span.hideelement").fadeIn("slow");
$("a.moretag").fadeOut("slow");
$("a.lesstag").fadeIn("slow");
});


$("a.lesstag").click(function(){
$("span.hideelement").fadeOut("slow");
$("a.lesstag").fadeOut("slow");
$("a.moretag").fadeIn("slow");
});

});

</script>

 .....
 <span class="hideelement" style="display:none;">First</span>
 <span class="hideelement" style="display:none;">Second</span>
 .
 .
 <span class="hideelement" style="display:none;">Tenth</span>
 <a class="moretag"><strong>More</strong></a>
 <a class="lesstag" style="display:none;"><strong>Less</strong></a>
 .....

在上面的代码中,当用户点击“更多”链接时,它将显示以前隐藏的元素(显示:无),更多链接消失,并且“更少”链接显示为副词。

当我点击“更多”链接时,它工作正常意味着它消失并显示“Less”链接副。但它不显示/隐藏隐藏的跨度元素。

此代码在chrome,mozilla和IE7中运行良好,但在IE8中无效。代码有什么问题。请帮帮我。

感谢先生。

1 个答案:

答案 0 :(得分:3)

您必须在IE8使用fadeOutFadeIn。 IE9和IE7可以运行它,但是IE 8你不能制作fade动画。您可以使用show()hide();

    $(document).ready(function(){

$("a.moretag").click(function(){
$("span.hideelement").show("slow");
$("a.moretag").hide("slow");
$("a.lesstag").show("slow");
});


$("a.lesstag").click(function(){
$("span.hideelement").hide("slow");
$("a.lesstag").hide("slow");
$("a.moretag").show("slow");
});

});

在此link

尝试此功能

可以选择在IE8中使用fade effects,将display更改为inherit

示例:

 .MyDiv{
   display:inherit;
 }