Tengo el siguiente código que se ejecuta cada 5 segundos. Sin embargo, me gustaría devolver datos diferentes cada vez.
Por ejemplo:
First interval = top level data (level.php) Second interval = top skill data (skill.php) Third interval = top magic data (magic.php)Y una vez que termine el tercer intervalo... regrese a level.php para comenzar la secuencia nuevamente
¿Alguien puede decirme cómo modificaría el código para lograr lo que quiero?
<script> var text = ""; var toplevel = function() { $.ajax({ type : 'GET', url : '/pages/level.php', success : function(data){ text = data; $("#tops").fadeOut( "normal", function() { $('#tops').html(data); $("#tops").fadeIn( "normal", function() {}); }); }, }); }; $(document).ready(function(){ setInterval(toplevel, 5000); toplevel(); }); </script>Podría tener una matriz de URL, enviar siempre la solicitud a la primera y rotar el orden de la matriz en caso de éxito:
function toplevel(urls) { return function () { $.get(urls[0]).done(function (data) { urls.push(urls.shift()); $("#tops").fadeOut("normal", function () { $('#tops').html(data).fadeIn( "normal"); }); }); } }; $(function () { var switcher = toplevel(['/pages/level.php', '/pages/skill.php', '/pages/magic.php']); setInterval(switcher, 5000); switcher(); });