2010-12-02 30 views
0
function updateimage(){ 
$("#fileimg").attr("src","secondimage.jpg"); 
$('#fileimg').fadeIn('slow'); 
} 
setTimeout(updateimage(), 5000); 

Ceci est le code que j'ai essayé. C'est un code pour recharger l'image toutes les 5 secondes. Mais ça ne marche pas. Je reçois cette erreur dans IE: argument invalide Pouvez-vous m'aider? Merci.Le délai d'attente ne fonctionne pas

Répondre

1

2 options.

setTimeout ("updateimage()", 5000)

ou

setTimeout(function() { 
    updateimage(); 
}, 5000); 
+0

Vous avez besoin plus d'options! :) – epascarello

+0

Quand j'ai frappé Réponse, il n'y avait pas de réponses. Quand j'ai soumis ma réponse, nous en avons 4 de plus. LOL. – Gregg

1

Essayez

setTimeout('updateimage()', 5000);

7

Vous devez passer la fonction réelle comme argument et non l'appel:

setTimeout(updateimage, 5000); 
0
setTimeout(updateimage(), 5000); 

Retirez la parenthèse de updateimage, il est donc:

setTimeout(updateimage, 5000); 
+0

Non doesn, t travailler – Thew

0

Comme d'autres ont déclaré que vous appelez mal.

Qu'est-ce que vous avez là:

function updateimage(){ 
$("#fileimg").attr("src","secondimage.jpg"); 
$('#fileimg').fadeIn('slow'); 
} 

setTimeout(updateimage(), 5000); 

Lorsqu'il est exécuté cela passera le résultat de updateImage() à l'appel setTimeout(). En tant que votre fonction retourne aucune valeur, vous êtes en effet en train de dire:

setTimeout(null, 5000); 

passer le fonction par son nom, comme si elle était une variable de ce nom, ce qui fait qu'il est.

setTimeout(updateimage, 5000); 
0

Selon la documentation Microsoft here il le paramètre doit être un pointeur de fonction ou une chaîne. Donc, les deux twerks ci-dessous vont travailler.

Méthode 1

setTimeout(updateimage, 5000); 

Méthode 2

setTimeout("updateimage", 5000); 
+0

Je ne vois pas comment cela ajoute quelque chose au-delà des réponses existantes. –