Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Wspólne zmienne dla skryptu w html i osobnym .js
owned
post 11.08.2009, 02:23:43
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


Witam!

Nie wiem co robię źle ale zmienne nie wymieniają się swobodnie między sobą.

  1. <script src="js/skrypt.js" type="text/javascript"></script>
  2. <script src="jquery.js" type="text/javascript"></script>
  3. </head>
  4. ...
  5. <script type="text/javascript">
  6. funkcja(100);

W pliku skypt.js mam zagnieżdżoną funkcję 'funkcja'

  1. $(document).ready(function(){
  2. function funkcja(atrybut){
  3. document.write(atrybut);
  4. };
  5. });


Dlaczego nie wyświetla się '100' ?
Gdzie robię błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ayeo
post 11.08.2009, 02:29:50
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witam!

Zagnieżdżona funkcja? Samo wywołanie funkcji daj w:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){ funkcja(100); });
[JAVASCRIPT] pobierz, plaintext


Natomiast samą definicję funkcji w head:
[JAVASCRIPT] pobierz, plaintext
  1. <script>
  2. function funkcja( var ) { alert( var ); }
  3. </script>
[JAVASCRIPT] pobierz, plaintext


Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 11.08.2009, 08:50:43
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(owned @ 11.08.2009, 03:23:43 ) *
Nie wiem co robię źle ale zmienne nie wymieniają się swobodnie między sobą.
....
Dlaczego nie wyświetla się '100' ?
Gdzie robię błąd?

definicję funkcji masz wewnątrz funkcji anonimowej - poczytaj o zasięgu zmiennych jak i o zasięgu funkcji w JS... poza tym w zagnieżdżonym skrypcie w html'u jeśli nie dajesz zdarzeń po załadowaniu się dokumentu to funkcje też wykonują się przed wczytaniem całego dokumentu (przed onload - przed ready które też jest szybsze ale jednak po załadowaniu DOM)... ps. tak przy okazji jeśli chcesz ręcznie inicjować funkcje to możesz je inicjować w html'u przed samym body (funkcje będą mogły operować już na DOM który jest wyżej - testowałem i dobrze się sprawdza - można nawet za zamknięciem body a przed zamknięciem html'a)


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
owned
post 11.08.2009, 10:19:09
Post #4





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


Już widzę problem.

W head mam

  1. <script src="js/skrypt.js" type="text/javascript"></script>
  2. <script>liczba(1);</script>



skrypt.js:

NIE DZIAŁA:

  1. $(document).ready(function(){
  2. liczba(atr){
  3. document.write(atr);
  4. };
  5. });


DZIAŁA

  1. liczba(atr){
  2. document.write(atr);
  3. };
  4. $(document).ready(function(){
  5. ....
  6. });


Jakieś pomysły ? Funkcja ma zawierac elementy jQuery.

Nikt nie wie ?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 18:38