24-02-2009, 03:22 PM
Citation :il suffit qu'il n'y est aucune interactivité possible (aucun lien, aucun onclick, onmouseover etc), se qui fait que le joueur pourra clicker mais il ne se passera rien.Tu virerais tous les callbacks présents sur ta page pour les remettre ensuite ? Pfiou t'es courageux toi ^^
Le bref aperçu de code que tu donnes confirme bien que tu ne structures rien, t'envoies tout en block : pas d'objet, pas de fonctions... Ca peut marcher mais comme tu t'en rends compte, c'est source de problèmes, à un moment ou à un autre.
Bon sinon, une solution crade mais qui marcherait :
Code :
var delay = 1000;
setTimeout("document.getElementById('dialogue1').style.display = 'block'", delay);
delay += 1000;
setTimeout("document.getElementById('dialogue1').style.display = 'none'", delay);
delay += 1000;
setTimeout("document.getElementById('x14y16').innerHTML = '<img src=\"images/vide.gif\" border=\"0\">'", delay);
delay += 1000;
...
Tu vas me trouver lourdingue mais j'insiste, factorise ton code, tu vas pas t'en sortir sinon...
Un dernier truc : chez ExtJs, et peut-être d'autres FW JS, ils ajoutent une fonction au prototype Function, qui sert à retarder l'exécution d'une fonction.
Exemple tiré de leur doc :
Code :
var sayHi = function(name){
alert('Hi, ' + name);
}
// executes immediately:
sayHi('Fred');
// executes after 2 seconds:
sayHi.defer(2000, this, ['Fred']);
// this syntax is sometimes useful for deferring
// execution of an anonymous function:
(function(){
alert('Anonymous');
}).defer(100);