Pourquoi setTimeout() la fonction s'exécute une seule fois?

Je fais un javascript bookmarklet qui se redimensionne toutes les images, périodiquement.

javascript: function x(){
    for(i=0;i<=document.getElementsByTagName('img').length;i++)
        document.getElementsByTagName('img')[i].width+=1;
};
t = window.setTimeout("x()",100);
void(0);

Mais il s'exécute une seule fois. Quel est le problème ici??

Qu'essayez-vous de réaliser? Aussi votre pour la boucle à la fin probablement destiné à être i++.
Vous ne devriez pas faire i<=document.getElementsByTagName('img').length. Vous êtes d'une nouvelle sélection de toutes les images dans le document autant de fois qu'il y a des images. Vous devriez cache de la sélection. var images = document.getElementsByTagName('img'); for( var i = 0, len = images.length; i < len; i++ ) Notez également que je n'ai < au lieu de <=.
semble plutôt inutile, parce que si vous n'avez pas l'arrêt de la minuterie images croître indéfiniment.

OriginalL'auteur Shubham | 2010-12-24