Bonjours,
J'ai le problème suivant avec le menu accordéon et 1 include PHP seulement sous IE :
Le lien sur les images + n'ouvre rien mais 1 click sur les items menu marche. Le - ne me pose pas de problème !
Voici mes codes :
* page menu.php
* page hautM.php
* page menu.js
Merci de jeter un œil sur mon problème. Bonne journée à tous.
J'ai le problème suivant avec le menu accordéon et 1 include PHP seulement sous IE :
Le lien sur les images + n'ouvre rien mais 1 click sur les items menu marche. Le - ne me pose pas de problème !
Voici mes codes :
* page menu.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0074)http://www.alsacreations.com/xmedia/tuto/exemples/accordeon/menu_demo.html -->
<HTML lang=en xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE>Menu accordéon avec jQuery</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="menu.css">
<!--[if lte IE 6]>
<STYLE type=text/css>LI {
HEIGHT: 1px
}
</STYLE>
<![endif]-->
<SCRIPT src="scripts/jquery-1.2.1.js" type=text/javascript></SCRIPT>
<script type="text/javascript" src="menu.js"></script>
<META content="Dev-PHP 2.3.2" name=GENERATOR>
</HEAD>
<BODY>
<?php include'hautM.php'; ?>
</BODY>
</HTML>
* page hautM.php
<?php
echo ' <ul id="navigation">';
echo ' <li><a href="" title="">Item 1</a></li>';
echo ' <li class="toggleSubMenu"><a href="" title="Afficher le sous-menu">Item 2</a>';
echo ' <ul style="display: none;" class="subMenu">';
echo ' <li><a href="" title="">Item 2.1</a></li>';
echo ' <li><a href="" title="">Item 2.2</a></li>';
echo ' <li><a href="" title="">Item 2.3</a></li>';
echo ' </ul>';
echo ' </li>';
echo ' <li class="toggleSubMenu"><a href="" title="Afficher le sous-menu">Item 3</a>';
echo ' <ul style="display: none;" class="subMenu">';
echo ' <li><a href="" title="">Item 3.1</a></li>';
echo ' <li><a href="" title="">Item 3.2</a></li>';
echo ' </ul>';
echo ' </li>';
echo ' <li><a href="" title="">Item 4</a></li>';
echo ' </ul>';
?>
* page menu.js
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
$("ul.subMenu:not('.open_at_load')").hide();
// On selectionne tous les items de liste portant la classe "toggleSubMenu"
// et on remplace l'element span qu'ils contiennent par un lien :
$("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'evenement "click" sur les liens dans les items de liste
// qui portent la classe "toggleSubMenu" :
$("li.toggleSubMenu > a").click( function () {
// Si le sous-menu etait deja ouvert, on le referme :
if ($(this).next("ul.subMenu:visible").length != 0) {
$(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est cache, on ferme les autres et on l'affiche :
else {
$("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
$(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
}
// On empêche le navigateur de suivre le lien :
return false;
});
} ) ;
Merci de jeter un œil sur mon problème. Bonne journée à tous.