JavaScript: volanie funkcie s window.event

Programovacie jazyky, rady, poradňa...
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

JavaScript: volanie funkcie s window.event

Príspevok od používateľa KViki »

Vie mi niekto poradit ako zavolat funkciu z document.js ??

Kód: Vybrať všetko

doSomething(e){
   blabla
}
na timer ?

Kód: Vybrať všetko

setInterval(doSomething(event),4000)
nefuguje
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa audiotrack »

keď za to dáš bodkočiarku, a keď si definuješ ten event (ak ho nemáš pred tým nastavením intervalu) tak to fungovať bude
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa KViki »

vedel by si mi dat nejaky link alebo popisat definovanie toho eventu ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa audiotrack »

ten event tam podľa mňa ani nepotrebuješ, keď očividne nevieš čo to je. Môžeš napísať presne tú funkciu doSomething? Ak je to iba nejaká tvoja vymyslená, tak by to bolo napríklad takto:

Kód: Vybrať všetko

setInterval("doSomething()",4000);

function doSomething(){
   alert('funguje');
}
jo, ešte som si teraz všimol že tú funkciu nemáš v úvodzovkach, setInterval totiž prvý parameter berie ako string
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa KViki »

noo hento mi je jasne,. :)

na inom fore mi poradili

Nefunguje to.

Kód: Vybrať všetko

setInterval(function()
{
   doSomething(event);     --- Tu mi hlasy chybu ( event is not defined )
}, 4000);
lenze to nefunguje

a potrebujem tam event. pretoze volam tuto funkciu

Nefunguje to.

Kód: Vybrať všetko

setInterval(function()
{
   doSomething(event);     --- Tu mi hlasy chybu ( event is not defined )
}, 4000);

Kód: Vybrať všetko

function doSomething(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
		document.getElementById('stvorec').innerHTML = cursor.x;
    return cursor;
}
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa audiotrack »

event tam nepotrebuješ, v provom riadku sa predsa definuje ako window.efent pokiaľ nie je nastavený:

Kód: Vybrať všetko

e = e || window.event;
Tú chybu ti hlási, lebo tam posielaš premennú ktorú si nedeklaroval. Kľudne to tam nedávaj, zavolaj to iba ako doSomething()
KViki
Light Expert
Light Expert
Príspevky: 74
Registrovaný: 06 dec 2008, 3:25
Kontaktovať používateľa:

Re: JavaScript: volanie funkcie s window.event

Príspevok od používateľa KViki »

bez toho mi to ale vobec nejde. Ja potrebujem len suradnice kurzora mysi dostat. Viem ich dostat na mousemove. lenze tam sa beru hned aktualne,. a ja ich potrebujem dostat do funkcie co sa bude vykonavat v urcitych caovych intervaloch...

Kód: Vybrať všetko

function doSomething(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {                  ------ Tu mi hlasy chybu ( e is undefined )
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    }
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX +
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY +
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
      document.getElementById('stvorec').innerHTML = cursor.x;
    return cursor;
}
Napísať odpoveď