“mousedown”事件正常,而“mouseup”事件则没有。 “mouseup”事件如何递归调用“down()”?
$(document).ready(function(){
function fly(){
$("img").animate({top :'-=50px',left:'+=50px'},1000);
}
function down(){
$("img").animate({top:'+=50px',left:'+=50px'},1000);
}
$( "button" ).mouseup(function() {
setInterval(down,1000)
}).mousedown(function() {
setInterval(fly,1000)
});
});
答案 0 :(得分:0)
你应该清除你的间隔,否则飞行和向下功能不会停止调用,并且也会被你的间隔的多个实例调用。这也是为什么确保您尝试创建的间隔被清除的好习惯。
您可能还希望在文档正文上使用mouseup间隔。否则当人将鼠标移离按钮时,鼠标注册不会被注册。
$(document).ready(function(){
var downInterval, upinterval;
function fly(){
$("img").animate({top :'-=50px',left:'+=50px'},1000);
}
function down(){
$("img").animate({top:'+=50px',left:'+=50px'},1000);
}
$( "button" ).mousedown(function() {
clearInterval(downInterval);
clearInterval(upInterval);
downInterval = setInterval(fly,1000);
});
$( "body" ).mouseup(function() {
clearInterval(upInterval);
clearInterval(downInterval);
upInterval = setInterval(down,1000);
});
});