我想在mouseenter
事件时开始计数,然后在mouseleave
事件中停止计数。但是,正如您在本示例的控制台中所看到的,mouseleave中的clearInterval(timerId)
命令不起作用。clearInterval(timerId)不工作
有什么问题?
var timerId;
clearInterval(timerId);
$("#demo").mouseenter(function() {
setTimeout(function() {
startcounting(timerId);
}, 2000)
});
$("#demo").mouseleave(function() {
clearInterval(timerId);
});
function startcounting(timerId) {
var number = 0;
timerId = setInterval(function() {
increment(timerId);
}, 100);
function increment(timerId) {
if (number >= 100) {
number = 0;
clearInterval(timerId);
} else {
number++;
console.log(number);
}
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="demo">demo</div>
请注意,所有相关的代码应放置在的问题,以防万一的jsfiddle下降。如果发生了这种情况,你的问题将无法回答。 –
非常感谢您的评论!我是新来的,如果你没有告诉我,我永远不会想到。 – themis93