Ich versuche, ein Element auf der linken Seite bewegen, wenn die Maus auf der linken Seite des Bildschirms, wenn auf der anderen Seite. Ich möchte eine Funktion aktivieren, die das Element bewegt, wenn die Maus eine Zone betritt, und diese Funktion beim Beenden stoppen.setInterval kann nicht gestoppt werden
Ich habe versucht, setInterval
und clearInterval
zu verwenden, aber unmöglich, es zu arbeiten. Die setInterval
funktioniert, und die Funktion startet, aber ich kann es nicht stoppen.
Hier ist der Code in einer init-Funktion erklärt:
var intervalLeft;
var intervalRight;
var currentMousePos = { x: -1, y: -1 };
$(document).mousemove(function(event) {
currentMousePos.x = event.pageX;
if (currentMousePos.x < 200) {
console.log('LEFT');
intervalLeft = setInterval(goleft, 500);
} else if (currentMousePos.x > $width-200) {
console.log('RIGHT');
intervalRight = setInterval(goright, 500);
} else {
console.log('STOP');
clearInterval(intervalRight);
clearInterval(intervalLeft);
}
});
Oh ich dachte, dass die 'interval' Objekte nur sich selbst aktualisierten, sie wurden tatsächlich multipliziert. Es funktioniert jetzt gut, vielen Dank! – Skaddict