只要鼠标在div上,每秒递增数字
Increment number every second as long as the mouse is on div
这是一件事。当鼠标指针位于 div 元素上时,我希望数字每秒递增 1,但不知何故它没有,我不知道问题出在哪里。
JS:
var num = 1;
var count = setInterval(
function(){
$("div").mouseover(
function(){
document.getElementById("myID").innerHTML = num;
num++;
}
);
}
,1000);
HTML:
<p id="myID"></p>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
您每秒钟都在添加相同的事件侦听器。我不认为那是你想要的。
当鼠标不在 div 上时,您还必须 clearInterval
。
var num = 1;
$("div").mouseover(
function(){
incInterval= setInterval(function(){
document.getElementById("myID").innerHTML = num;
num++;
},1000);
}
);
$("div").mouseout(
function(){
clearInterval(incInterval);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
<p id="myID"></p>
你可以试试这个:
var num = -1, count;
$('div').hover(startCounter, stopCounter);
function startCounter(){
$("#myID").html( ++num );
count = setTimeout(startCounter, 1000);
}
function stopCounter() {
clearInterval(count);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="myID">Hover the box to start counting.</p>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
设置鼠标悬停的时间间隔并清除鼠标移出的时间间隔。请务必声明间隔,以便您可以停止它。
var count = 0;
$('body').on('mouseover', 'div', function () {
inc = setInterval(function () {
count++;
$('#myID').text(count);
}, 1000);
}).on('mouseout', 'div', function () {
clearInterval(inc);
});
这是一件事。当鼠标指针位于 div 元素上时,我希望数字每秒递增 1,但不知何故它没有,我不知道问题出在哪里。
JS:
var num = 1;
var count = setInterval(
function(){
$("div").mouseover(
function(){
document.getElementById("myID").innerHTML = num;
num++;
}
);
}
,1000);
HTML:
<p id="myID"></p>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
您每秒钟都在添加相同的事件侦听器。我不认为那是你想要的。
当鼠标不在 div 上时,您还必须 clearInterval
。
var num = 1;
$("div").mouseover(
function(){
incInterval= setInterval(function(){
document.getElementById("myID").innerHTML = num;
num++;
},1000);
}
);
$("div").mouseout(
function(){
clearInterval(incInterval);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
<p id="myID"></p>
你可以试试这个:
var num = -1, count;
$('div').hover(startCounter, stopCounter);
function startCounter(){
$("#myID").html( ++num );
count = setTimeout(startCounter, 1000);
}
function stopCounter() {
clearInterval(count);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p id="myID">Hover the box to start counting.</p>
<div style="height:100px;width:100px;background-color:#3A5795;"></div>
设置鼠标悬停的时间间隔并清除鼠标移出的时间间隔。请务必声明间隔,以便您可以停止它。
var count = 0;
$('body').on('mouseover', 'div', function () {
inc = setInterval(function () {
count++;
$('#myID').text(count);
}, 1000);
}).on('mouseout', 'div', function () {
clearInterval(inc);
});