我想在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