Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] jQuery - rozwijanie, mały problem
Forum PHP.pl > Forum > Przedszkole
lukasamd
Witam,
mam mały problem z jQuery (tzn. z napisaniem, bo skrypt działa zapewne jak ma działać).

Mam oto takie coś do efektu zwijania / rozwijania:

Kod
  $("a.rozwin").toggle(function(){
    $(this).next(".rozwijanie").show("fast");
  },function(){
    $(this).next(".rozwijanie").hide("fast");  
  });


Niestety nie działa to, jeżeli mam jakiś element pomiędzy "a" a czymś z klasą "rozwijanie", np:

  1. <a href="#" class="rozwin">Testowy link</a>
  2. <span>Testowy tekst</span>
  3. <div class="rozwijanie">
  4. Tekst do zwijania / rozwijania
  5. </div>


Jak zrobić, aby efekt dotyczył następnego, niezależnie od tego co jest pomiędzy?
Sprawdzałem przy zamianie next() na closest() oraz find(), ale w ich wypadku w ogóle nie działa (nawet, gdy jest zaraz po nim).
nospor
$(this).nextAll('.rozwijanie')
manual naprawde nie gryzie winksmiley.jpg
lukasamd
No właśnie zaglądałem do manuala, ale nazwa myląca jak dla mnie (wydawało mi się, że uruchomi mi akcję dla wszystkich elementów o klasie rozwijanie) smile.gif
Dzięki.
nospor
Cytat
ale nazwa myląca jak dla mnie
dlatego obok nazw podawany jest opis i przyklad.

Cytat
tongue.gif
Nie pokazuj języka bo ci krowa nasika. Pomijam już fakt, że takie zachowanie jest niekulturalne - udzieliłem ci pomocy a ty mi w zamian pokazujesz język...
lukasamd
Cytat(nospor @ 28.04.2010, 10:52:30 ) *
Nie pokazuj języka bo ci krowa nasika. Pomijam już fakt, że takie zachowanie jest niekulturalne - udzieliłem ci pomocy a ty mi w zamian pokazujesz język...


Przepraszam, nie miałem w celu wstawienie tej emotki aby została tak zinterpretowana. Poprawiłem na chyba bardziej trafną do tej sytuacji.


Mam jeszcze jeden problem, całość nie działa, jeżeli element "rozwin" jest dzieckiem czegoś innego, a element "rozwijanie" jest gdzieś indziej (nie jest w hierarchii na poziomie rodzica "rodzin").
Np.

  1. <ul>
  2. <li><a href="#" class="rozwin">Link do rozwijania</a></li>
  3. <li>Cos innego</li>
  4. <li><a href="adres">Link zewnetrzny</a></li>
  5. </ul>
  6.  
  7. <div class="rozwijanie">
  8. Tekst do rozwijania / zwijania
  9. </div>
nospor
oj.. no bo nextAll dziala w obrebie rodzenstwa. No to jak masz gdzies indziej to uzyj szukania po klasie i juz.
Ewentualnie mozesz sie bawic i dla tego przypadku pojsc do rodzica i w nim szukac po rodzenstwie, czyli po wujkach smile.gif
lukasamd
Nie za bardzo wiedziałem jak, więc zrobiłem na sztywno - klik w element o takiej klasie = efekt na elemencie o takiej klasie (bez this). Co prawda gdybym tych drugich miał więcej niż 1, to zadziała na wszystkich, ale póki co nie jest to w planach winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.