Le meilleur moyen de se fondre dans une série de div

Disons que j’ai les div suivants:

You are funny.
You are smart.
You are cool.

Quelle est la meilleure façon de montrer div.a pendant 5 secondes, puis de div.b et de se div.b dans div.b pendant 5 secondes, puis de div.c puis de revenir à div.a et de continuer en boucle pendant une durée infinie?

Merci 🙂

Vous pouvez utiliser un tableau de valeurs et les parcourir en boucle.

 var div = $('div').hide(), news = ['news1', 'news2', 'news3'], count = 0; function changeNews() { div.fadeIn().delay(500).fadeOut(function() { changeNews(); }).text(news[count++]) if (count == news.length) { count = 0; } } changeNews(); 

Consultez l’exemple de travail sur http://jsfiddle.net/qJa3h/

Que diriez-vous d’un plugin jQuery? Je ne l’ai pas testé mais quelque chose comme ça devrait vous aider à démarrer:

 (function($) { $.fn.keepFadingToNext = function(options) { var defaults = { duration: 5000 }; var settings = $.extend({}, defaults, options); var original = this; var doAnimations = function(element) { element.fadeIn(settings.duration, function() { element.fadeOut(settings.duration, function() { var next = element.next(); if (next.length === 0) { next = original; } doAnimations(next); }); }); }; doAnimations(original); return original; }; })(jQuery) $('.a').keepFadingToNext(); // or $('.a').keepFadingToNext({ duration: 3000 });