![]() |
![]() |
![]()
Post
#1
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
Witam
Z nudów piszę sobie skrypcik (proszę zwrócić uwagę że uczę się js ![]() ![]()
chodzi mi dokladnie o
Z góry dzięki za pomoc ![]() Ten post edytował kwiateusz 11.07.2006, 00:42:23 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
właśnie tak prubowałem i co dziwne skrypt przestawał działać .... po prostu funkcje zmiennych nie widziały... albo znowu coś pokręciłem
![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie zmienne w JS mają zasięg globalny. Wypunktuję co i jak, bo tak łatwiej:
- zmienna utworzona poza funkcją za pomocą var - globalna - zmienna utworzona poza funkcją bez var - globalna - zmienna utworzona wewnątrz funkcji bez var - globalna - zmienna utworzona wewnątrz funkcji za pomocą var - lokalna dla funkcji pozdr. |
|
|
![]()
Post
#5
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
Kod var pasek=document.getElementById('pasek'); var tresc=$('tresc'); var img= pasek.childNodes[0]; function PokazUkryj() { alert(pasek); alert(tresc); zrobiłem tak i w alertach mam null :/ |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
pod jaka przegladarka pracujesz? Polecam FF i konsole JavaScript.
Czy null to ogólne stwierdzenie, że nic nie pokazuje? JavaScript pod FF nie zrobi alerta na pustej wartości. Pod IE zdaje sie pokaze undefined. A moze masz ten skrypt w HEAD wstawiony? Wtedy wykona sie jeszcze przed powstaniem drzewa DOM i nie bedzie dostepu do elementow. Jak mozesz to pokaz wiecej kodu :) pozdr. |
|
|
![]()
Post
#7
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
tak mam ff i konsolke i pokazuje pasek hasn no properities
null to nie ogólne stwierdzenie tylko pokazuje sie taki string w okienku od alertt... owszem mam to w head, ale jak zmienne sa w funkcji to ładuje się ładnie a jak poza to już się wali...
Ten post edytował kwiateusz 11.07.2006, 10:12:36 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
no widzisz,
1. co sie dzieje kiedy masz zmienne w funkcji? wartosc im zostanie przypisana dopiero kiedy wywolana zostanie funkcja. U ciebie wywolujesz fukcje check() za pomoca zdarzenia onload dla BODY == drzewo DOM jest zbudowane, zmienne prawidlowo otrzymuja wartosci. 2. co sie dzieje kiedy zmienne masz poza funkcja? wartosc zostaje przypisana w momencie wykonania kodu. Jetesmy wiec w HEAD i probojemy przypisac zmiennej wartosc za pomoca getElementById. To sie nie uda, bo getElementById nie zna jeszcze struktury dokumentu. Pozna ja po zalkowitym zaladowaniu dokumentu do przegladarki. 3. robimy test. wystaw zmienne poza funkcje, ale przypisz im jakas stala wartosc, np. jakis dowlony string. Wszystko powinno zadzialac, tzn. alert powinien wyswietlic wartosc tych zmiennych. pozdr. |
|
|
![]()
Post
#9
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
heh
![]() ![]() @siemakuba jak już tak ładnie tłumaczysz to wyjaśniłbyś mi jak to jest z zasięgiem funkcji? np. mam jakas funkcje w head pomiedzy <script /> i czy bedzie ona widoczna w body pomiędzy <script /> oraz czy wyżej wymieniona funkcja $() zadziała w zdarzeniach typu onclick ? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Funkcje masz widoczne wszędzie od momentu, kiedy zostaną załadowane - bez znaczenia czy będziesz chciał ich użyć w zdarzeniach typu onclick bezpośrednio w HTML, czy w innym kodzie gdzieś niżej na stronie. Najlepiej wszystkie ładować w HEAD i ewentualnie wywoływać co potrzeba przez zdarzenie onload dla BODY. A jeszcze lepiej trzymać w zewnętrznym pliku - będzie wszystko zcachowane przez przeglądarkę więc będzie ładowane przy pierwszym odwiedzeniu strony. Tu uwaga - podczas testowania może wyglądać na brak reakcji na zmiany w skrypcie, ale wystarczy zamiast F5 zrobić "twardy refresh" - Ctrl+R i będzie kul :)
pozdr. |
|
|
![]()
Post
#11
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
aha dzięki
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:08 |