![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 11.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Natrafiłem na bardzo irytujący problem, z którym męczę się już zbyt długo. Oto on (w skrócie): mam dwie zmienne: tablica[] i mojaZmienna przez pewien czas wykonuje pętle while i zmieniam w niej wartość zmiennej mojaZmienna ale przed każdą zmianą chcę sobie zapamiętać jej wartość więc podstawiam pod kolejne indeksy zmiennej tablica[] właśnie zmienną mojaZmienna. Poniżej taki pseudokodzik:
Problem w tym, że po zakończeniu pętli w każdej komórce tabeli[] zapisana jest ostatnia wartość zmiennej mojaZmienna zamiast kolejnych iteracji! Tak jakby w komórkach tabeli zapisywała się nie wartość lecz referencja do zmiennej mojaZmienna. Niestety nie znalazłem w necie odpowiedzi na to pytanie. Powiedzcie proszę co z tym zrobić żeby zaczęło działać poprawnie. Pozdrawiam i będę wdzięczny za pomoc! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Podejrzewam, że kod jednak wygląda trochę inaczej niż tu zaprezentowałeś
![]() Pokaż nam dokładniejszy kod - albo chociaż przykład, gdzie takie coś występuje. Strzelam, że chodzi o przypisanie odpowiedniego zdarzenia np. http://forum.4programmers.net/Webmastering...onclick_w_petli - gdzie ostatnie rozwiązanie jest tym polecanym przeze mnie. Jak nie strzeliłem to pokaż kod, gdzie możemy popatrzeć jak to działa ![]() Pozdrawiam PS. Postaraj się na przyszłość nie dawać tagu jQuery, gdy pytasz o czysty JS, gdyż np. ja często omijam takie tematy - taka rada ![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 11.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ok, zamieszczam oryginalne źródło (poprzycinane w niektórych miejscach)
i generalnie rozchodzi się o rzeczy w linijkach 1-6 i 36-41. tablica tabd jest zdeklarowana na początku skryptu, globalnie dostępna dla każdej funkcji. tempik jest zmienną tymczasową w której przechowuje array gdzie jedną z jego wartości jest tabd po kolejnych wykonaniach pętli. po zakończeniu skryptu w zmiennej movie powinienem mieć "historię" m.in. zmiennej tabd - bo na niej mi najbardziej zależy. Mam nadzieję, że jasno opisałem. Ten post edytował Polik 19.05.2011, 07:08:48 |
|
|
![]()
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 nie do końca rozumiem kod
![]() Ale przyszedł mi do głowy nowy pomysł - kopiując tablice, które w JS są obiektem robisz to chyba w sposób jak w linii 37: Kod odleglosci = tabd; - jeśli taki był twój zamysł(, żeby skopiować) to źle to robisz, gdyż: http://kurs.browsehappy.pl/JavaScript/Obiekty -> Kopiowanie obiektówPozdrawiam i mam nadzieję, że to to ![]() -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 11.12.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki kamil4u link okazał się pomocny! Generalnie rozchodziło się o kopiowanie arraya.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 04:09 |