Avatar billede atheist Nybegynder
24. august 2010 - 17:22 Der er 1 kommentar og
1 løsning

Åbne/lukke undermenu

Jeg har en menu/kalender hvor man kan skjule alle events for en måned. Når man "åbner" en måned er det meningen at alle andre skal skjules først. Og hvis man kliker på en åben måned, lukker den også. Problemet er, når man klikker på en åben måned lukker den, og så åbner den igen. Scriptet er her:

$(document).ready(function() {

  $(".collapsed").hide();

  //man klikker på en åben overskrift
  $(".open").click(function()
  {
    $(this).next("collapsed").slideUp().addClass("collapsible").removeClass("collapsed"); //Lukker den næste
    $(this).removeClass("open").addClass("closed"); //skifter fra åben til lukket.
  });
 
  //Man klikker på en lukket overskrift
  $(".closed").click(function()
  {
    $(".collapsible").slideUp().removeClass("collapsible").addClass("collapsed"); //Lukker alle
    $(this).next(".collapsed").slideDown().addClass("collapsible").removeClass("collapsed"); // Åbner den næste
    $(this).removeClass("closed").addClass("open"); //skifter fra lukket til Åben
  }) 
});
Avatar billede intenz Novice
25. august 2010 - 14:39 #1
Du tilføjer/fjerner den samme klasse umiddelbart efter hinanden i begge kald i din .closed event.

removeClass("collapsible").addClass("collapsed");
addClass("collapsible").removeClass("collapsed");

Det er vel derfor?
Avatar billede intenz Novice
25. august 2010 - 14:40 #2
Hov, den havde jeg vist lige læst forkert. De er jo ikke de samme :P
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester