Javascript 在mousedown()函数上启动计时器并在div中显示

Javascript 在mousedown()函数上启动计时器并在div中显示,javascript,jquery,timer,mousedown,Javascript,Jquery,Timer,Mousedown,我试图使计时器开始时,鼠标按钮是用鼠标下降功能和停止计时器时,鼠标按钮是用鼠标上升功能 下面是我得到的代码: var开始时间; 函数显示(){ //稍后记录结束时间 var endTime=新日期(); //时间差(毫秒) var timeDiff=结束时间-开始时间; //剥去毫秒 timeDiff/=1; //获得秒数 var秒=数学轮(timeDiff%100000000); $(“.time”).text(秒); 设置超时(显示,1); } $(画布)。单击(函数(){ 开始时间=新日期

我试图使计时器开始时,鼠标按钮是用鼠标下降功能和停止计时器时,鼠标按钮是用鼠标上升功能

下面是我得到的代码:
var开始时间;
函数显示(){
//稍后记录结束时间
var endTime=新日期();
//时间差(毫秒)
var timeDiff=结束时间-开始时间;
//剥去毫秒
timeDiff/=1;
//获得秒数
var秒=数学轮(timeDiff%100000000);
$(“.time”).text(秒);
设置超时(显示,1);
}
$(画布)。单击(函数(){
开始时间=新日期();
设置超时(显示,1);
});

您可以在此处使用
setInterval
而不是
setTimeout
,因为您希望函数重复启动。但是,无论您使用哪种方法,都必须将间隔的返回值分配给变量,以便您可以使用
clearTimeout
clearTimeout
延迟停止它

此外,还有一个最短的时间,计时器将永远不能被调用早于,它大约是9-16毫秒,所以你的延迟1毫秒是永远不会发生的

var startTime=null;
var定时器=null;
函数显示(){
//稍后记录结束时间
var endTime=新日期();
//时间差(毫秒)
var timeDiff=结束时间-开始时间;
//剥去毫秒
timeDiff/=1;
//获得秒数
var秒=数学轮(timeDiff%100000000);
$(“.time”).text(秒);
}
$(画布).on(“mousedown”,函数(){
开始时间=新日期();
定时器=设置间隔(显示,10);
});
$(画布).on(“鼠标”,函数(){
清除间隔(计时器);
});


您的问题是什么?您想让计时器在鼠标悬停时停止吗?可能是重复的