Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Slideshow z wieloma funkcjami *tylko JS*
karamelek
post
Post #1





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

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


Hej,
przychodzę do Was z moim problemem. Otóż mam jako zadanie domowe napisać (bez użycia gotowych rozwiązań, Lightboxów, JQuery i bibliotek JS z Internetu) Slider, Slideshow zdjęć okazów motyli do mojej strony internetowej. Jest w sieci sporo rozwiązań ale żadno nie do końca odpowiada temu, co jest wymagane i zwykle ma jakiś plugin lub działa dzięki pomocy w.w. dodatków.
Sama coś napisałam, jednak jeszcze nie do końca działa to jak powinno.

Otóż ten Slider:
- powinien prezentować zdjęcia okazów z odpowiadającym podpisem
- powinien przy odswieżeniu lub pierwszym wejściu powinien wyświetlić się przypadkowo wylosowany okaz (tego jeszcze nie mam – tu zapewne trzeba pracować z Math.random)
- powinien zawierać przycisk do sterowania – dalej i wstecz
- powinien mieć wyłączony przycisk dalej przy zdjęciu ostatnim oraz wyłączony przycisk wstecz przy pierwszym (prawie działa, chociaż w moim Sliderze tak jakby nie było końca i po ostatnim zdjęciu pokazuje się pierwsze a powinno się zatrzymać)
- powinien „lecieć” dalej ze slajdami, jeśli użytkownik nie użyje żadnego z dwóch przycisków przez 3 sekundy (takie automatyczne przewracanie slajdów). Jeśli zaś użyje przycisku – logicznie automatyczne przełączanie powinno być zdeaktywowane.


Da się zrobić coś takiego przy pomocy tylko JS i HTML , bez żadnych dodatków?

Mój kod prezentuje się tak:

HTML
  1. <head>
  2. <meta charset="UTF-8">
  3. <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  4. <title>Motyle</title>
  5. </head>
  6. <body onload="sliderAuto()">
  7. <section class="containerSlider">
  8. <div id="okazy">
  9. <img src="media/slideshow/expo-1.jpg" id="slide" width="100%"></img>
  10. <div id="nameExponat">
  11. <p id="okazPodpis">Podpis eksponatu</p>
  12. </div>
  13. <form action="#" id="buttonNavi">
  14. <button type="button" onClick="slider(-1)" id="wstecz">&lt;&lt;</button>
  15. <button type="button" onClick="slider(1)" id="dalej">>></button>
  16. </form>
  17. </div>
  18. </section>
  19. </body>
  20. </html>


i JS
  1. var licznik;
  2. var wszyZdj;
  3. licznik = 1;
  4. wszyZdj = 4;
  5.  
  6. var captionText = new Array(
  7. "Podpis1",
  8. "Podpis2",
  9. "Podpis3",
  10. "Podpis4"
  11. )
  12.  
  13. window.setInterval(fuonction sliderAuto( x ){
  14. var image = document.getElementById('slide');
  15. licznik = licznik + 1;
  16. if(licznik > 4){ licznik = 1;}
  17. if(licznik < 1){ licznik = 4;}
  18. image.src="media/slideshow/expo-"+ licznik +".jpg";
  19. document.getElementById("okazPodpis").innerHTML = captionText[licznik];
  20. },3000);
  21.  
  22. function slider( x ){
  23. var image = document.getElementById('slide');
  24. licznik = licznik + x;
  25. if(licznik > 4){ licznik = 1;}
  26. if(licznik < 1){ licznik = 4;}
  27. image.src="media/slideshow/expo-"+ licznik +".jpg"
  28. buttons();
  29. }
  30.  
  31. function buttons() {
  32. document.getElementById('dalej').disabled = licznik >= wszyZdj;
  33. document.getElementById("wstecz").disabled = licznik <= wszyZdj;
  34. }


Nie wiem czy jest prawidłowy w samym pomyśle, ale jeśli trzeba zacząć na nowo zupełnie inaczej to zrobię tak (IMG:style_emoticons/default/smile.gif)

Będę bardzo wdzięczna za odpowiedzi, rozwiązania i porady (IMG:style_emoticons/default/smile.gif)

Pozdrawiam
Karamelek
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.09.2025 - 16:08