par
naholyr » 01 oct. 2009, 13:09
+1 pour toggle, d'ailleurs sachez qu'on peut l'utiliser avec des fonctions en paramètres : chaque clic exécutera la fonction suivante (en boucle).
[javascript]
// chaque clic sur "#bouton" alterne le statut de "#"+id
(function($) {
var callback_hide = function() { $("#"+id).hide(); $(this).html("+"); }
var callback_show = function() { $("#"+id).show(); $(this).html("-"); }
// état initial
callback_hide();
// toggle
$("#bouton").toggle(callback_show, callback_hide);
})(jQuery, id);
[/javascript]
Sinon pour reprendre exactement ton exemple :
[javascript]
function afficher_cacher(id)
{
var visible = $("#"+id).toggle().is(":visible");
$("#bouton").html(visible ? "-" : "+");
}
[/javascript]
Mais comme derrière il y a un onclick & cie, je pense que mon premier exemple ira un peu plus loin dans la résolution de ton problème.
Je te laisse analyse ces morceaux de code qui contiennent des bases que tu dois toutes maîtriser si tu veux comprendre ce que tu fais avec jQuery, donc n'hésite pas à poser des questions sur les parties que tu ne comprendrais pas.
Et n'hésite pas non plus à potasser :
http://docs.jquery.com
+1 pour toggle, d'ailleurs sachez qu'on peut l'utiliser avec des fonctions en paramètres : chaque clic exécutera la fonction suivante (en boucle).
[javascript]
// chaque clic sur "#bouton" alterne le statut de "#"+id
(function($) {
var callback_hide = function() { $("#"+id).hide(); $(this).html("+"); }
var callback_show = function() { $("#"+id).show(); $(this).html("-"); }
// état initial
callback_hide();
// toggle
$("#bouton").toggle(callback_show, callback_hide);
})(jQuery, id);
[/javascript]
Sinon pour reprendre exactement ton exemple :
[javascript]
function afficher_cacher(id)
{
var visible = $("#"+id).toggle().is(":visible");
$("#bouton").html(visible ? "-" : "+");
}
[/javascript]
Mais comme derrière il y a un onclick & cie, je pense que mon premier exemple ira un peu plus loin dans la résolution de ton problème.
Je te laisse analyse ces morceaux de code qui contiennent des bases que tu dois toutes maîtriser si tu veux comprendre ce que tu fais avec jQuery, donc n'hésite pas à poser des questions sur les parties que tu ne comprendrais pas.
Et n'hésite pas non plus à potasser : http://docs.jquery.com