jQuery在超时时淡入淡出

时间:2013-02-05 08:44:29

标签: jquery timeout

这是一个非常常见的问题,但我希望淡出一些文字,改变它然后淡化它。

到目前为止我的代码是:

setTimeout(function(){
    $("#ilovequote").fadeOut( 500, function(){
     var ilovequotes = ["CSS3", "Photoshop", "AJAX", "jQuery", "Social Media API's"];
    var rand = ilovequotes[Math.floor(Math.random() * ilovequotes.length)];
    $('#ilovequote').html(rand);
        $("#ilovequote").fadeIn( 500);
    });
  }, 500);
});

但由于某种原因,这不起作用。我正在寻找这方面的帮助,基本上我想要一个足够长的时间来阅读这个单词的流畅动画。

JS FIDDLE

http://jsfiddle.net/rJDWb/

2 个答案:

答案 0 :(得分:2)

你想要这样的东西吗?

var cnt = 0;
setInterval(function(){
cnt ==4 ? cnt=0:cnt++
    $("#ilovequote").fadeOut( 500, function(){
        var ilovequotes = ["CSS3", "Photoshop", "AJAX", "jQuery", "Social Media API's"];
        var rand = ilovequotes[cnt];
        $('#ilovequote').html(rand);
        $("#ilovequote").fadeIn( 500);
    });
},1000);

jsFiddle demo here http://jsfiddle.net/BMBDd/2/

答案 1 :(得分:1)

删除额外的});

setTimeout(function () {
    $("#ilovequote").fadeOut(500, function () {
        var ilovequotes = ["CSS3", "Photoshop", "AJAX", "jQuery", "Social Media API's"];
        var rand = ilovequotes[Math.floor(Math.random() * ilovequotes.length)];
        $('#ilovequote').html(rand);
        $("#ilovequote").fadeIn(500);
    });
}, 500);

[UPDATE]:

在更新后的jsfiddle中交换最后两行(第7行和第8行)

http://jsfiddle.net/samliew/rJDWb/2/