![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
W jaki sposób zatrzymać wykonywanie funkcji, tzn powiedzmy ze funkcja przyklad(1,2) wykonuje sie z argumentami 1,2 a po kliknieciu w link chcialbym by ta funkcja obecnie wykonywana sie zatrzymala, a uruchomila sie ta sama funkcja tylko ze z innymi argumentami, np. przyklad(2,5). Dodam, ze funkcja przyklad jest funkcja rekurencyjna, ktora w zalozeniu, ma wykonywac sie w nieskonczonosc, tylko ze w zaleznosci od argumentow w inny sposob. A moze istnieje sposob na podawanie na biezaco argumentow dzialajacej juz funkcji?
Ten post edytował b4rt3kk 27.09.2011, 19:05:50 -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
@CuteOne coś mi się wydaje, że nie o to mu chodzi.
@b4rt3kk prawdopodobnie sam nie potrafi wytłumaczyć o co mu chodzi. Przede wszystkim jak uruchomisz funkcję rekurencyjną to zablokujesz interfejs i kliknięcie w przycisk nawet nie zostanie rozpoznane. Więc z 'zewnątrz' nie jesteś w stanie tego nawet zatrzymać. Chyba że nie będzie to w pełnym tego słowa znaczeniu rekurencja a użyjesz prawidłowo timeout`y. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Więc tak, dla jasności, mamy funkcję js:
delaye pomijam, bo mysle ze nie sa tu istota sprawy, natomiast gdy funkcja jest powiedzmy w miejscu gdy nr = 6, a klikne odnosnik o akcji onclick = costam(1) to chcialbym zatrzymac poprzednia funkcje costam, a wystartowac nowa z miejsca 1. Jednak wtedy dzialaja obie naraz. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 305 Pomógł: 25 Dołączył: 27.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod function costam(nr) { if (nr<10) { alert(nr); nr++; costam(nr); } else { nr = 1; costam(nr); } } Ten kod zablokuje przeglądarkę, bo zadziała następująco: costam(6); // zgodnie z Twoim przykładem 1. alert(6); 2. klikasz ok 3. alert(7); 4. klikasz ok 5. alert(8); 6. klikasz ok 7. alert(9); 8. klikasz ok 9. alert(1); 10. klikasz ok etc... Wyjaśnij więc może o co Ci chodzi? ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem w czym widzisz problem...
Ten post edytował CuteOne 28.09.2011, 12:47:49 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
@CuteOne: owszem, kombinowałem w ten sposób, ale niestety po dodaniu timeotów, funkcja zauważa zmianę zmiennej dopiero po wywołaniu, a ja bym chciał by nastąpiło to natychmiast. Kod HTML wygląda tak:
natomiast JS:
pointerSelected(currentValue) jedynie zmienia nazwy klas, więc kod nie jest potrzebny. Po kliknięciu owszem, karuzela kręci się od danego momentu, jednak zmiana następuje dopiero po kolejnym wywołaniu carousel1() co nastepuje po pewnym opoznieniu okreslonym w timeDelay. Ten post edytował b4rt3kk 28.09.2011, 13:36:36 -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Nie wiem w czym widzisz problem...
Na ten cytat mogę odpowiedzieć innym cytatem: Cytat(Douglas Crockford) java script: The World's Most Misunderstood Programming Language Prosty przykład. Kod var done = false; setTimeout(function(){ done = true; }, 1e3); while( !done ); alert('done!'); Pojawi się komunikat? Nie pojawi? A może przeglądarka się zawiesi? Ten post edytował flashdev 1.10.2011, 17:15:55 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
return ?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:32 |