2010-03-10 5 views
0
$(function() { 
    $("table.section thead").click(function() { 
     if ($(this).next("table.section tbody").style.display == "block"){ 
     $(this).next("table.section tbody").slideUp("slow"); 
     } 
     if ($(this).next("table.section tbody").style.display == "none"){ 
     $(this).next("table.section tbody").slideDown("slow"); 
     } 
    }); 
}); 

Je ne sais pas comment y parvenir, toute aide serait très appréciée.Quel est le problème avec cette fonction Jquery, aide

MISE À JOUR:

Je tentais d'utiliser la fonction suivante.

$(function() { 
    $("table.section thead").click(function() { 
    $(this).next("table.section tbody").slideToggle("slow"); 

    }); 
}); 

qu'il me donne un problème, (quand il tHead l'effondrement et vous cliquez dessus, il se dilate et s'effondrer là encore, il serait toujours effondrement). C'est pourquoi j'essaie d'obtenir la fonction au sommet.

+0

Que voulez-vous atteindre? –

+0

Je veux un événement click à tous les "table.section thead" donc quand son clic cache le tbody de la table. – Amra

Répondre

5

Utilisez le sélecteur visible dans ce cas:

$(function() { 
    $("table.section thead").click(function() { 
     var body = $(this).next("table.section tbody"); 
     if (body.is(":visible")) 
     body.slideUp("slow"); 
     else 
     body.slideDown("slow"); 
    }); 
}); 

Mais sans doute beaucoup plus simple il suffit d'utiliser .slideToggle() comme ceci:

$(function() { 
    $("table.section thead").click(function() { 
     $(this).next("table.section tbody").slideToggle("slow"); 
    }); 
}); 
+0

D'accord sur 'slideToggle()', cela rend les choses beaucoup plus simples. – Ben

+0

@Nick: Merci, c'est ce que je cherchais, mais le problème que je reçois avec la fonction plus simple, stills happend, quand le tbody n'est pas visible, il se dilate et s'effondre avec le même clic, et j'ai essayé d'utiliser return false , Savez-vous pourquoi cela peut être? Merci. – Amra

+0

J'ai ajouté une alerte dans l'instruction if et une autre sur else, et elle arrive toujours à l'if si elle le fait glisser tout le temps. – Amra

Questions connexes