jQuery toogle()

Tags:    jquery javascript php

Kære udviklere.

Inden på dette link er jeg igang med at lave en "blog", hvor de nyeste indlæg kommer frem. Jeg ville lave det sådan at når man klikkede på et indlæg, så udvider den sig og viser alt indholdet. Jeg har forsøgt med toogle(), og det giver et resultat, men ikke det ønskede.

Min jQuery ser således ud:
Fold kodeboks ind/udJScript kode 


Den ligger i en while() funktion med php, jeg kunne ikke finde på andre metoder.

Så har vi min php:
Fold kodeboks ind/udPHP kode 


Det ser lidt uoverskueligt ud, men jeg håber at i kan hjælpe mig.

Mvh. Daniele :)



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Som Kasper skriver skal ID altid være unikt. Hvis du ikke ønsker at bøvle med ID som kasper skriver, kan du vælge at neste dine elementer lidt, således at indlægget er i en div under linket, men inden for den samme "hoved" <div>.

På den måde kan du lave noget alá følgende:

Fold kodeboks ind/udJScript kode 




Hej Daniele,

Et HTML elements ID bør altid være unikt - du udskriver adskillige links med det samme ID, hvilket er forkert. Du udskriver også en separat klump JavaScript for hvert indlæg, som dog ender med allesammen at referere til det samme link. I stedet kan du udskrive en onclick event på dine links, der specifikt refererer til det entry du gerne vil toggle, noget ala:

Fold kodeboks ind/udHTML kode 


Der er også andre måder at gøre det på, fx kan du give dine div's en fælles klasse og så lade hvert link finde den div der er tættest på dem i DOM'en og toggle den. Det er lidt mere besværligt, men giver til gengæld lidt mindre output til browseren :)

Mvh.

Kasper (TSW)



Indlæg senest redigeret d. 13.07.2011 17:21 af Bruger #1
Det virker sgu! Tusind tak for hjælpen! Kan i så forklare mig hvordan jeg gør sådan at de indlægs starter med at være lukkede, og så endelig når man klikker på dem, så åbner de? :)

Sæt style="display: none" når du echo'er div'en med blogindlæget.



Jeps, det er også en fin måde at gøre det på, Simon. Med jQuery er der typisk altid adskillige gode løsninger på samme problem, så som jeg også lidt lagde op til i mit første indlæg, så er det meget efter hvilken situation man er i samt smag og behag :)

Mvh.

Kasper (TSW)



Det virker sgu! Tusind tak for hjælpen! Kan i så forklare mig hvordan jeg gør sådan at de indlægs starter med at være lukkede, og så endelig når man klikker på dem, så åbner de? :)



Tusind tak, igen :)
Jeg har givet jer alle +1 i karma som tak for hjælpen :D



t