Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] jQuery - rozwijanie, mały problem
-lukasamd-
post
Post #1





Goście







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).
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$(this).nextAll('.rozwijanie')
manual naprawde nie gryzie (IMG:style_emoticons/default/winksmiley.jpg)
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #3





Goście







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) (IMG:style_emoticons/default/smile.gif)
Dzięki.

Ten post edytował lukasamd 28.04.2010, 11:02:10
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale nazwa myląca jak dla mnie
dlatego obok nazw podawany jest opis i przyklad.

Cytat
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...
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #5





Goście







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>


Ten post edytował lukasamd 28.04.2010, 11:02:35
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #7





Goście







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 (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 03:49