我试图让左边的元素向左移动,如果在屏幕的左侧,则在另一边。我想激活一个函数,当鼠标进入区域时使元素移动,并在退出时停止该函数。
我一直在尝试使用setInterval
和clearInterval
,但无法使其发挥作用。 setInterval
有效,功能开始,但我无法停止。
这是在init函数中声明的代码:
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);
}
});
答案 0 :(得分:6)
您在每个interval
事件中创建一个新的mousemove
,因此您只清除上一个启动的事件。你应该检查一下你是否已经开始interval
并且只有在你没有清除
java.util.Properties