BOUCLE FOR

tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 4 janv. 2006 à 23:07
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015 - 6 janv. 2006 à 10:00
BONSOIR,
Je me prends la tête avec une boucle for imbriquée que je n'arrive pas à faire, un ptit coup de main svp.

Bon là je peux créer un twisty en cliquant sur le bouton 1; j'aimerai pouvoir en créer plusieur simultanéement en fonction du chiffre que j'aurai inscrit dans un input; à votre avis

merci d'avance

<HTML><HEAD><TITLE></TITLE><LINK href= "css.js" type=text/css rel=stylesheet>
<SCRIPT language=javascript type=text/javascript>
<!--
function affiche(a1,b1,l) {
if (a1.style.display =='') {
a1.style.display = 'none';
if (l== 1) {b1.src='./Img/tri.gif'; b1.alt='';}
}
else {
a1.style.display='';
if (l== 1) {b1.src='./Img/tridown.gif'; b1.alt='';}
}
}


-->
</SCRIPT>


<SCRIPT>function changediv2(){
var diva;
val = document.getElementById('nbr').value;
for (var x=1; x<=val;x++);


if (document.getElementById('a'+val).contentEditable =='true')
{document.getElementById('a'+val).contentEditable ='false';}
else
{document.getElementById('a'+val).contentEditable ='true'}}</SCRIPT>


<SCRIPT>
function doSize(fSize)
{n=1;
while (document.getElementById("a"+n)!=null)
{ document.getElementById("a"+n).document.execCommand('fontsize', false, fSize);
n++; }}
function doFont(fName)
{n=1;
while (document.getElementById("a"+n)!=null)
{ document.getElementById("a"+n).document.execCommand('fontname', false, fName);
n++; }}
</SCRIPT>


