Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozwijane divy
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Outside
Witam, robię stronę i chcę zrobić, aby newsy były wysuwane więc skorzystałem z gotowego skryptu znalezionego na tym forum, ale działa on tylko na jednego diva, gdy jest ich kilka wysuwa tylko pierwszego niezaleznie od tego na którego klikne. Błąd wiem na czym polega, ponieważ "rozwin" dziala tylko na diva o id panel, ale nie mam bladego pojęcia o javascript więc mógłby mi go ktoś przerobić tak, aby każde rozsunięcie działało do odpowiedniego diva?
Tutaj link
http://jsfiddle.net/WmAkc/171/
kamil4u
1. ID jest unikalne - użyj class - w CSS i jQuery: .TwojaKlasa w HTML class="TwojaKlasa"
2. Następnie zmień jedynie tę linię $panel = $("#panel"); korzystając z innych możliwości DOM

Najłatwiej zrobić to tak - http://jsfiddle.net/DGDjz/ :
HTML:
  1. <div>
  2. <div class="belka">
  3. <div class="zwin">zwiń</div>
  4. </div>
  5. <div class="panel">
  6. <p>Lorem ipsum dolor sit amet</p>
  7. <p>Lorem ipsum dolor sit amet</p>
  8. </div>
  9. </div>


JS:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2.  
  3. $(".belka .zwin").click( function(){
  4. var $button = $(this),
  5. $panel = $( this ).parent().parent().find(".panel");
  6. $panel.stop(true,true);
  7. $panel.slideToggle(1000, function(){
  8. var text;
  9. if($panel.is(':visible'))
  10. {
  11. text = 'zwiń';
  12. }
  13. else
  14. {
  15. text = 'rozwiń';
  16. }
  17. $button.toggleClass('rozwin').text(text);
  18. });
  19. });
  20.  
  21. });
[JAVASCRIPT] pobierz, plaintext

Outside
A mozna to jakos przerobic tak, zeby początkowy div był schowany?
kamil4u
http://jsfiddle.net/DGDjz/1/
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.