gpt4 book ai didi

javascript - 间隔不会清除/clientX 和/或 clientY 不工作

转载 作者:行者123 更新时间:2023-11-30 15:39:02 28 4
gpt4 key购买 nike

我正在使用 dat.gui 制作一个简单的绘图程序

我有一个函数,它使用如下设置的间隔每 50 毫秒运行一次:

window.addEventListener("mousedown", function() {
let run = setInterval(function() {
// function here
}, 50)
})
window.addEventListener("mouseup", function() {
clearInterval(run)
})

那么这有什么问题呢?我也遇到了 clientX 和 clientY 的问题。

我的是这样的:

window.addEventListener("mousedown", function() {
let run = setInterval(function(event) {
let x = event.clientX,
y = event.clientY;
}, 50)
})

我试过在没有事件作为参数的情况下使用它,但它仍然不起作用。奇怪的是它在这样的实例中工作:

window.addEventListener("mousemove", function() {
let x = event.clientX,
y = event.clientY;
}

所以我错过了什么吗?我试过查找这个但没有找到任何东西。我这里也有完整的东西:

http://codepen.io/TheAndersMan/pen/pNZwrN?editors=0011

提前致谢!

最佳答案

window.addEventListener("mousedown", function() {
let run = setInterval(function() {
// function here
}, 50)
})
window.addEventListener("mouseup", function() {
clearInterval(run)
})

您不能在 mouseup 监听器中使用 run 变量,因为它们是在其他范围内定义的。

您可以将 event 变量传递给间隔:

setInterval(function(){}, 50, event);

关于javascript - 间隔不会清除/clientX 和/或 clientY 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41093685/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com