11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour Smiley smile

J'essaye actuellement de lancer une fonction toutes les x secondes, avec la fonction setTimeout().
Voici le code :

$(document).ready(function()
{    
    function Bloc_suivant()
    {
        var nb_blocs = 3;
        var en_cours = '';
        var suivant = '';
        
        $('div').each(function()
        {
            if ($(this).hasClass('show'))
            {
                    en_cours = $(this).attr('id');

                    if (en_cours == nb_blocs)
                    {
                        suivant = '1';
                    }
                    else
                    {
                        suivant = $(this).next().attr('id');
                    }
                
                for (i=1; i<nb_blocs+1; i++)
                {
                    if ($('#'+i+'').attr('id') != suivant)
                    {
                        $('#'+i+'').hide();
                    }
                    else
                    {
                        $('#'+i+'').show();    
                    }
                }                
            }
        });

        $('#'+en_cours+'').removeClass('show');
        $('#'+suivant+'').addClass('show');

    }
        
    var obj = 'Bloc_suivant();';
    setTimeout(obj,1050);
    
});


° J'ai fait des test en changeant l'obj par window.location.reload() et ça fonctionne, donc aucun problème au niveau de la fonction timeout.
° J'ai essayé d’exécuter ma fonction Bloc_suivant() au chargement de la page, cela fonctionne aussi.

Le message d'erreur affiché dans la console est que ma fonction Bloc_suivant() n'est pas définie.

Quelqu'un aurait-il une idée ? Smiley smile

Merci d'avance.
Modifié par Seyu (10 Feb 2012 - 10:58)
C'était tout bête ... Merci pour ta réponse ;D

Cependant, est-il possible de relancer cette action en boucle ? (toutes les x secondes toujours)

Edit : J'ai trouvé, il suffit de remplacer setTimeout par setInterval avec les mêmes params.

Sujet résolu, merci Smiley cligne
Modifié par Seyu (10 Feb 2012 - 11:42)