Régis Posté 10 Octobre 2005 Posté 10 Octobre 2005 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
Vincent Posté 10 Octobre 2005 Posté 10 Octobre 2005 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.
Régis Posté 10 Octobre 2005 Auteur Posté 10 Octobre 2005 Merci "vincent", J'avais testé cette possibilité mais c'est le bloc 5 qui s'ouvre et uniquement lui... 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';}}
Vincent Posté 10 Octobre 2005 Posté 10 Octobre 2005 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';}
Thanh Posté 10 Octobre 2005 Posté 10 Octobre 2005 yO, tu peux aussi changer la feuille de style pour qu'au départ les blocs concernés soit affichés. ++
Régis Posté 10 Octobre 2005 Auteur Posté 10 Octobre 2005 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)
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant