Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery]Kopiowanie diva ze zdarzeniami
sazian
post 16.12.2011, 14:37:17
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


Witam,
w jaki sposób można przekopiować zawartość diva wraz ze zdarzeniami questionmark.gif

potrzebuję dopisać do gotowego skryptu galerii(http://galleria.aino.se/) pewną funkcjonalność
otóż do każdego zdjęcia może być wyświetlany opis, domyślnie jest to tekst z atrybutu alt. Ja tak przerobiłem ten skrypt aby był wczytywany tekst z diva
[JAVASCRIPT] pobierz, plaintext
  1. escription: $('#ref_'+img.attr('ref')).html() || '',
[JAVASCRIPT] pobierz, plaintext

ale do elementów w tym diwie są podpięte pewne akcje(na podstawie nazwy klasy), a przy taki kopiowaniu zostaje skopiowany tylko kod html bez podpiętych zdarzeń sadsmiley02.gif

Go to the top of the page
+Quote Post
zegarek84
post 16.12.2011, 14:46:06
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


w jQ możesz kopiować elementy ze zdarzeniami za pomocą .clone() - oczywiście o ile te zdarzenia podpinałeś za pomocą jQ (w szczegóły nie ma sensu wchodzić)...

jednak trochę nie rozumiem Twojej wypowiedzi, po za tym powinieneś dać przykład live (online) strony...

Ten post edytował zegarek84 16.12.2011, 14:46:56


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
sazian
post 16.12.2011, 15:01:26
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


demo:
http://mercedes.gocreate.pl/galeria/
do pobranie:
http://mercedes.gocreate.pl/galeria/classic.tar.gz


na czarnym pasku na górze pojawia się napis click pod który jest podpięta akcja

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2.  
  3. $('.ref').click(function(){
  4.  
  5. alert($(this).attr('id'));
  6.  
  7. });
  8.  
  9.  
  10. });
[JAVASCRIPT] pobierz, plaintext

po wpisaniu

[JAVASCRIPT] pobierz, plaintext
  1. escription: $('#ref_'+img.attr('ref')).clone() || '',
[JAVASCRIPT] pobierz, plaintext

nie dzieje się nic (napis jest niewidoczny)


Go to the top of the page
+Quote Post
zegarek84
post 16.12.2011, 16:40:15
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(sazian @ 16.12.2011, 15:01:26 ) *
na czarnym pasku na górze pojawia się napis click pod który jest podpięta akcja
...

nie... na czarnym pasku pod napis "click" nie masz podpięte żadne zdarzenie... znalazłem 2 elementy o tej klasie które mają podpięte zdarzenie o którym piszesz ale są na początku drzewa w body i są ukryte!!!
  1. <span id="ref_1" class="hidden ref">
  2. <span> click </span>
  3. </span>
  4.  
  5. <div id="ref_0" class="hidden ref">
  6. <span> click </span>
  7.  
  8. </div>

i gdzie masz zapisany obiekt imgquestionmark.gif próbowałem go znaleźć lecz nie widzę, jako zmienną globalną też go nie tworzysz gdyż console.log(img) nic nie pokazało...

firebug doinstaluj sobie w mozilli i jedziesz z koksem - poza tym nie bardzo rozumiem co chcesz osiągnąć...

Ten post edytował zegarek84 16.12.2011, 16:41:35


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
sazian
post 16.12.2011, 19:11:15
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


ok jeszcze raz
galeria jest tworzona następująco
  1. <div id="galleria">
  2. <a href="1.jpg">
  3.  
  4. <img ref="1" src="a1.jpg">
  5. </a>
  6. <a href="2.jpg">
  7. <img ref="0" src="a2.jpg">
  8. </a>
  9.  
  10. </div>
  11.  
  12. // Load the classic theme
  13. Galleria.loadTheme('galleria.classic.js');
  14.  
  15. // Initialize Galleria
  16. $('#galleria').galleria();
  17.  
  18. </script>

wywołanie funkcji $('#galleria').galleria(); powoduje przekształcenie tego kodu na kod galerii.
Domyślnie w tym czarnym polu na górze była wczytywana zawartość pola "alt", ja przerobiłem kod tak aby była wczytywana zawartość selektora o id "ref_X" gdzie X to parametr ref z obrazka (<img ref="0" src="a2.jpg">).
Czyli w tym przykładzie ma być wczytywana zawartość jednego z tych obiektów
  1. <span id="ref_1" class="hidden ref">
  2. <span> click </span>
  3. </span>
  4. <div id="ref_0" class="hidden ref">
  5. <span> click </span>
  6. </div>

Zawartość jest wczytywana prawidłowo ale po kliknięciu na span nic się nie dzieje(akcja nie jest kopiowana)
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $(document).ready(function(){
  3.  
  4. $('.ref').click(function(){
  5.  
  6. alert($(this).attr('id'));
  7.  
  8. });
  9.  
  10.  
  11. });
[JAVASCRIPT] pobierz, plaintext


ja chcę aby była wczytywana zawartość odpowiedniego "#ref_" wraz z zdarzeniami
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 30.04.2025 - 08:57