PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : setInterval


polar
28.07.2002, 21:25
Moin,

gibt es eine Möglichkeit setInterval(); zu stoppen? Ich möchte ein div nach oben und unten "ausschlagen" lassen. erst soll es stark hoch und runter fahren, dann aber immer langsamer werden und schliesslich wieder an die ursprüngliche Position fahren. Kann mir jemand helfen?? *g*


Felix Kaiser
28.07.2002, 21:26
Einfach die von setInterval zurückgegebene ID an clearInterval() übergeben :)

polar
28.07.2002, 21:33
zurückgegebene ID? Welche ID? =)
clearInterval(); kannte ich bis jetzt gar nicht *fg*

Edit: Ok, noch etwas anderes. Der Mauszeiger schleift meinen div hinterher =) dadurch das ich aber permanent xy des div's an xy des Mauszeigers anpasse, kann ich die geplante auf und ab Animation nicht ablaufen lassen. Wie kann ich das umgehen???

Felix Kaiser
29.07.2002, 18:08
Zeig mal die entsprechenden Code stellen, so kann ich nix sagen.

polar
30.07.2002, 21:21
Na, ich hab den Code noch gar nicht geschrieben *g* nur im Kopf. Aber wenn du wissen möchtest wie ich einen DIV dem Mauszeiger folgen lasse bitte:


var ie5 = (document.getElementById && document.all);
var ns6 = (document.getElementById && !document.all);

function moveDim(e) {
obj.style.visibility = 'visible';
if(ie5) {
obj.style.left = document.body.scrollLeft + event.clientX + 30;
obj.style.top = document.body.scrollLeft + event.clientY + 30;
}
else if(ns6) {
obj.style.left = window.pageXOffset + e.clientX + 30;
obj.style.top = window.pageYOffset + e.clientY + 30;
}
}

function delDim() {
obj.style.visibility = 'hidden';
}

function initInfoMsg() {
if(ie5 || ns6) {
obj = document.getElementById('dim');
}
}

document.onmousemove = moveDim;
document.onmouseout = delDim;
onload = initInfoMsg;


Dieser Code ist ja allgemein bekannt =) Ich würde jetzt gern eine Funktion einbauen, die meinen DIV etwas elastischer macht *g* also wenn die Maus sich bewegt soll der DIV ausschlagen (so wie ich es schon beschrieben hatte). allerdings funkt mir ja meine moveDim Funktion dazwischen ;) Das ist mein Problem. Ich weiss gar nicht ob sich das überhaupt realisieren lässt. der DIV soll ja immer der Maus folgen, aber bei bewegung der Maus ausschlagen.

Felix Kaiser
31.07.2002, 00:55
Alles schön und gut nur was soll passieren wenn er ausschlägt? Blinken oder was genau?

polar
01.08.2002, 21:40
Hehe! Naja eben beim Mausbewegen :) Bewegt der User die Maus soll der DIV mal kurz ausschlagen und sich wieder beruhigen.

Edit: Ups! Verlesen :) Jaja das liebe Bier. Der DIV soll nur Hoch, Runter und dann wieder in die von der Maus vorgegebene XY Pos.
Aber die wird ja andauernd beim bewegen aktualisiert :( Also kann ich die XY Pos. des DIV gar nicht verändern.

Felix Kaiser
01.08.2002, 23:48
Denk mal in die Richtung: Du kannst in dem absolut positionierten <DIV> Tag ein relativ positioniertes <DIV> Tag reinsetzen. Das solltest du dann problemlos ausschlagen lassen, wenn du die Ausschlagsrichtungen genügend Platz gelassen hast. Überdenks dir mal.

Fips
21.09.2002, 10:59
ich probier mal den interval-code:



intervallid = setInterval("funktion()", 500);

function stoppe_intervall(){
clearInterval(intervallid);
}