![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Spotkałem się z sytuacją która mnie lekko zdziwiła. Postaram się pokrótce ją opisać.
Skrypty JS zawsze wciskam w sekcję <head> dokumentu. Po zapoznaniu się ze stylem obiektowym w JS stało się to o tyle proste że całą funkcjonalność przerzucam na obiekty ( powiedzmy tworzę obiekt menu, a w nim umieszczam metody zajmujące się zdarzeniami ). Natomiast ich inicjalizacją zajmuje się osobny plik JS w którym umieszczam kod za to odpowiedzialny ( na przykład tworzenie obiektu i wykonanie metod przypisania zdarzenia ). Teraz do sedna sprawy. W jQuery istnieje odpowiednik window.onload czyli funkcja ready() odpowiedzialna ona jest za wykonanie określonych zadań po załadowaniu dokumentu. Dzisiaj 2 godziny spędziłem na debugowaniu skryptu który nie miał dostępu do wysokości elementu DOM, bo ten nie był jeszcze do końca załadowany. Kiedy przeniosłem inicjalizację za miejsce ( pod ) w który ten element się znajdował, wszystko zaczęło działać. Na razie prosiłbym was o to żebyście spróbowali mi jakoś wyjaśnić jak to się mogło stać że $("document").ready(function(){ kod }); wykonywał się kiedy właściwość height rzeczonego elementu DOM nie była jeszcze zdefiniowana. Jeśli nie będziecie w stanie to uproszczę kod i go tutaj wkleję. Z góry dzięki za zainteresowanie tematem. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
No i kaplica. Zapomniałem zachować kodu z błędem. I oczywiście nie sprawdziłem jeszcze czy działa na onload zamiast ready(). Przyjść na forum, wyżalić się ale użyć mózgu to już nie. (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) Trudno ehh. Teraz będą pisał trochę więcej w JS więc może uda mi się reprodukować błąd.
Rafal Filipek@ Nawet nie wiedziałem że istnieje taka zależność. Zawsze dodaję skrypty po arkuszach stylu, ale jest to usankcjonowane zwyczajną kolejnością prac. Dzięki za zwrócenie uwagi na to. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 02:06 |