2013-02-05 80 views
0

這是一個很常見的問題,但我期待淡出一些文本,更改然後褪色它放回jQuery的淡入和淡出的超時

到目前爲止我的代碼是:

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/

+1

似乎工作:: http://jsfiddle.net/BMBDd/ –

回答

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演示http://jsfiddle.net/BMBDd/2/

+0

在setInterval中使用'setTimeout'很奇怪 – pktangyue

+0

你是對的:)在那裏修好了謝謝 – Anton

+0

正是我在找的東西,我可能只是不清楚。非常感謝你! – Barney

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); 

[更新]:

交換在更新的jsfiddle你的最後兩行(行7 & 8)

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

+0

對不起,那是從我抄它遺留下來的。不幸的是,這並不是什麼問題。 – Barney

+0

在jsfiddle.net中重新創建您的問題 - 我們需要查看是否存在其他衝突的腳本,或者檢查您是否使用了正確的選擇器。 –

+1

或者,您可能會問錯誤的問題。你是否有重複動畫?在這種情況下,使用'setInterval()' –