fadeIn()和fadeOut()innerhtml

时间:2014-03-29 03:44:18

标签: javascript jquery

我已经改写了我的问题,以便人们可以理解。

我想顺利更改div中的文本。但是,当我尝试代码时,注入的内容会过早显示。他们展示了新的innerHTML,然后淡出并淡入。任何人都可以帮助我知道为什么会这样,所以我可以解决这个问题吗?谢谢!

代码:

case 3:
    $("#cont").fadeOut()
    $("#cont").html("<p>Hello!!!!3</p>").fadeIn();  
    break;
case 4:
    $("#cont").fadeOut()
    $("#cont").html("<p>Hello!!!!4</p>").fadeIn();
    break;

3 个答案:

答案 0 :(得分:2)

尝试使用call back功能

case 3:
    $("#cont").fadeOut(400,function(){
      $(this).html("<p>Hello!!!!3</p>").fadeIn();  
    });
    break;

答案 1 :(得分:0)

如果您查看fadeIn()fadeOut()函数的文档,您会注意到其中一个参数是callback。此参数是在执行淡入淡出后将被称为的函数。尝试使用它来控制何时更改HTML。

答案 2 :(得分:0)

没有完整代码就很难,但试试这个:

var content = ''
switch(type){
  case 3:
      content = 'Hello!!!!3';
      break;
  case 4:
      content = 'Hello!!!!4';
      break;
}

 $("#cont")
   .stop() // cancel previous animations
   .fadeOut(400,
       function(){  // change text and fadeIn once fadeOut completes
          $("#cont")
              .html("<p>" + content + "</p>")
              .fadeIn(); 
       });