Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Wspólne zmienne dla skryptu w html i osobnym .js
Forum PHP.pl > Forum > Przedszkole
owned
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?
ayeo
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!
zegarek84
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)
owned
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 ?
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.