<SCRIPT type=text/javascript>
function genere(nb)
{ for (var i=1;i<=nb;i++)
{ frm.innerHTML+="

1er SOUS TITRE
<COMMENT>/////SOUS SOUS TITRE 1////////</COMMENT>

Sous-titre
-
"; } }
</SCRIPT>


<SCRIPT type =text/javascript>
function generesous(nb)
{for (var i= 1;i<=nb;i++);
var nb = document.getElementById('nbr2').value;
{ document.getElementById('a'+nb).innerHTML+="

1er SOUS TITRE
<COMMENT>/////SOUS SOUS TITRE 1////////</COMMENT>

Sous-titre
-
"; }}
</SCRIPT></HEAD>


<FORM name =frm>




1
2






eee

jjj





</FORM>



</HTML>

6 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
5 janv. 2006 à 16:08
Exemple O combien pédagogique...

pour qu'une boucle fasse quelque chose EVITE le ; à la fin

<hr size= "2" width="100%">function generesous(nb){
for (var i=1;i<=nb;i++) ; // elle tourne sur elle en incrémentant i
var nb = document.getElementById('nbr2').value;
{
document.getElementById('a'+nb).innerHTML+= "...blabla...";
}
}
elle pourrait ressembler à cela...

function generesous(nb){

// Pourquoi passer nb si il est redéfini

var nb = document.getElementById('nbr2').value;

for (var i= 1;i<=nb;i++)
{

document.getElementById('a'+ i ).innerHTML+ ="...blabla...";

}

}

Note au passage que i remplace nb qui lui ne bouge pas...

<hr size= "2" width="100%">function changediv2(){
var diva ; // ne sert à rien, c'est pour faire avancer le chimlblic
var val = document.getElementById('nbr').value; // il sort d'ou nbr
for (var x= 1; x<=val;x++){
if (document.getElementById('a'+ val ).contentEditable == ' true
'
){
document.getElementById('a'+val).contentEditable =
'
false
'
;
}
else{
document.getElementById('a'+val).contentEditable =
'
true
';

}
}
#1 :
val n'est pas incrémenté =>
document.getElementById('a'+val) toujours le même...idem que
generesous(nb) ci dessus...



#2 : true et false sont des constante en mettant 'true' on obtient un chaine de caractère
<hr size="2" width="100%">On s'arrête là pour te laisser le temps de digérer...

Obstines toi c'est en forgeant qu'on devient <strike>fatigué</strike> forgeron...
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
5 janv. 2006 à 17:28
merci beaucoup pour les conseils, j'y regarde dés que possible, je vais m'obstiner, car je ne suis pas encore fatigué.

@+
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
5 janv. 2006 à 18:05
bonsoir,
résultat des courses je ne sais pas si tout est bien correct mais cela fonctionne sans erreur sur IE, il n'y a plus que le condenser et le détaillé qui ne prennent pas en compte les sous-titres.
(c'est le voir() et nonvoir() qui coincent)
voici le résultat :

<HTML><HEAD><TITLE></TITLE>
<style>
p {font:12pt times;text-decoration:none; color:blue}
div {font:12pt; color: blue;margin-left:5pt;line-height:12px}
body {font:12pt;font-family:verdana;line-height:15px}
.SSTITRE {margin-left:60pt;font:12pt;font-family:verdana;line-height:15px}
CALQUE {margin-left:60pt}
.class1 {color : red}
.class2 { scrollbar-face-color: pink; scrollbar-shadow-color: pink; scrollbar-highlight-color: pink; scrollbar-3dlight-color: pink; scrollbar-darkshadow-color: pink; scrollbar-track-color: pink; scrollbar-arrow-color: pink; background-color:pink; border:1; font-family: arial; font-size: 2px; color: pink; text-decoration: none; }
.nonvu {visibility : hidden}
.vu {visibility : visible}
.drag{position:relative;cursor:hand;}
.bleu {color : blue}
.espace {line-height:8px}
</style>



<SCRIPT language= javascript type=text/javascript>
<!--
function affiche(a1,b1,l) {
if (a1.style.display =='') {
a1.style.display = 'none';
if (l== 1) {b1.src='./Img/tri.gif'; b1.alt='';}
}
else {
a1.style.display='';
if (l== 1) {b1.src='./Img/tridown.gif'; b1.alt='';}
}
}


-->
</SCRIPT>


<SCRIPT type=Text/JavaScript>
function voir(val){
for (var i=1; i<=val;i++)
(document.getElementById('a'+i).style.display ='inline')&&(document.getElementById('b'+i).style.display ='inline');
}</SCRIPT>


<SCRIPT type=Text/JavaScript>
function nonvoir(val){
for (var i=1; i<=val;i++)
(document.getElementById('a'+i).style.display ='none')&&(document.getElementById('b'+i).style.display ='none');
}</SCRIPT>


<SCRIPT>function changediv2(){
val = document.getElementById('nbr').value;
for (var x=1; x<=val;x++);
if (document.getElementById('a'+val).contentEditable =='true')
{document.getElementById('a'+val).contentEditable ='false';}
else
{document.getElementById('a'+val).contentEditable ='true'}}</SCRIPT>


<SCRIPT type=text/javascript>
function genere(nb)
{ for (var i=1;i<=nb;i++)
{ frm.innerHTML+="

1er SOUS TITRE
<COMMENT>/////SOUS SOUS TITRE 1////////</COMMENT>

Sous-titre
-
"; } }
</SCRIPT>


<SCRIPT type =text/javascript>
function generesous(nb,quant)
{for (var x= 1;x<=quant;x++);
{for (var i=1;i<=nb;i++);
{ document.getElementById('a'+nb,+quant).innerHTML+="

1er SOUS TITRE
<COMMENT>/////SOUS SOUS TITRE 1////////</COMMENT>

Sous-titre
-
"; }}}
</SCRIPT>
</HEAD>

<FORM name =frm>
Nbre/ref 1er rgNbre/ref 2eme rg
Genere 1er rgGenere 2eme rg

</FORM>



</HTML>
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
5 janv. 2006 à 19:03
Bon, j'ai laissé des ; aprés des for car cela m'arrage de ne générer des sous-titres qu'un par un, mais cela veut dire que certain ne servent à rien. Pourtant quand je les enlève plus rien ne fonctionne ???.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 janv. 2006 à 09:47
Amis du JOUR Bonjour...

<hr size= "2" width="100%">Je doute que cela marche, essaies en activant le débugger de IE...

<hr size="2" width="100%">Tout d'abord tu peux mettre toutes tes fonctions dans la même balise <SCRIPT>...</SCRIPT> cela va éclaircir ton code

<SCRIPT language=javascript type=text/javascript>
//-----------------------
function affiche(a1,b1,l){
...blabla...

}
//----------------
function voir(val){

...blabla...

}
//----------------
function nonvoir(val){

...blabla...

}
//-------------------
function changediv2(){

...blabla...

}
//-----------------
function genere(nb){

...blabla...

}
//---------------------------
function generesous(nb,quant){
...blabla...
}

</SCRIPT>

<hr size="2" width="100%">Plus de rigeur ne nuit pas
...
Apprend tout de suite la bonne écriture
exemple :

devient



...c'est rien mais si tu prends l'habitude tout de suite c'est mieux...

Une bonne indentation, donc lisibilité, dans les codes c'est 80% des PBs en moins...

<hr size ="2" width= "100%">N'hésites pas à utiliser la fonction alert (" valeur à afficher "); pour te rendre compte de la valeur des paramètres en cours d'excécution...
exemple :

//---------------------------

function generesous(nb,quant){
alert( "Nb " +nb +" Quant " +quant);
...blabla...


}

<hr size="2" width="100%">N'hésites pas à tester avant de faire la suite...

exemple :
//---------------------------
function generesous(nb,quant){
var Html="";
var Obj ;
for (var x =1;x<= quant;x++);
for (var i=1;i<=nb;i++);{

Obj
= document.getElementById('a'+quant);
if( Obj){
Html = " // La tu mets ton texte...
Obj.innerHTML += Html;
}
else
alert ( "
document.getElementById(a" +quant +") n'existe pas
");
}
}

<hr size ="2" width="100%">Il en veux est c'est ce qui compte...
0
tonytruand Messages postés 175 Date d'inscription samedi 23 octobre 2004 Statut Membre Dernière intervention 8 mars 2015
6 janv. 2006 à 10:00
meci beaucoup, je vais m'appliquer
@+
0
Rejoignez-nous