Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Funkcja JS
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich. Mam napisaną funkcję js

Kod
function zegarek()
{
    var zegar = new Date();
    var czas;
    var sekunda, minuta, godzina;
    sekunda = zegar.getSeconds();
    minuta = zegar.getMinutes();
    godzina = zegar.getHours();
    if (sekunda < 10)
    {
        sekunda = "0" + sekunda;
    }
    if (minuta < 10)
    {
        minuta = "0" + minuta;
    }
    if (godzina < 10)
    {
        godzina = "0" + godzina;
    }
    czas = godzina +":"+ minuta +":"+ sekunda;
    window.document.forms.info.zegar.value=czas;
    setTimeout("zegarek();",1000);
}


i wrzucam ją w index.php
  1. <script type="text/javascript" src="functions/zegarek.js"></script>

ale nie wiem jak ją wywołać w odpowiednim miejscu. Gdy dodam w pliku js
Kod
zegarek();
to nic to nie daje. Proszę o pomoc.
PawelC
Wstaw w kodzie, gdzie chcesz aby on się pokazał, tak:
Kod
<script type="text/javascript">
zegarek();
</script>
flashdev
Cytat(adrianozo @ 13.10.2010, 17:59:49 ) *


Sprawdź czy poniższy kod działa, jeśli wstawisz go w miejscu wywoływania funkcji.
Kod
alert();


Jeśli nie działa, to zastosuj się do powyższej wypowiedzi, ale jeśli działa to pamiętaj, że w JS zanim wywołasz funkcję najpierw musi ona przejść przez interpreter JS. Nie jest to tak samo jak w PHP, że funkcję możesz wywołać "na górze", a gdzieś "poniżej" ją zadeklarować.
adrianozo
Nie dziala kod ExPlOiTa...
yevaud
funkcja wymaga odpowiedniej <form> na stronie
[JAVASCRIPT] pobierz, plaintext
  1. window.document.forms.info.zegar.value=czas;
[JAVASCRIPT] pobierz, plaintext
Crozin
Cytat
Nie jest to tak samo jak w PHP, że funkcję możesz wywołać "na górze", a gdzieś "poniżej" ją zadeklarować.
A od kiedy to niby takie cuda można?

1. Konsola błędów
2. Jak rozumiem wywołujesz tą funkcję w momencie gdy drzewo DOM jest już załadowane? (DOMContentReady lub wstawienie kodu JS po formularzu)
adrianozo
Jak na razie to zbytnio nie rozumiem co do mnie mówicie(piszecie) bo w JS raczkuje. Funkcję oczywiście wywołuje po wcześniejszym załadowaniu jej... smile.gif
yevaud
generalnie chodzi o to ze funkcja proboje wyswietlic czas w odpowiednim miejscu html'a
konkretniej o ile pamietam

  1. <form name="info">
  2. <input name="zegar">tu pojawi sie czas</input>
  3. </form>


wiec Twoja funkcja powinna byc uruchamiana PO tym jak ta czesc HTML'a zostanie "wyswietlona" np tak.


  1. <script type="text/javascript" src="functions/zegarek.js"></script>
  2.  
  3. <form name="info">
  4. <input name="zegar">tu pojawi sie czas</input>
  5. </form>
  6.  
  7. <script type="text/javascript">
  8. zegarek();
adrianozo
Dobra teoretycznie działa. Ale mam pytanie. Nie da się tego wyświetlić bez inputa? Żeby to było jako zwykły tekst a nie jako input?
yevaud
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('dupa').html(czas);
[JAVASCRIPT] pobierz, plaintext


  1. <span id="dupa"></span>
  2. <script type="text/javascript">zegarek();</script>
adrianozo
[JAVASCRIPT] pobierz, plaintext
  1. function zegarek()
  2. {
  3. var zegar = new Date();
  4. var czas;
  5. var sekunda, minuta, godzina;
  6. sekunda = zegar.getSeconds();
  7. minuta = zegar.getMinutes();
  8. godzina = zegar.getHours();
  9. if (sekunda < 10)
  10. {
  11. sekunda = "0" + sekunda;
  12. }
  13. if (minuta < 10)
  14. {
  15. minuta = "0" + minuta;
  16. }
  17. if (godzina < 10)
  18. {
  19. godzina = "0" + godzina;
  20. }
  21. czas = godzina +":"+ minuta +":"+ sekunda;
  22. window.document.forms.info.zegar.value=czas;
  23. setTimeout("zegarek();",1000);
  24. }
  25. document.getElementById('zegar').html(czas);
[JAVASCRIPT] pobierz, plaintext


  1. <span id="zegar"></span>
  2. <script type="text/javascript">zegarek();</script>

[/quote]

I nie wyświetla. Gdy getelementbyid wrzucę do funkcji jest to samo
yevaud
[JAVASCRIPT] pobierz, plaintext
  1. sorry, za duzo siedzialem w jquery ostatnio
  2.  
  3. function zegarek()
  4. {
  5. var zegar = new Date();
  6. var czas;
  7. var sekunda, minuta, godzina;
  8. sekunda = zegar.getSeconds();
  9. minuta = zegar.getMinutes();
  10. godzina = zegar.getHours();
  11. if (sekunda < 10)
  12. {
  13. sekunda = "0" + sekunda;
  14. }
  15. if (minuta < 10)
  16. {
  17. minuta = "0" + minuta;
  18. }
  19. if (godzina < 10)
  20. {
  21. godzina = "0" + godzina;
  22. }
  23. czas = godzina +":"+ minuta +":"+ sekunda;
  24. document.getElementById('zegar').innerHTML = czas;
  25. setTimeout("zegarek();",1000);
  26. }
[JAVASCRIPT] pobierz, plaintext
adrianozo
Dziękuje jesteś wielki smile.gif
flashdev
Cytat(Crozin @ 13.10.2010, 19:36:32 ) *
A od kiedy to niby takie cuda można?

1. Konsola błędów
2. Jak rozumiem wywołujesz tą funkcję w momencie gdy drzewo DOM jest już załadowane? (DOMContentReady lub wstawienie kodu JS po formularzu)


Już piszę co miałem na myśli.

  1. <?php
  2.  
  3. test();
  4.  
  5. function test(){
  6. echo 'test';
  7. }
  8.  
  9. fgets(STDIN);
  10.  
  11. ?>

  1. test(1); // nie zadziala
  2.  
  3. something here...
  4.  
  5. function test(n){
  6. alert('test ' + n);
  7. }
  8.  
  9. ...and here
  10.  
  11. test(2);


Napisałem prostym językiem, żeby było zrozumiałe dla początkującego. Może dlatego nie zrozumiałeś co miałem na myśli.
Piszę o tym ponieważ sam kiedyś zmagałem się z tym problemem w js nie wiedząc o co chodzi.
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.