baptimmmsme Posté 13 Mai 2004 Posté 13 Mai 2004 Salut à tous, je suis nouveau sur ce forum qui semble très sympa. Ma question concerne les calques sous Dream : Est-il possible d'afficher ET masquer un calque en cliquant sur un lien/bouton? Je trouve cette possibilité par les traditionnels OnMouseOver et OnMouseOut (donc deux comportements différents) mais je voudrais pouvoir masquer et afficher un calque par un simple OnClick et apparemment ça pose problème, le premier clic affiche le calque, mais ensuite impossible de le masquer en re-cliquant. D'avance merci ! Baptiste
Beatnykk Posté 13 Mai 2004 Posté 13 Mai 2004 il faudrait conditionner le résultat du Onclick selon l'état actuel du calque en javascript. pour l'instant tu pars d'une page où tu sais que le calque est masqué. donc la fonction est évidemment de l'afficher. une fois que c'est fait ça marche pas, c'est normal. là j'ai pas de source à te donner mais ça doit exister un script pareil avec if et else.
Findel Posté 13 Mai 2004 Posté 13 Mai 2004 (modifié) Ajoute cette fonction javascript : function bund(elementid) {if (document.getElementById(elementid).style.display == 'none') { document.getElementById(elementid).style.display = 'block';} else { document.getElementById(elementid).style.display = 'none';}} Un petit exemple d'utilisation : <div id="block1">Bonjour les amis</div><input type="button" onclick="bund('block1');" value="Hop" /> Modifié 13 Mai 2004 par Findel
baptimmmsme Posté 14 Mai 2004 Auteur Posté 14 Mai 2004 merci beaucoup, ça éclaire pas mal ma lanterne - cependant ça ne marche pas lorsque j'affecte à mon calque la propriété suivante: style="position: absolute; visibility: hidden;" - de plus j'ai plusieurs calques les uns au dessus des autres, et j'aimerais, par exemple, avoir trois boutons qui affichent/masquent les 3 calques correspondants. Le problème est que si je ne masque pas le calque le plus "haut" (en re-cliquant donc), ceux du dessous restent masqués ! ça me semble difficilement surmontable tout ça, je vais ptêt bien essayer autre chose, à moins que quelqu'un ait une solution ?
Dan Posté 14 Mai 2004 Posté 14 Mai 2004 Bonjour baptimmmsme, - cependant ça ne marche pas lorsque j'affecte à mon calque la propriété suivante:style="position: absolute; visibility: hidden;" C'est normal parce que je code javascript que Findel t'a proposé modifie l'attribut "display" et non "visibility". En remplaçant ton style par "position: absolute;display:none;" tu devrais t'en sortir. Dan
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant