Aller au contenu

Javascript : aide sur une fonction ?


Sujets conseillés

Posté

Bonjour,

Néophyte Javascript que je suis...

J'ai une fonction en javascript qui ouvre des "blocs", que voici :

window.onload=function () {
montre('sbloc1');
}

Cette fonction ouvre le bloc "sbloc1" à l'ouverture de ma page.

Mais j'aimerai qu'elle ouvre aussi le bloc "sbloc3" et "sbloc5"...

Dois-je écrire la nouvelle fonction :

montre('sbloc1','sbloc3','sbloc5'); [ce ne marche pas]

ou autrement, comment ?

Merci

Posté

essaye :

window.onload=function () {
montre('sbloc1');
montre('sbloc3');
montre('sbloc5');
}

on crée un fonction qui appelle 3 fois une autre fonction 'montre' avec pour chaque appel, un label de bloc différent.

Posté

Merci "vincent",

J'avais testé cette possibilité mais c'est le bloc 5 qui s'ouvre et uniquement lui... :boude:

Peut-être que tout le code est utile pour comprendre :

window.onload=function () {
montre('sbloc1');
montre('sbloc3');
montre('sbloc5');
}
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=15; i++) {
 if (document.getElementById('sbloc'+i)) {document.getElementById('sbloc'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}

Posté

en fait, ta fonction montre affiche le bloc appelé en parametre et cache TOUT les autre blocs...

a la place il faudrait utiliser une fonction du genre de ce topic

window.onload=function () {
toggleOn('sbloc1');
toggleOn('sbloc3');
toggleOn('sbloc5');
}
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=15; i++) {
if (document.getElementById('sbloc'+i)) {document.getElementById('sbloc'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
function toggle(monId) {
var monElement = document.getElementById(monId);
if(monElement.style.display == 'none')
monElement.style.display = 'block';
else
monElement.style.display = 'none';
}
function toggleOn(monId) {
var monElement = document.getElementById(monId);
monElement.style.display = 'block';
}
function toggleOff(monId) {
var monElement = document.getElementById(monId);
monElement.style.display = 'none';
}

Posté

yO,

tu peux aussi changer la feuille de style pour qu'au départ les blocs concernés soit affichés.

++

Posté

Merci de vos conseils... je suis enfin arrivé à ce que je souhaitais... :)

Mais question : là, je suis parti sur la piste Javascript... mais est-il possible de faire la même chose en PHP ? (pour ne pas utiliser de javascript)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...