J'affiche un lexique tiré d'une BDD. J'utilise scipt.aculo pour faire apparaitre/disparaitre la définition. Malheureusement, à l'initialisation, les div ne disparaissent pas avec ie, avec ff, ca marche. Voici le bout de code util de la page:
Code : Tout sélectionner
<body>
<div id="conteneur">
<div id="en_tete">
<h1></h1>
</div>
<h2>Lexique</h2>
<div id="contenu">
<?php
afficheLexique();
?>
</div>
<!-- liste imbriquée de liens qui fera office de menu -->
<div id="gauche">
<?php getMenuByUtil($loginOK,$monUtil); ?>
</div>
<div id="pied_de_page">
</div>
</div>
<script type="text/javascript">
function afficheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
Effect.SlideDown(baliseId, {duration:1});
}
}
function cacheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
Effect.SlideUp(baliseId, {duration:1});
}
}
// si JavaScript est disponible, cache le contenu dès le
// chargement de la page. Sans JavaScript, le contenu sera
// affiché.
var nombre_enfant=document.getElementById("def_lexique").childNodes.length;
for (var i = 0; i < nombre_enfant ; i++) {
cacheId(document.getElementById("def_lexique").childNodes[i].getAttribute("id"));
}
</script>
</body>Code : Tout sélectionner
function afficheLexique(){
connexion($cnx);
$sql="SELECT * FROM lexique ORDER BY terme";
$prem_lettre='A';
if($resultat=mysqli_query($cnx,$sql)){
$ligne = mysqli_fetch_row($resultat);
$prem_lettre = substr($ligne[1], 0, 1);
$prem_lettre = strtoupper($prem_lettre);
printf('<div id = "def_lexique">');
printf('<p class="lettre">%s</p>',$prem_lettre);
printf('<a href="javascript:afficheId(\'%s\')">%s</a>',$ligne[0],$ligne[1]);
printf('<div id="%s">%s <br/><a href="javascript:cacheId(\'%s\');">Fermer</a></div><br/>',$ligne[0],nl2br($ligne[2]),$ligne[0]);
while($ligne = mysqli_fetch_row($resultat)){
$prem_lettre_inter=substr($ligne[1], 0, 1);
$prem_lettre_inter = strtoupper($prem_lettre_inter);
if($prem_lettre!=$prem_lettre_inter){
$prem_lettre=$prem_lettre_inter;
printf('<p class="lettre">%s</p>',$prem_lettre);
}
printf('<a href="javascript:afficheId(\'%s\')">%s</a>',$ligne[0],$ligne[1]);
printf('<div id="%s">%s <br/><a href="javascript:cacheId(\'%s\');">Fermer</a></div><br/>',$ligne[0],nl2br($ligne[2]),$ligne[0]);
}
printf('</div>');
mysqli_free_result($resultat);
mysqli_close($cnx);
}
}