begin process at 2012 05 30 04:42:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

très lent


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

très lent

mardi 8 juillet 2008 à 17:42:18 | très lent

metaleurop

Bonjour à tous!!
J'ai un script sympa pour des élèves mais malheureusement il est super long à tourner ,quand il ne bugge pas!
Serait-il possible de le raccourcir ou le modifer pour qu'il tourne normalement?
<script language="JavaScript">;
<!--

lettre="";
 
mots= new Array(8);
i=0
 while(i<8)
  {
 mots[i]=""
 i++
  }
numeroquestion =0;

bonnereponse="";
score=0
points=0


question= new Array (23);
 i=0
 while(i<23)
  {
 question[i]=""
 i++
  }

function lirequestions()
{
question[1]="4 x 1 000,4 000"
question[2]="17 x 100,1 700"
question[3]="2.46 x 100,246"
question[4]="10 000 x 0.045,450"
question[5]="0.4 x 100,40"
question[6]="1 000 x 4.35,4 350"
question[7]="0. 007 x 100,0.7"
question[8]="4.5 x 100,450"
question[9]="100 x 0.047,4.7"
question[10]="0.0891 x 1 000,89.1"
question[11]="0.28 x 100 000,28 000"
question[12]="1 000 000 x 0.00321,3 210"
question[13]="100 x 2.1,210"
question[14]="0.791 x 10,7.91"
question[15]="10 000 x 350,3 500 000"
question[16]="1000 x 0.0792,79.2"
question[17]="1 000 x 0.07,70"
question[18]="14.18 x 1 000,14 180"
question[19]="0.046 x 100 000,4 600"
question[20]="10 000 x 2 500,25 000 000"


nombredequestions=20
}

 

function debut(){    
    lirequestions()
    brasser(nombredequestions)
    numeroquestion=0
    
    score=0
    
    
    nouvellequestion()
    }
function nouvellequestion() {    
    numeroquestion++
    essai=1
    points=1
    
    coupechaine(question[numeroquestion])
    laquestion=mots[0]
    bonnereponse=mots[1]
    
    affichequestion()
    
    document.forms[0].mareponse.value=("");
    
    
    }
    
    
function affichequestion() 
 {
 
  if (numeroquestion>"10") {
   fin();
   }
   else {
 
 
 
 
 
 document.forms[0].elements[0].value=(numeroquestion);
 document.forms[0].elements[6].value=(essai+"/2");
 document.forms[0].elements[7].value=(points);
 
 document.forms[0].elements[8].value=(score);
 
 document.forms[0].laquest.value=laquestion
 
 document.forms[0].mareponse.focus()
 
 if(essai==1) {document.bgColor="#E0FDFE"}
 if(essai==2) {document.bgColor="FFA346"}
 
 }
 }

 
function brasser(nq) {
 
 
 
 var k=0
 var j=0
 var i=0
 
 while(i<nq+10) {
  
  i++
  j=Math.round((Math.random()*(nq-1))+1)
  k=Math.round((Math.random()*(nq-1))+1)
  
  question[0]=question[k]
  
  question[k]=question[j]
  
  question[j]=question[0]
  
  
  }
 } 

 

 

 
 

function coupechaine (vb)  
 {
 
 k=0;
  while (k<7){
  mots[k]="";
  k=k+1;
     }
  
  j=0
  i=0
  
  while (i<vb.length+1) {
  
  
  lettre=vb.substring(i,i+1);
  
  if (lettre!=",") {
  mots[j]=mots[j]+lettre;
 
  
  
  i=i+1;
  }
  else {
  
  j=j+1;
  i=i+1
  }   }
     
 }


function changement() {
 
 alert("Utilise la case de réponse !");
  affichequestion()
 }  


function correction() {
 
 if(document.forms[0].mareponse.value == bonnereponse) 
  {
  message="Tu gagnes "+ points+ " points"
  if(points<0)
   {
   message="Tu gagnes 1 point"
   }
  alert(message)
  score=score+points
  nouvellequestion()
  }
 else {
  
 essai=essai+1
   
   if(essai>2) {
    alert("La bonne réponse est : "+bonnereponse+"")
    nouvellequestion()
      }
   else {
    message="Essaie encore !"
    
    if(essai>1) {
    message="Deuxième chance !"
      }
    alert(message)
    
    points=points-0.5
    verification(document.forms[0].mareponse.value)
    document.forms[0].mareponse.value=motverifier
    affichequestion()
    }
    }
    }

function verification (tentative)
 {
 t=-1
 motverifier=""
 while (t<tentative.length+1)
   {
  t=t+1
  lettre=tentative.substring(t,t+1);
    if (lettre == bonnereponse.substring(t,t+1))
    {
    motverifier=motverifier+lettre
    }
    
    else {
    break
    }
   } 

  }

  
  

function fin()
  {
 {if(score==10)alert("Très bien !\nAucune faute!\nClique sur Sommaire !")

else if(score==9)alert("Bien !\nUne étourderie sans doute.\nClique sur Sommaire !")
else if(score<9)alert("Il est préférable de recommencer cet exercice.");recommencer();
}
 
 
 }
function recommencer()
{debut();

}

 

function sommaire()
 {
   window.open("../../index.html",'_self')
   }


-->
</script>


Merci!!!!!!

mardi 8 juillet 2008 à 20:05:06 | Re : très lent

nicomilville

Membre Club
Réponse acceptée !
Salut,

j'ai pas vraiment regardé mais je peus déja te dire qu'il serai mieux de changer :

langage='javascript'

en :

type='text/javascript'

Après j'ai vu que la déclaration des variables est mal faite : tu déclare la variable en lui assignant une valeur, ce n'est pas une façon de faire, on déclare une variable comme ça :

