JS: element in setTimeout einfügen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aufruf
bestimmtes element
daten
element
elemente
erste
funktion
garnicht
hilfe
irgend
koordinate
meinst
methode
objekt
pixel
vielen dank
-
Hi,
ich habe eine Funktion, die zwei elemente entgegennimmt, das Argumment der Funktion ist irgend eine ID eines Elementes (unwichtig), und im zweiten Argumment das Elemement selber (schl?sselwort this). Wenn man jetzt mit der Maus auf ein bestimmtes Element trifft, dann wird diese Funtion ausgel?st:
[...]
<div onmouseover="doDomething('el1',this)"></div>
[...]
Das funktioniert ohne Probleme. Mein Problem:
Ich will, dass die Funktion mit den Selben Daten Sp?ter ausgel?st wird (ich benutze setTimeout):
<div onmouseover="timeout = setTimeout('doDomething(\'el1\',' + this + ')',1000)"></div>
Aber das geht leider nicht (Schl?sselwort this geht nicht, das andere ist kein Problem). Ich habs auch schon mit setTimeout('doDomething(\'el1\',this)',1000) versucht, aber das funktioniert auch nicht.
Was muss ich jetzt machen, damit die Funktion doSomething this entgegennimmt?
mfg,
hr -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
ich habe eine Funktion, die zwei elemente entgegennimmt, das Argumment der Funktion ist irgend eine ID eines Elementes (unwichtig), und im zweiten Argumment das Elemement selber (schl?sselwort this). Wenn man jetzt mit der Maus auf ein bestimmtes Element trifft, dann wird diese Funtion ausgel?st:
[...]
<div onmouseover="doDomething('el1',this)"></div>
[...]
Das funktioniert ohne Probleme. Mein Problem:
Ich will, dass die Funktion mit den Selben Daten Sp?ter ausgel?st wird (ich benutze setTimeout):
<div onmouseover="timeout = setTimeout('doDomething(\'el1\',' + this + ')',1000)"></div>
Aber das geht leider nicht (Schl?sselwort this geht nicht, das andere ist kein Problem). Ich habs auch schon mit setTimeout('doDomething(\'el1\',this)',1000) versucht, aber das funktioniert auch nicht.
Was muss ich jetzt machen, damit die Funktion doSomething this entgegennimmt?
mfg,
hr
Ich vermute das geht leider garnicht (this ist kein String sondern ein Objekt und setTimeout erwartet eine String).
Aber sag mal was du machen m?chtest.
Mit this m?chtest du ja das Element ?bergeben, welches die Funktion aufgerufen hat um dann sp?ter auf Eigenschaften von den Element zuzugreifen.
Du k?nntest eine weitere Methode schreiben und in doDomething mit setTimeout diese neue Methode aufrufen.
Jens -
Hi, erstens danke f?r Deine Hilfe.
Es ist so: mit doSomething wird das Element "el1" einige Pixel unter dem this Element Hingeschoben. Eigentlich w?rde es ja auch mit einem className gehen, aber viel einfacher ist mit this.
[...]
Du k?nntest eine weitere Methode schreiben und in doDomething mit setTimeout diese neue Methode aufrufen.
Wie meinst du das?
Etwa so?:
function doSomething(el,origin) {
var x = getPosX(origin); // Die beiden funktionen hier (getPosX und getPosY) gibt es nicht, ich hab sie selber geschrieben um die X und Y-Koordinaten zu bekommen, aber das ist ja unwichtig.
var y = getPosY(origin);
timer = window.setTimeout("move(" + el + ","+x+","+y+")",150);
}
mfg,
hr -
Hi, erstens danke f?r Deine Hilfe.
Es ist so: mit doSomething wird das Element "el1" einige Pixel unter dem this Element Hingeschoben. Eigentlich w?rde es ja auch mit einem className gehen, aber viel einfacher ist mit this.
[...]
Du k?nntest eine weitere Methode schreiben und in doDomething mit setTimeout diese neue Methode aufrufen.
Wie meinst du das?
Etwa so?:
function doSomething(el,origin) {
var x = getPosX(origin); // Die beiden funktionen hier (getPosX und getPosY) gibt es nicht, ich hab sie selber geschrieben um die X und Y-Koordinaten zu bekommen, aber das ist ja unwichtig.
var y = getPosY(origin);
timer = window.setTimeout("move(" + el + ","+x+","+y+")",150);
}
Ja, so meine ich das. ;)
Jens -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage