Ik ben bezig met een archief voor nieuws berichten, nu wil ik dat als je op een link klikt, dat hij dan een verborgen div laat zien. En als je dan weer op die zelfde link klikt, word de div weer verborgen

Hier voor heb ik het volgende stukje voor bedacht:


          $("a.show").click(function(event){
                $("a.show[id="+this.id+"]").removeClass("show")
                $("a[id="+this.id+"]").addClass("hide")
                $("div[title!="+this.id+"][class=news]").hide(500)
                $("div[title="+this.id+"][class=news]").show(500)
                event.preventDefault();
          }); 


Alleen nu als je weer op de linkt zet hij de class niet naar hide.

Als je meer code nodig hebt bv. de link, moet je het even zeggen.

Weet iemand misschien waarom, en hoe ik dit kan fixen?
Eehrm, zoiets (niet getest)?

$('a.show').click(function()
{
  $("div[title!="+$(this).attr('id')+"][class=news]").toggle();
});

http://docs.jquery.com/Effects/toggle

De toggle() functie gebruiken is veel eenvoudiger dan zelf verbergen / weergeven...
De oplossing was:

$(function(){
        $('a.show').toggle(
                                function(){
                                var $id=$(this).attr('href');
                       $('#'+$id).show(500);
                        } ,
                            function(){
                                var $id=$(this).attr('href');
                                          $('#'+$id).hide(500);
                }
        );
}); 


Reageren