gpt4 book ai didi

javascript - MouseDown 时,首先缓慢减少数字,然后增加减少速度(jQuery)

转载 作者:行者123 更新时间:2023-11-28 04:19:51 25 4
gpt4 key购买 nike

正如标题所暗示的那样,我遇到了 MouseDown 问题。我想要的“伪代码”

While ("#arrowUp").mouseDown(function() {
counter++; //One time directly when pressed
if(MouseDownTime > 500){ //500ms that is
setTimeOut({counter++}, 75); //Meaning, every 75ms counter++
}

我已经在 Stack Overflow 上看了两天多了。我成功地每 75 毫秒递增一次,但随后我无法在 if(MouseDownTime > 500) 语句中构建,同时仍然能够在 500 毫秒后每 75 毫秒递增一次计数器。

$("#tempUp").mousedown(function() {     //When longer pressed, automatically faster increase Temperature
int = setInterval(editTemp(currTemp+1), 250);
})
.mouseup(function() {
clearInterval(int);
numberOfRepeats = 0;
});

这是我目前拥有的函数代码。谁能帮帮我?还是我以错误的方式提出问题? (非建设性的)

最佳答案

如果我理解正确的话,你可以结合使用 setTimeoutsetInterval,如下所示:

$(document).ready(function () 
{
var temp = 0;
var to = null;
var iv = null;

$("#ClickMe").on("mousedown", function ()
{
temp++;
$("#Temp").html(temp);
to = setTimeout(function ()
{
iv = setInterval(function ()
{
temp++;
$("#Temp").html(temp);
}, 75);
}, 500);
}).on("mouseup mouseleave", function ()
{
clearTimeout(to);
clearInterval(iv);
});
});

看到这个 FIDDLE 举个例子。

编辑:添加了 mouseleave 事件以及 José F. Romaniello 的建议。

关于javascript - MouseDown 时,首先缓慢减少数字,然后增加减少速度(jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24307514/

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