Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]Brak reakcji
Forum PHP.pl > Forum > Przedszkole
castagir
Witam


Od jakiegoś czasu się uczę JS i czuję, że dość tej teorii i trzeba zabrać się za praktykę.
Już na samym początku napotykam same problemy.

Mam taki kod:
  1. <!DOCTYPE html>
  2. <meta charset="UTF-8" />
  3. <title>Instalacja ENDO</title>
  4. <link href="css/style.css" rel="stylesheet" type="text/css" />
  5. <script type="text/javascript" src="instalacja.js"></script>
  6. </head>
  7.  
  8. <div class="strona">
  9. <center><img src="css/logo_endo_duze.png" id="przejscie"/></center>
  10. <div class="tabela">
  11. <p id="przejscie1">Rozpocznij instalację</p>
  12. </div>
  13. </div>
  14. </body>
  15. </html>


Do tego jest plik js:
  1. var przejscie1 = document.getElementById("przejscie1");
  2. przejscie1.onclick = function(){alert("kliknales przejscie");}


Moje pytanie brzmi. Co zrobić aby po zdarzeniu "onclick", a nawet zwyklym "onmouseover" zostala wykonana czynnosc?
Tutaj akurat jest alert, ale tylko po to aby sprawdzić czy to zdarzenie działa. Wcześniej miałem kawałek kodu, który zmieniał treść poprzedniego akapitu, ale go wykasowałem, bo i tak nie działa. Problem leży w tym, że reakcja w ogóle nie chce zaskoczyć.

Jak poprawnie pisać to? Czy problem leży w tym, że nie jest może zmienna zaimplementowana podczas document.onload?
nospor
Skoro bawisz się js, to weź zainstaluj w koncu FireFox z FireBugiem... Tam masz konsole bledow a bedziesz widział na bieżąco o co pluje sie js...

Co do aktualnego bledu:
najpiero pobierasz element o danym ID, a potem dopiero ten element tworzysz.... hm.... widzisz juz sam błąd logiczny?
Randallmaster
Osobiście polecił bym naukę jquery jest prostsza smile.gif
castagir
Cytat(nospor @ 12.02.2015, 07:57:54 ) *
Skoro bawisz się js, to weź zainstaluj w koncu FireFox z FireBugiem... Tam masz konsole bledow a bedziesz widział na bieżąco o co pluje sie js...

Co do aktualnego bledu:
najpiero pobierasz element o danym ID, a potem dopiero ten element tworzysz.... hm.... widzisz juz sam błąd logiczny?


Zrobiłem tak jak powiedziałeś.
FireBug nic nie wykrywa, abłąd logiczny został poprawiony.
Teraz skrypt wyglada tak:

  1. document.getElementById("przejscie1");
  2. var przejscie1 = document.getElementById("przejscie1");
  3. przejscie1.onmouseover = alert("TEKST");


Problem teraz jest taki, że nie ważne jakie bym wpisał zdarzenie po "przejscie1.", alert pojawia się zaraz po załadowaniu strony.

@Randallmaster
Kusząca propozycja, ale nie mam jak sie tego nauczyć. Wcześniej próbowałem, ale tutoriale dostepne w internecie są do niczego, a nauczyciela też nie mam żadnego.
W dodatku nie ma żadnej dobrej polskiej dokumentacji.
nospor
Cytat
FireBug nic nie wykrywa, abłąd logiczny został poprawiony.
Jesli poprawiles blad logiczny, to logiczne, ze juz konsola nie pokaze zadnego bledu.

przejscie1.onmouseover = alert("TEKST");
To nie jest przypisanie wywolania alert dla onmouseover... to jest natychmiastowe wykonanie alert('TEKST') i przypisanie wyniku do onmouseover... bez sensu. Poczytaj o callback w js i jak sie ich uzywa.

ps:
o tu:
przejscie1.onclick = function(){alert("kliknales przejscie");}
masz poprawnie przypisany callback
castagir
tego juz probowalem x razy i nic nie dziala. nie wiem dlaczego, ale nawet jquery u mnie nie dzialaja. pobralem probke z helionu, gdzie jest wstawiony przykladowy skrypt z bilbioteka jquery i tez nie dziala.

byc moze problem lezy w moich przegladarkach lub serwerze.
Wazniak96
Co do jQuery, załączyłeś na pewno bibliotekę jQuery do kodu? Pokaż co tam naskrobałeś...
castagir
Już wszystko w porządku. Przerzuciłem się na drugiego kompa i na nim wszystko ładnie śmiga. Tutaj chyba jest problem ze sprzętem, ale teraz nie mam czasu się tym bawić.

Dzięki wszystkim za uwagę i pomoc.
Pozdrawiam!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.