Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS][Java][JavaScript]Przyciski do szablonu galerii javascript
Myszowaty23
post 18.10.2016, 05:41:18
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.10.2016

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


Witam! Potrzebuję pomocy z dodaniem przycisków NEXT PREV do szablonu galerii. Galeria jest warta uwagi, gdyż nie wymaga tworzenia miniaturek jednak przy dużej ilości zdjęć trzeba zdjęcie na stronie odnaleźć, kliknąć i wrócić do podglądu co jest kłopotliwe. Rozwiązaniem mają być wspomniane przyciski przełączające zdjęcia.

  1. <!DOCTYPE HTML>
  2. <title>Prosta galeria w JavaScript</title>
  3. <link rel="stylesheet" type="text/css" href="style.css">
  4. <meta charset="utf-8">
  5. </head>
  6.  
  7.  
  8. <p><img id="duze_zdjecie" src="obr1.jpg" alt="Duze zdjecie"></p>
  9.  
  10. <ul id="miniaturka">
  11. <li><a href="obr1.jpg" title="Obraz 1"><img src="obr1.jpg"></a></li>
  12. <li><a href="obr2.jpg" title="Obraz 2"><img src="obr2.jpg"></a></li>
  13. <li><a href="obr3.jpg" title="Obraz 3"><img src="obr3.jpg"></a></li>
  14. <li><a href="obr4.jpg" title="Obraz 4"><img src="obr4.jpg"></a></li>
  15. <li><a href="obr5.jpg" title="Obraz 5"><img src="obr5.jpg"></a></li>
  16. </ul>
  17.  
  18. var duze_zdjecie = document.getElementById('duze_zdjecie');
  19.  
  20. var miniaturka = document.getElementById('miniaturka');
  21.  
  22. miniaturka.onclick = function(e) {
  23. e = e || window.event;
  24. var target = e.target || e.srcElement;
  25.  
  26. while(target != this) {
  27.  
  28. if (target.nodeName == 'A') {
  29. PokażMiniaturki(target.href, target.title);
  30. return false;
  31. }
  32.  
  33. target = target.parentNode;
  34. }
  35. }
  36.  
  37. function PokażMiniaturki(href, title) {
  38. duze_zdjecie.src = href;
  39. duze_zdjecie.alt = title;
  40. }
  41.  
  42. var imgs = miniaturka.getElementsByTagName('img');
  43.  
  44. for(var i=0; i<imgs.length; i++) {
  45. var url = imgs[i].parentNode.href;
  46. var img = document.createElement('img');
  47. img.src = url;
  48. }
  49. </script>
  50.  
  51. </body>
  52. </html>

Szablon galerii jest tu: http://tmall.com.pl/prosta-galeria-w-javascript/
Go to the top of the page
+Quote Post
szczemp
post 18.10.2016, 07:26:07
Post #2





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

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


Dodaj gdzieś przyciski nawigacyjne
  1. <span id="prev">prev</span> <span id="next">next</span>

i w oncicku na dany przycisk (np prev) w javascripcie odczytat jakie zdjęcie akurat się wyświetla np po
  1. duze_zdjecie.src

Potem tego samego poszukaj w miniaturkach np coś w stylu
  1. imgs[i].parentNode.href == duze_zdjecie.src

I na podstawie tego będziesz wiedział jaki jest poprzednie zdjęcie i go ładować do dużego. Trzeba jeszcze sprawdzić czy nie jest ono pierwsze i wtedy ładować ostatnie.
Go to the top of the page
+Quote Post
Myszowaty23
post 21.10.2016, 08:55:54
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.10.2016

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


Nie idzie mi. Za mało rozumiem kod JS, który sam wrzuciłem.
Go to the top of the page
+Quote Post
szczemp
post 21.10.2016, 10:24:16
Post #4





Grupa: Zarejestrowani
Postów: 149
Pomógł: 9
Dołączył: 9.12.2010

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


W sumie to ja też nie jestem pro, ale coś dopisałem i działa.
Sprawdź
https://jsfiddle.net/7wbvd7r2/

Nie wiem do czego w Twoim kodzie jest ta pętla:
  1. for(var i=0; i<imgs.length; i++) {
  2. var url = imgs[i].parentNode.href;
  3. var img = document.createElement('img');
  4. img.src = url;
  5. }
więc u siebie zakomentowałem linię
  1. //img.src = url;
Jakby coś nie działało to ją odkomentuj.
Go to the top of the page
+Quote Post
Myszowaty23
post 21.10.2016, 11:22:53
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 18.10.2016

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


Jesteś Wielki. Bardzo Ci dziękuję. Wszystko działa.
Ja programowania się nieco uczyłem ale nie powiem, że nauczyłem. 10 lat temu to PHP dobrze mi w szkole szło ale potem na studiach miałem tylko język C# i do niego się nie przyłożyłem. Teraz czasami dla zabawy coś pokombinuję. Ostatnio całkiem ładny skrypt w VBA napisałem na potrzeby pracy. Z tą galerią właśnie poległem nie rozumiejąc kodu, który zapożyczyłem. Jeszcze raz wielkie dzięki.
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: 1.05.2025 - 04:15