Une fonction qui dort ======> sleep( seconde );

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 105 fois - Téléchargée 29 fois

Contenu du snippet

Salu a tous le monde,
je tiens a vous présenter une petite source de rien du tous mais
qui peux devenir une vrai aide pour certain programmeur,
qui recherche la fonction sleep( x );
qui existe dans bien des langages ( c/c++, Java, ... )

Je l'ai créer car j'en avait absolument besoin
pour un de mes script ( ^^ )" [ Bien évidament ]
Mais je l'ai ossi diffuser pour permettre
a de nombreux programmeurs de pouvoir en profiter,
car énormément sont ceux qui la cherche....

Merci....

Source / Exemple :


// Fonction de "http://www.pbdr.com/vbtips/asp/JavaNumberValid.htm"
function is_numeric( strString )
//  check for valid numeric strings	
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;
	
		//  test strString consists of valid characters listed above
		for (i = 0; i < strString.length && blnResult == true; i++)
		{
			strChar = strString.charAt(i);
			
			if (strValidChars.indexOf(strChar) == -1)
			{
				blnResult = false;
			}
		}

		return blnResult;
}

function DateInt()
{
	var now = new Date();

		var h = now.getHours();
	        var m = now.getMinutes();
       		var s = now.getSeconds();
				
	return ( h * 60 * 60 ) + ( m * 60 ) + s;
}

function sleep( intTime )
{
	if( !is_numeric( intTime ) )
	{
		return;  // Arret de l'éxecution
	}
		
	intTime = ( intTime / 1000 );
	var Exp = DateInt() + intTime; // TimeOut
		
		while( Exp > DateInt() )
		{
			;
		}
}

Conclusion :


La fonction sleep( x ); a besoin de 2 autres fonctions pour son bon déroulement :

- la fonction DateInt() :
Pour indiquer les heures, minutes et secondes de la journées sous forme de seconde

- la fonction is_numeric( X ) :
Pour vérifier si X est numérique, notez que cette fonction n'est pas de moi,
Et que je remercie c'est créateur....

Il est éventuellement possible que en indiquant
une valeur supérieur a environ 50 voir 60 secondes,
que le navigateur ne réagissent plus pendant une courte période....

A voir également

Ajouter un commentaire Commentaires
Eregon Messages postés 17 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 26 octobre 2009
3 sept. 2007 à 18:33
Mon problème est qu'en fait j'ai une boucle basée sur les degrés de rotation. Voici le code,ce sera plus simple:

deg=valeur d'un degré
rotation = cmb de degrés de l'angle ont été faits

function rotate(sens)
{
for( var rotation = 0; rotation <= angle; rotation += deg )
{
//modification des attributs top et left des images avec comme parametre externe: rotation(pour els fonctions sin et cos)
->>>sleep(250);//la j'aimerait attendre environ .25s ou 250ms
}


}
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
3 sept. 2007 à 18:23
pour arrêter un timer, il faut faire clearInterval(timerID).
pour empêcher une exécution décalée, il faut faire clearTimeout(timerID)

timerID est la valeur de retour de setInterval/setTimeout
FREMYCOMPANY Messages postés 276 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 22 décembre 2008
3 sept. 2007 à 18:21
setInterval(function() {
// Cette fonction se lance toutes les {nbSeconde} seconde(s).
}, nbSeconde * 1000)

setTimeout(function() {
// Cette fonction se lancera une seule fois dans {nbSeconde} seconde(s).
}, nbSeconde * 1000)

Tu peux aussi faire setTimeout(uneFonction, nbSeconde * 1000)
Eregon Messages postés 17 Date d'inscription lundi 3 septembre 2007 Statut Membre Dernière intervention 26 octobre 2009
3 sept. 2007 à 18:12
Voici un autre exemple pour la fonction sleep:

Dans le cadre d'une modification de place des images, il peut-être utile d'attendre un peu sinon on arrive directement au résultat et le client ne voit pas l'effet...

J'ai lu le topic mais je ne comprends pas bien les fonctions setInterval() et setTimeout().

Si qqn voulait bien faire la fonction sleep avec une de ces fonctions,j'en serait grandement reconnaissant...

Pour info, je fait une rotation d'images autour d'un point et il faut donc attendre entre chaque degré de rotation pour voir l'effet.
stfou Messages postés 450 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 18 avril 2007 2
1 avril 2007 à 17:13
effectivement... j'avais pas pensé
Afficher les 54 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.