![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ktoś mi powie dlaczego takie coś nie działa poprawnie?
Wciskam przycisk wstecz i działa tylko pierwszy element funkcji: czyli z indeksu 1 do 0. Reszta nie działa. Rzecz jasna chodzi o przycisk do galerii function wstecz(){ if(indeks = 1){ indeks--; }else if(indeks = 2){ indeks--; }else if(indeks = 0){ indeks = 2; } } window.onload = function(){ var buttonik = document.getElementById("przycisk_poprzedni"); przycisk_poprzedni.onclick = function(){ wstecz(); } } |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A jak wygląda poprawny operator porównania?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
kiedy zamiast = dam == to w ogóle nie działa
Mam wrazenie, że funkcje nie chcą mi wykonywać kilku rzeczy tylko wykonują jedną Ten post edytował darksiders94 25.06.2014, 17:43:56 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
W jakim sensie kilku?
Ta funkcja przy jednym wywołaniu wykona maksymalnie jedną operację przypisania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
kiedy zamiast = dam == to w ogóle nie działa No i prawidłowo. Włącz konsole w przeglądarce to zobaczysz błędy (zmienna indeks jest w ogóle zainicjowana gdzieś?). Dodatkowo zamiast tak ifować ("zapętlając" licznik) możesz użyć np.:
Ten post edytował redeemer 25.06.2014, 17:53:14 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
no bo tam mam pierwszą rzecz a potem jeszcze w else if. Te if else w ogóle nie działają.Może podam cały kod to bedzie wam łatwiej byka znaleźć
var zdjecia = new Array("obraz-slider1","obraz-slider2","obraz-slider3"); const FOTY = "zdjecia/"; const SEC = 1000; const ZMIANA = 5*SEC; indeks = 0; function uaktualnij(){ var img = document.getElementsByTagName("img"); for(var i=0; i<img.length; i++){ img[i].src = FOTY + zdjecia[indeks] + ".jpg"; } indeks++; if(indeks==zdjecia.length) indeks=0; } function startInterval(){ interval = setInterval(function(){ uaktualnij(); }, ZMIANA); } function stopInterval(){ clearInterval(interval); } function wstecz(){ if(indeks=1) indeks=0; } window.onload = function(){ uaktualnij(); startInterval(); var but = document.getElementById("przycisk_stop"); var start = "Rozpocznij prezentację"; var stop = "Wstrzymaj prezentację"; przycisk_stop.value = stop; przycisk_stop.onclick = function(){ if(this.value == stop){ stopInterval(); this.value = start; }else{ startInterval(); this.value = stop; } } var buttonik = document.getElementById("przycisk_poprzedni"); przycisk_poprzedni.onclick = function(){ wstecz(); } } @Redeemer Nie za bardzo wiem co napisałeś (IMG:style_emoticons/default/biggrin.gif) dopiero zaczynam no i w związku z tym robię sobie galerię na dobry początek (IMG:style_emoticons/default/smile.gif) Funkcje i ifowanie jest dla mnie bardziej przejrzyste (IMG:style_emoticons/default/biggrin.gif) Ten post edytował darksiders94 25.06.2014, 18:24:29 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował trueblue 25.06.2014, 19:25:38 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
to co podałeś nie działa. Mam 3 zdjecia ale jedno miejsce na nie.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż cały kod.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
HTML
<!DOCTYPE html PUBLIC> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="skrypty.js"></script> <link rel="stylesheet" href="css/style.css" /> </head> <body> <div id="container"> <!-- -----------------------------SEKCJA1---------------------------------- --> <div id="sekcja1"> <div id="panel"> <div id="panel-telefon"> <b>KONTAKT: 500 450 846</b> </div> <div id="panel-email"> <b>E-mail: pawellos110@gmail.com</b> </div> </div> <div id="baner"> <div id="fotos"> <img src=""/> <input type="button" id="przycisk_stop" value="" /> <input type="button" id="przycisk_poprzedni" value="<<Prev" /> </div> </div> </div> <!-- -----------------------------SEKCJA2---------------------------------- --> <div id="sekcja2"> <div class="clear"></div> <div id="menu"> <div id="klocek1-menu"> <div id="klocek1-text"> <b>Główna</b> </div> </div> <div id="klocek2-menu"> <div id="klocek2-text"> <b>Szablony Allegro</b> </div> </div> <div id="klocek3-menu"> <div id="klocek3-text"> <b>Strony internetowe</b> </div> </div> <div id="klocek4-menu"> <div id="klocek4-text"> <b>Cennik<b> </div> </div> <div id="klocek5-menu"> <div id="klocek5-text"> <b>O nas</b> </div> </div> </div> <div class="clear"></div> <div id="nowe-standardy-css3"> <b>Nowe standardy CSS3 na Twojej stronie</b> </div> <div id="css3"> </div> <div class="clear"></div> <div id="html5"> </div> <div id="nowe-standardy-html5"> <b>Najnowsze rozwiązania HTML5 w zasięgu ręki</b> </div> <div class="clear"></div> </div> <!-- -----------------------------SEKCJA3---------------------------------- --> <div id="sekcja3"> <div id="stopka-autorska"> <div id="stopka-autorska-text"> <b>Szablon stworzony przez: pawellos110@gmail.com</b> </div> </div> </div> </div> </body> </html> JS var zdjecia = new Array("obraz-slider1","obraz-slider2","obraz-slider3"); const FOTY = "zdjecia/"; const SEC = 1000; const ZMIANA = 5*SEC; indeks = 0; function uaktualnij(){ var img = document.getElementsByTagName("img"); for(var i=0; i<img.length; i++){ img[i].src = FOTY + zdjecia[indeks] + ".jpg"; } indeks++; if(indeks==zdjecia.length) indeks=0; } function wstecz(){ indeks--; if(indeks<0) indeks=2; } function startInterval(){ interval = setInterval(function(){ uaktualnij(); }, ZMIANA); } function stopInterval(){ clearInterval(interval); } window.onload = function(){ uaktualnij(); startInterval(); var but = document.getElementById("przycisk_stop"); var start = "Rozpocznij prezentację"; var stop = "Wstrzymaj prezentację"; przycisk_stop.value = stop; przycisk_stop.onclick = function(){ if(this.value == stop){ stopInterval(); this.value = start; }else{ startInterval(); this.value = stop; } } var buttonik = document.getElementById("przycisk_poprzedni"); przycisk_poprzedni.onclick = function(){ wstecz(); } } |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem dlaczego nadal pchasz pętlę:
skoro masz jeden obrazek. Ale jeśli chcesz, to może zostać. Skrypt działa poprawnie, tzn. brak błędów wykonania. Przycisk "wstecz" tak oprogramowany również działa poprawnie - cofa indeks o 1, przez co kolejnym wyświetlanym slajdem jest "aktualny_indeks+1". Bardzo możliwe, że chciałeś inne działanie, ale jak na razie nie opisałeś. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
hmm.. no ale mi to nie działa. Nie mam pojęcia dlaczego. Może to przez timer? Zdjęcia są wyświetlane po kolei i przycisk nie działa.
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A jak ma działać przycisk?
Obecnie kiedy jest wyświetlane zdjęcie numer 3, po kliknięciu dwukrotnym indeks jest cofany do wartości 0, i jako kolejny wyświetli się slajd numer 2. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego po kliknięciu dwukrotnym?
Poza tym tak się właśnie nie dzieje. Pokaz leci sobie dalej i ten przycisk nic nie robi. Chcialbym żeby po kliknięciu przycisku natychmiat pojawiało się zdjecie wcześniejsze. Dobra, działa. Tylko nie wiem dlaczego po dwukrotnym kliknięciu dopiero. Nie wiem jak zrobić żeby od razu zdjęcia przeskakiwały. Dodaje do funkcji wstecz stopinterval a na koniec startinterval i nie reaguje tak jak powinno No i jeszcze nie rozumiem Twojego zapisu w funkcji wstecz. Jeśli dobrze rozumuję to zdjęcie 1 to indeks 0, zdjecie 2 to indeks 1, zdjęcie 3 to indeks 2. Więc dlaczego w funkcji jest jeśli indeks < 0. Kiedy indeks jest mniejszy od 0? Co najlepsze to działa.. chciałbym zrozumieć jak.. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Bo kliknąłem dwukrotnie.
Teraz dopiero opisałeś problem.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 0 Dołączył: 23.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko śmiga jak należy oprócz tego, że funkcja wstecz przestaje działać prawidłowo kiedy jest wyświetlane zdjęcie 3. Wtedy zamiast cofnąć do zdjęcia numer 2, wyświetla zdjęcie następne czyli pierwsze. Z kolei kiedy z pierwszego przejdę do ostatniego to z ostatniego nie chce przełączyć do drugiego.
Tak czy siak jest lepiej (IMG:style_emoticons/default/biggrin.gif) ba! nawet rozumiem wszystko co napisałeś (IMG:style_emoticons/default/smile.gif) dziękuję za pomoc Nawet wiem dlaczego się tak dzieje (IMG:style_emoticons/default/biggrin.gif) nie wiedziałem wcześniej jaki wskazuje indeks. Dopiero Ty mi powiedziałeś, że wskazuje następny. To zupełnie inna sprawa teraz (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 16:40 |