11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je débute en javascript.

J'ai une fonction dont l'avant dernière instruction n'est pas toujours réalisée, aussi je voudrais tester si l'instruction est terminée et si pas, j'aimerais la réinitialiser.

J'ai fait ceci :

Mafunction ()
{
instruction1
instruction2
...
monavantdernièreinstruction
if(monavantdernièreinstruction.complete)
{
dernière instruction
}
else
{
??? -> C'est là mon problème, je n'ai aucune idée de ce que je pourrais mettre ici pour réinitialiser monavantderniereinstruction si elle n'est pas complete et pour ensuite, si cette fois elle fonctionne, lancer ma dernière fonction.
}
}

Quelqu'un aurait-il une idée?

Merci d'avance,

Justin

Modifié par Justin (23 Oct 2007 - 12:58)
teste un truc dans ce gout là :

monavantdernièreinstruction
while(!monavantdernièreinstruction.complete)
{
monavantdernièreinstruction
}
dernière instruction;

tu as aussi la technique avec le do{ ... }while(...); c'est sensiblement la même chose.

attention aux boucles infifines qui font planter les navigateurs !
Oui, voilà, j'ai tenté un do while mais ça a provoqué une boucle infinie. Je vais tenter le while et je vous tiens au courant, merci !
ca fera la même chose !

si ca fait une boucle infinie c'est que l'instruction ne se termine pas (ne s'effectue pas ??)

un lien vers ton script pourrait aider...
Ok. Il s'agit en fait d'un script pour afficher une image au survol provenant de http://www.javascriptkit.com. Dans quelques rares cas, lors du survol, l'image ne s'affiche pas et une DIV vide s'affiche au dessus de l'image. Si je quitte la zone de survol et que je repasse immédiatement par dessus elle s'affiche directement.


function hidetrail()
{
	document.onmousemove=""
	document.getElementById('ttimg').src='img/s.gif'
	gettrailobj().visibility="hidden"
	gettrailobj().left=-1000
	gettrailobj().top=0
	document.getElementById('ttimg').innerHtml=''
}

function showtrail(width,height,file)
{
	if(navigator.userAgent.toLowerCase().indexOf('opera') == -1 && navigator.userAgent.toLowerCase().indexOf('safari') == -1)
	{
		w=width
		h=height
		
		// followmouse()
	
		gettrailobj().visibility="visible"
		gettrailobj().width=w+"px"
		gettrailobj().height=h+"px"
		document.getElementById('ttimg').src=file;
		document.onmousemove=followmouse;
			
	}
}


J'ai supposé que la non apparition de l'image alors que le cadre est visible provient d'un problème avec document.getElementById('ttimg').src=file et non pas gettrailobj().visibility="visible" et c'est sur cette instruction que j'ai cherché à mettre un test. Mais je me suis peut-être trompé.

Qu'en penses-tu?
Modifié par Justin (23 Oct 2007 - 14:06)
est-ce que tu utilises un script qui te preload tes images au chargement de la page ? style : MM_preloadImages()
ça reglerait p-e ton problème...

sinon, je donne ma langue au chat... sorry....