var variable = "valeur";

J'ai également remarqué que tu ne mettait pas de point virgule a la fin de chaque instruction donc code a revoir de tout les cotés, et surtout débug, regarde dans la console d'erreur de firefox et utilise firebug !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

mardi 8 juillet 2008 à 20:18:22 | Re : très lent

metaleurop

ok merci pour tes conseils
à +
mardi 8 juillet 2008 à 21:27:28 | Re : très lent

nicomilville

Membre Club
ok,

je regarderai ton code plus en profondeur tout a l'heure !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

mercredi 9 juillet 2008 à 13:11:02 | Re : très lent

metaleurop

C'est bon,ca s'est arrangé.
Je voudrais rajouter une minuterie dont le script est:
<HTLML>
<HEAD>
<script language="JavaScript">
var dix= 0
var sc= 00 //
var mn= 2 // On peut changer ici la valeur en mn ou en sc
function chrono()
{
dix--;
if (dix<0) {dix=9;sc--}
if (sc<0) {sc=59;mn--}
time=mn+" mn "+sc+" s "+dix;
document.forme.champ1.value=time;
if (mn==0 & sc==0 & dix==0)
{alert('Le temps imparti est terminé !')}
décompte= setTimeout('chrono()', 100);}
function zéro()
{clearTimeout(décompte)
dix= 0;
sc=00;
mn= 2;
time=mn+" mn "+sc+" s "+dix;
document.forme.champ1.value=time;
}
</script>
</HEAD>
<BODY>
<form name="forme">
<p><input type="text" size="10" name="champ1"
style="background-color:#F0FFFF"></p>
<p><input type="button" value="Départ"
onclick="chrono()"> <input
type="button" value="Recommencer" onclick="zéro()"></p>
</form>
</BODY>
</HTML>

Malheureusement, lorsque je l'insere dans mon script, soit je ne peux plus faire les calculs soit la minuterie ne se met pas en route.
Comment dois-je l'insérer pour que cela fonctionne normalement?
(et où ?!)
Merci
mercredi 9 juillet 2008 à 13:19:50 | Re : très lent

nicomilville

Membre Club
j'ai pas bien compris ce que tu veus faire, peus tu mieux m'expliquer ?

a++

Si la réponse vous convient, pensez : Réponse acceptée !

mercredi 9 juillet 2008 à 13:41:04 | Re : très lent

metaleurop

non c'est bon excuse moi
J'avais simplement un souci de clavier!!
Salut
mercredi 9 juillet 2008 à 13:46:20 | Re : très lent

nicomilville

Membre Club
ok,

Par contre, peus tu nous dire ce qui ralentissait ton script et surtout mettre les réponses qui t'ont aidés en réponse acceptée !

Petite question personnelle : Tu est prof ?

J'ai 14 ans lol !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

jeudi 10 juillet 2008 à 13:28:41 | Re : très lent

metaleurop

Oui je suis prof de mathématiques.
Par contre,je n'ai pas trouvé la cause de ce ralentissement.
En ouvrant avec Internet explorer plutot que le navigateur orange,le problème ne s'est plus posé!!
A +
jeudi 10 juillet 2008 à 13:56:38 | Re : très lent

nicomilville

Membre Club
ok,

Dans ce cas met toi en réponse acceptée !

a++

Si la réponse vous convient, pensez : Réponse acceptée !



Cette discussion est classée dans : function, forms, question, document, if


Répondre à ce message

Sujets en rapport avec ce message

Player multi format sécuriter java & php [ par c2bomb ] bonjour a tous,je cherche a afficher mon player,dans une fenetre style popup,mais hélas je suis vraiment nulle en javascript...si quelq'un peut m'aide Probleme message d'erreur activeX [ par pampapic ] Bonjour à tous,Je suis loin d'être un pro de la programmation, en fait je suis infographiste 3d, néanmoins je me plonge dans le html pour confectionne modification lightbox .... bouton close en haut a droite [ par petardier ] bonjour,je souhaite modifier une light box en mettant le bouton close en haut a gauche , plutot qu'en bas.Ainsi, quand une image est plus grande que l Problème avec IE sur un menu + parent.frame [ par tipouic ] Bonjours, j'ai repris un vieux menu que j'ai modifié afin de rajouté des onglets de navigation avec des vrais liens dans le menu ( avec target). Par c Problème de compatibilité avec Firefox [ par Sniark ] Bonjour à tous, Je suis débutant en javascript. J'ai un script qui récupère des valeurs sélectionnées dans des menus déroulants et retourne une liste probleme controle de saisie avec du javascript dans un formulaire html.php [ par suethi75 ] BonjourJe controle les champs obligatoires dans mon formulaire cependant cela ne marche pas.Voici mon code javascript: function verifForm(){  if (docu Vérifier tous les champs (texte,radio,check) d'un formulaire PHP [ par vivi21270 ] Bonjour,J'ai un formulaire en php, je voudrais savoir s'il existe un moyen de vérifier tous les champs notamment case radio et case à cocher (au moins Validation javascript+confirmation avant submit [ par salasalasala ] AIDEz MOI C URGENT PLEASE[^^sad2] voici mon code je veut fair le submite si le client remplir tous les champs+case a coche,le reste ca maerche bien // Incompatibilité Mozilla - Script Slider [ par rouliodu59 ] Bonjour, j'ai trouvé un script pour permettre de faire un glissement de photo sur ma page d'accueil.Cependant, le script n'est compatible que sur IE e Comment puis-je améliorer ce script ??? [ par nanti ] Bonjour à tous !Tout d'abord, j'espère être dans le bon thème... !?Comme annoncer, je souhaite améliorer ces scripts pour n'en faire qu'un qui soit op


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,841 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales