Comment "reseter" un menu/liste

Le
Tantale
Encore moi

Toujours pour ma page http://www.jmrw.com/Chess/Ugo_Dossi/base.htm

lorsque je bascule entre les menus/listes, je voudrais que les deux menus
soient repositionnés sur le premier élément. Comment faire ?

Merci.

jmrw
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SAM
Le #18423001
Le 1/18/09 10:33 PM, Tantale a écrit :
Encore moi ...

Toujours pour ma page http://www.jmrw.com/Chess/Ugo_Dossi/base.htm

lorsque je bascule entre les menus/listes, je voudrais que les deux menus
soient repositionnés sur le premier élément. Comment faire ?



1) Ben ? comment j'active le 2ième ? Pas vu de "bascule".

2) C'est une très mauvaise idée !
le menu *doit* rester sur celui choisi :
- pour qu'on sache où on est
- pour pouvoir réactiver le premier item si l'on veut.
(sinon ... comment revient-on à Fischer ?)

Le menu qu'on veut voir s'afficher s'obtient par son index

Le 1er item :

monSelect.selectedIndex = 0;

Le dernier item :

monSelect.selectedIndex = monSelect.length-1;

en remplaçant "monSelect" par ce qu'il faut.

--
sm
Tantale
Le #18423231
"SAM" de news: 4973d1b6$0$4076$
Le 1/18/09 10:33 PM, Tantale a écrit :
Encore moi ...

Toujours pour ma page http://www.jmrw.com/Chess/Ugo_Dossi/base.htm

lorsque je bascule entre les menus/listes, je voudrais que les deux menus
soient repositionnés sur le premier élément. Comment faire ?



1) Ben ? comment j'active le 2ième ? Pas vu de "bascule".

2) C'est une très mauvaise idée !
le menu *doit* rester sur celui choisi :
- pour qu'on sache où on est
- pour pouvoir réactiver le premier item si l'on veut.
(sinon ... comment revient-on à Fischer ?)

Le menu qu'on veut voir s'afficher s'obtient par son index

Le 1er item :

monSelect.selectedIndex = 0;

Le dernier item :

monSelect.selectedIndex = monSelect.length-1;

en remplaçant "monSelect" par ce qu'il faut.

--
sm



Je n'y connais rien en javascript et je n'ai pas le temps de m'y consacrer,
donc je bidouille.

J'ai crée deux fonctions Permute pour baculer d'un menu à l'autre :

function Permute1(){
document.getElementById("select").disabledúlse;
document.getElementById("select2").disabled=true;
Permute=1;
LoadNextPage(0,0)
}

function Permute2(){
document.getElementById("select2").disabledúlse;
document.getElementById("select").disabled=true;
Permute=1;
LoadNextPage(61,0)
}

Je voudrais :

- Soit en gardant LoadNextPage(0,0) et LoadNextPage(0,0) que ce qui soit
affiché dans la case soit la première option dans les deux boîtes

- Soit recupèrer l'indice i de l'option qui est actuellement choisie et
l'ajouter , par ex LoadNextpage(i,0), Loadnextpage(61+j,0)

pour que dans chaque cas il y ait cohérence entre la page affichée et
l'option figurant dans le menu/liste

S'il est possible d'avoir la syntaxe compète cela me soulagerait

Merci beaucoup

jmrw
Tantale
Le #18423221
Lire Soit en gardant LoadNextPage(0,0) et LoadNextPage(65,0)
Tantale
Le #18423261
je récupère la valeur de l'index dans les deux menus listes par deux
variables Index1 et Index2 :

<select name="select" id="select"
onChange="LoadNextPage(this.selectedIndex,0); Index1=this.selectedIndex;
Resset=1">

<select name="select2" id="select2"
onChange="LoadNextPage(this.selectedIndex + 61,0);
Index2=this.selectedIndex; Resset=1">

et dans les fonctions Permute1() et Permute2()

function Permute1(){
document.getElementById("select").disabledúlse;
document.getElementById("select2").disabled=true;
Permute=1;
LoadNextPage(Index1,0)
}

function Permute2(){
document.getElementById("select2").disabledúlse;
document.getElementById("select").disabled=true;
Permute=1;
LoadNextPage(61+Index2,0)
}

Ca semble marcher comme je le veux, avec cohérence entre la page affichée et
l'élément du menu lors du basculement.

jmrw
SAM
Le #18427571
Le 1/19/09 6:29 AM, Tantale a écrit :
je récupère la valeur de l'index dans les deux menus listes par deux
variables Index1 et Index2 :

<select name="select" id="select"
onChange="LoadNextPage(this.selectedIndex,0); Index1=this.selectedIndex;
Resset=1">

<select name="select2" id="select2"
onChange="LoadNextPage(this.selectedIndex + 61,0);
Index2=this.selectedIndex; Resset=1">

et dans les fonctions Permute1() et Permute2()



Tu ne m'as toujours pas dit ce qui activait ces fonctions de
permutation. ?!?
Ha? crlevindiou ! y a des boutons-radio que j'n'avions point vus !?


Il ne devrait il y avoir besoin que d'une seule fonction de permutation.
(pendant que j'y suis je mets l'autre menu à 0)

Voici pour le HEAD :

function $(id) {
return (typeof id != 'string')? id :
document.getElementById? document.getElementById(id) :
document.layers? document.layers[i] :
document.all? document.all[id] : document[id];
}


function Permuter(num) {
var raz = function(x) { // pour mise à 0 du menu en question : x
with(x) {
var i = x.disabled==true; // mémorise son état
x.disabled = false; // obligé de le réactiver sinon
x.selectedIndex = 0; // on ne peut le mettre à 0
x.disabled = i; // remise état d'origine
}
}
// balance disabled menu 2
$("select2").disabled = !($("select2").disabled);
// si la page a déjà été ouverte, la variable 'Permute' est passée à 1
if(Permute==1) {
// balance aussi du menu 1
$("select").disabled = !($("select").disabled);
// suivant le menu activé ...
if(2==num) {
raz($("select"));
LoadNextPage(+$("select2").selectedIndex+61,0);
}
else {
raz($("select2"));
LoadNextPage($("select").selectedIndex,0);
}
}
Permute=1;
}


et pour le HTML :

à la balise body :

<body onload="Permuter()">

et dans les lignes plus bas et un peu perdues :

<input name="choix" type="radio" onClick="Permuter();" value="mi"
checked="checked">
<select name="select" id="select"
onChange="LoadNextPage(this.selectedIndex,0); Resset=1">

<input name="choix" type="radio" onClick="Permuter(2)" value="ro">
<select name="select2" id="select2"
onChange="LoadNextPage(+this.selectedIndex + 61,0); Resset=1">


Si tu ne veux pas de la fonction $()
ça donne :

function Permuter(num) {
var raz = function(x) {
with(x) {
var i = x.disabled==true;
x.disabled = false;
x.selectedIndex = 0;
x.disabled = i;
}
}
document.getElementById("select2").disabled=!(document.getElementById("select2").disabled);
if(Permute==1) {
document.getElementById("select").disabled=!(document.getElementById("select").disabled);
if(2==num) {
raz(document.getElementById("select"));
LoadNextPage(+document.getElementById("select2").selectedIndex+61,0);
}
else {
raz(document.getElementById("select2"));
LoadNextPage(document.getElementById("select").selectedIndex,0);
}
}
Permute=1;
}


Penser à déclarer correctement les variables (en début de script) :

var Resset=1,
Back=0,
Prise=0,
Init=0,
Permute=0;

et supprimer celles :
Index1=0;
Index2=0;

--
sm
Tantale
Le #18428841
Je vais exploiter cela dans les deux prochains jours

Pour le moment j'ai mis un var. Mais il faut conserver Index1 et Index2
comme variables.

Pour
<Body onload="Permute1()"> J'ai du le remplacer par <Body> car sinon ça
plante sur F5 (entre autre) sans que je comprenne pour quoi.

Encore merci.

jmrw
Tantale
Le #18429011
Firefox n'a pas de problème avec <body onload="Permute1()">

Mais IE7 plante au rafraichissment (entre autre) sur le site distant (pas en
local)

jmrw
Tantale
Le #18429651
Ca ca marche avec tous les naigateurs
<BODY
onLoad="MM_callJS('document.getElementById(&quot;select2&quot;).disabled=true;')">

Ca ca plante (sur F5) avec IE7
<BODY onLoad="Permute1()">

et je ne sais pas pourqoi.

Mais je suis heureux que ça marche maintenant

jmrw
SAM
Le #18429981
Le 1/19/09 6:37 PM, Tantale a écrit :
Firefox n'a pas de problème avec <body onload="Permute1()">

Mais IE7 plante au rafraichissment (entre autre) sur le site distant (pas en
local)



Je ne comprends rien à ce que tu m'esspliques ;-)

Ma fonction c'est : Permuter()
et non pas : Permute1();

Quant à F5 caisse ?
(chez moi c'est Pomme + R)
(les touches de fonctions sont trop loin pour que je les atteigne ;-) )

Bon à c't'heure yapu de onload, on devrait être peinards.

Tien? non ...

Au rafraichissement Firefox me dit :

Erreur : moves is undefined
Fichier Source : http://www.jmrw.com/Chess/Ugo_Dossi/basej0c.js
Ligne : 242

Je n'ai pas autopsié ces fichiers externes
kessky veut ce basej0c ?
avec son 'moves' alors que rien n'a encore bougé ...


Bon! c'te fois la balise body est nourrie :
<BODY
onLoad="MM_callJS('document.getElementById(&quot;select2&quot;).disabled=true;')">

Ce s'rait-y pas plus simple de parler normalement, au lieu de passer par
un traducteur ?


J'y retourne ou faut-il attendre que ça se calme ?

Bon ... toujours le même blème au rafraichissement :-(

Je recharge propre.
J'active le menu 2 et choisis un truc.
Je clique le bouton prochain coup ... hop! Fx me dit :

Erreur : rightDocument.anchors[nOld[nm]] is undefined
Fichier Source : http://www.jmrw.com/Chess/Ugo_Dossi/basej0c.js
Ligne : 248

ce fichier externe n'est plus du tout au gout du jour
ou bien il ne sait que baragouiner le sabir à la IE ?

Ça n'empêche pas les pièces de se déplacer.
ni quand on clique à droite les zigouigouis du style : 10.Nxd5



Tiens ... à droite ...
qu'st-ce que c'est que ce codage ardu :
<span style='font-family:
DiagramTTFritz;color:black;text-decoration:none;text-underline:none'>

et qui a cette police : DiagramTTFritz ?

Ce serait mieux d'utiliser les css avec une liste de polices similaires
(si l'une d'elle est installée elle servira)

DiagramTTCrystals, DiagramTTHabsburg, FigurineCrrCBBoldItalic,
FigurineCrrCBBold, FigurineCrrCBItalic (monospace font),
FigurineHlvCrys-BoldItalic, FigurineHlvCrys-Bold,
FigurineHlvCrys-Italic, FigurineHlvCrys, FigurineHlvHabs-BoldItalic,
FigurineHlvHabs-Bold, FigurineHlvHabs-Italic, FigurineHlvHabs,
FigurineTmsCBBoldItalic, FigurineTmsCBBold, FigurineTmsCBItalic,
FigurineTmsCB, FigurineTmsHabs-BoldItalic, FigurineTmsHabs-Bold,
FigurineTmsHabs-Italic, FigurineTmsHabs, DiagramTTCrystals,
DiagramTTFritz, DiagramTTHabsburg, DiagramTTBlindAll,
DiagramTTBlindBlack, DiagramTTBlindwhite, DiagramTTFritz,
DiagramTTCrystals, DiagramTTHabsburg, FigurineTmsCB

cf :

J'ai fini par trouver la DiagramTTFritz ici :

Tout de suite ça fait moins zigouigoui ;-)

Tu as mis un lien sur ton site afin que le visiteur puisse avoir cette
fonte ?
(36ko ce n'est pas la mer à boire)

--
sm
Publicité
Poster une réponse
Anonyme