par
narcisse » 10 août 2009, 11:49
Fin des fignolages, et je découvre la puissance de jquery :
Code : Tout sélectionner
$(document).ready(function(){
$('h3').each(function(){
$('#links').append('<li><a href="#' + $(this).children('a').attr('name') + '" title="">' + $(this).text() + '</a></li>');
$(this).children('a').click( function () {
if ($(this).parent().next().is(':hidden')) {
$(this).parent().next().fadeIn();
$(this).children('img').attr('src', '/images/moins.png');
}
else {
$(this).parent().next().fadeOut();
$(this).children('img').attr('src', '/images/plus.png');
}
return false;
});
});
});
Pour les néophytes qui, comme moi, se demandent ce que jquery peut avoir de si génial, je vous fournis une explication fonctionnelle de ce bout de code :
- Pour chaque balise H3 trouvée dans le document, écrire dans le menu du haut un lien de type ancre vers la balise.
- Si on clique sur l'image fournie dans la balise H3, alors on cache la div qui est en dessous avec la méthode de type fadeIn, et on change l'image fournie dans le lien.
- Si on reclique sur l'image fournie dans la balise H3, alors on affiche à nouveau la div qui est en dessous avec la méthode de type fadeOut, et on remet l'image fournie dans le lien.
Voilà voilà ... c'est écrit en huit lignes de code.
Voici la structure html du document, pour ceux qui veulent tester :
Code : Tout sélectionner
<h3><a href="#" id="cartes" name="cartes" ><img id="im4" src="/images/moins.png" alt="masquer/afficher" /></a>Cartes bancaires</h3>
<div class="main_block" id="cartes_bancaires" >
mouarf
</div>
<h3><a href="#" id="cartes" name="cartes" ><img id="im5" src="/images/moins.png" alt="masquer/afficher" /></a>Cartes bancaires</h3>
<div class="main_block" id="cheques" >
mouarf 2
</div>
Fin des fignolages, et je découvre la puissance de jquery :
[code]$(document).ready(function(){
$('h3').each(function(){
$('#links').append('<li><a href="#' + $(this).children('a').attr('name') + '" title="">' + $(this).text() + '</a></li>');
$(this).children('a').click( function () {
if ($(this).parent().next().is(':hidden')) {
$(this).parent().next().fadeIn();
$(this).children('img').attr('src', '/images/moins.png');
}
else {
$(this).parent().next().fadeOut();
$(this).children('img').attr('src', '/images/plus.png');
}
return false;
});
});
});
[/code]
Pour les néophytes qui, comme moi, se demandent ce que jquery peut avoir de si génial, je vous fournis une explication fonctionnelle de ce bout de code :
- Pour chaque balise H3 trouvée dans le document, écrire dans le menu du haut un lien de type ancre vers la balise.
- Si on clique sur l'image fournie dans la balise H3, alors on cache la div qui est en dessous avec la méthode de type fadeIn, et on change l'image fournie dans le lien.
- Si on reclique sur l'image fournie dans la balise H3, alors on affiche à nouveau la div qui est en dessous avec la méthode de type fadeOut, et on remet l'image fournie dans le lien.
Voilà voilà ... c'est écrit en huit lignes de code.
Voici la structure html du document, pour ceux qui veulent tester :
[code]<h3><a href="#" id="cartes" name="cartes" ><img id="im4" src="/images/moins.png" alt="masquer/afficher" /></a>Cartes bancaires</h3>
<div class="main_block" id="cartes_bancaires" >
mouarf
</div>
<h3><a href="#" id="cartes" name="cartes" ><img id="im5" src="/images/moins.png" alt="masquer/afficher" /></a>Cartes bancaires</h3>
<div class="main_block" id="cheques" >
mouarf 2
</div>[/code]