Bonjour,
Via ce tuto, j'ai réalisé un menu accordéon qui fonctionne.
A présent j'aurais aimé pouvoir mettre des images à la place du texte. Le menu aurait cette forme :
Le soucis vient de cette partie du code JAVASCRIPT j'imagine :
Je ne suis pas du tout un connaisseur en JAVASCRIPT alors je ne sais pas comment faire pour que ça ne transforme plus l'intérieure du span en texte.
Y aurait-il une âme charitable qui pourrait me dire comment faire ? Je remercie celle-ci d'avance
Via ce tuto, j'ai réalisé un menu accordéon qui fonctionne.
A présent j'aurais aimé pouvoir mettre des images à la place du texte. Le menu aurait cette forme :
<style type="text/css">
#mon_image {
background-image:url(mon_image.jpg);
display:block;
width: 120px;
height: 79px;
}
</style>
<script type="text/javascript" src="jquery-1.2.1.js"></script>
<script type="text/javascript">
<!--
$(document).ready( function () {
// On cache les sous-menus :
$(".navigation ul.subMenu").hide();
// On sélectionne tous les items de liste portant la classe "toggleSubMenu"
// et on remplace l'élément span qu'ils contiennent par un lien :
$(".navigation li.toggleSubMenu span").each( function () {
// On stocke le contenu du span :
var TexteSpan = $(this).text();
$(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;
} ) ;
// On modifie l'évènement "click" sur les liens dans les items de liste
// qui portent la classe "toggleSubMenu" :
$(".navigation li.toggleSubMenu > a").click( function () {
// Si le sous-menu était déjà ouvert, on le referme :
if ($(this).next("ul.subMenu:visible").length != 0) {
$(this).next("ul.subMenu").slideUp("normal");
}
// Si le sous-menu est caché, on ferme les autres et on l'affiche :
else {
$(".navigation ul.subMenu").slideUp("normal");
$(this).next("ul.subMenu").slideDown("normal");
}
// On empêche le navigateur de suivre le lien :
return false;
});
} ) ;
// -->
</script>
<ul class="navigation">
<li class="toggleSubMenu"><span><a id="mon_image" href="#"> </a></span>
<ul class="subMenu">
<li><a href="#" title="Aller à la page 2.1">Item 2.1</a></li>
<li><a href="#" title="Aller à la page 2.2">Item 2.2</a></li>
<li><a href="#" title="Aller à la page 2.3">Item 2.3</a></li>
</ul>
</ul>
Le soucis vient de cette partie du code JAVASCRIPT j'imagine :
// et on remplace l'élément span qu'ils contiennent par un lien :
$(".navigation li.toggleSubMenu span").each( function () {
// On stocke le contenu du span :
var TexteSpan = $(this).text();
$(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;
} ) ;
Je ne suis pas du tout un connaisseur en JAVASCRIPT alors je ne sais pas comment faire pour que ça ne transforme plus l'intérieure du span en texte.
Y aurait-il une âme charitable qui pourrait me dire comment faire ? Je remercie celle-ci d'avance
