![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Hej, Uczę się JS'a i w celach edukacyjnych napisałem coś takiego:
Problem jest takie, że Przesuniecie() wykonuje sie tylko raz i zmienia CSS: left:11px a chcialbym, zeby Przesuniecie() wykonywalo sie cyklicznie (czyli co 100ms zmieniala "left" na starawartosc+1px) Prosze o pomoc EDIT: Wiem, ze "stan" proboje zwiekszac w roznyhc miejsach, ale i tka zadne nie dziala tak, jak sie spodziewalem. Ten post edytował Twist 4.09.2011, 18:56:01 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Źle wywołujesz: setInterval(Przesuniecie(),100);
Powinno być: setInterval(Przesuniecie,100); https://developer.mozilla.org/pl/DOM/window.setInterval Jeżeli nadal nie zadziała umieść HTML i daj przykład na żywo - np. tu: http://www.jsfiddle.net/ Dam Ci więcej wskazówek, jeżeli dasz cały kod ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki!
Chodziło o wywołanie funkcji, tak jak pisałeś. Teraz działa dokładnie tak jak chciałem! |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nadal proponuje, żebyś umieścił cały kod(z HTML itd.) - może znajdę parę "niedociągnięć", które warto, żebyś zapamiętał.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Generalnie - dopiero sie uczę i próbuje stworzyć coś a kształt slidera - jak tylko go skoncze - wstawie tutaj kod bądź link do kodu i posłucham opinii bardziej doświadczonych chłopaków
![]() Wersja ALPHA: http://starodaj.securityhost.pl/slider/
Niepożadany efekt - jak najedziemy kilkakrotnie na czerwona strzalke to przewija sie 2x szybciej i tak w kółko... Jak sie tego pozbyc? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
1. Zamiast zmiennych tak,nie używaj true(tak)/false(nie)
2. Zrób jedną funkcję do przesuwania i jedną do zatrzymywania - a nie wszystko osobno 3. Zauważ, że większość kodu Ci się powtarza - warto tworzyć funkcje z argumentem, które znacznie skrócą kod. 4. Poczytaj o clearInterval -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za rady, pierwsze 3 wydaja sie jasne i zrozumiałem.
Co do 4 - jak poznać ID, ktore mam podac w clearInterval? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Zrób to trochę inaczej:
Kod mouseover -> test = setInterval(....); mouseout -> clearInterval( test ); i wtedy bez zmiennej "stop". lub Kod mouseover -> stop = false; test = setInterval( funkcja ); funkcja -> if( stop ) clearInterval( test ); else .... mouseout ->stop = true; -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
troche mi wstyd pytać, ale co oznacza ta strzałeczka?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Nic nie oznacza - to miał być skrót myślowy
![]() np. Kod UchwytLewy.addEventListener("mouseover",PrzewinWLewo,false); = Kod mouseover -> to co powinno znaleźć się w funkcji PrzewinWLewo
Ten post edytował kamil4u 4.09.2011, 21:45:02 -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 174 Pomógł: 11 Dołączył: 12.10.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Tak też myślałem, ale wolałem się upewnić. Wychodzę z założenia "nie jest wstydem pytać, wstyd to nie wiedzieć".
Jutro przerobię skrypt wg. wskazówek i wstawię tutaj Dzięki jeszcze raz |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 04:37 |