28172 sujets

CSS et mise en forme, CSS3

Pages :
(reprise du message précédent)

Pas de problème, je préférais préciser quand même.

Tu n'as plus besoin de la fonction show. La fonction showhide sait faire apparaitre et disparaitre en fonction du paramètre que tu lui donne entre parenthèses, elle suffit.

Et pour répondre à ta question, tu n'as pas besoin de réutiliser les balises script à chaque fonction ou directive javascript.
J'ai bien noté que la fonction show n'était plus utile mais pour la forme, est-ce que cette présentation est la forme la plus courte ? :

<script type="text/javascript">
function show(){
document.getElementById("menu").className="show";
}
function showhide(value){
document.getElementById("menu").className=value;
}
</script>
Hé bien oui bien que je ne sois pas sûre de saisir le sens de ta question.

Après dans la mesure où tu ne fais qu'une seule instruction dans la fonction, tu pourrais t'en passer et appeler du javascript inline directement.


<a onmouseover="document.getElementById("menu").className='show';" onmouseout="document.getElementById("menu").className='hide';">Afficher le menu</a>  


Mais bon je trouve beaucoup plus propre de créer une fonction déclarée en head. D'autant plus que tes besoins pourront peut-être t'amener à ajouter d'autres instructions.
Oui, par soucis de clarté, je préfère aussi que tout soit regroupé en head.

Sinon, je ne trouve pas comment maintenir le menu afin de pouvoir cliquer sur les items et qu'il disparaisse en quittant le survol Smiley decu
Comme je disais, c'est le point délicat et ça dépend de ta page. Mais y'a pas vraiment de solution ultime. Le plus simple, c'est de gérer ça avec l'évènement de click plutôt que de survol et de laisser le soin à l'utilisateur de masquer ou non le menu.
Pages :