如何让hover()
持续运行?当我将鼠标悬停在#up_btn
上时,我希望top
属性保持动画效果。现在,它只运行一次。
$(document).ready(function(){
$("#up_btn").hover(function(){
var new_num = parseInt($("#move_box").css("top"));
$("#move_box").css("top", new_num + 1);
})
})
答案 0 :(得分:2)
您可以使用setInterval
重复运行代码,然后使用clearInterval
停止动画:
$(document).ready(function() {
var timer;
$("#up_btn").hover(function() {
timer = setInterval(function() {
$("#move_box").css('top', '+= 1');
}, 100); // Change the interval as you see fit.
}, function() {
clearInterval(timer);
});
});
答案 1 :(得分:1)
使用setInterval
或setTimeout
。例如:
var move_box_interval;
$(document).ready(function() {
$("#up_btn").hover(function() {
// Change the interval to be appropriate. It's in milliseconds.
move_box_interval = setInterval(move_box, 100);
});
// Change this to the appropriate trigger.
$("#up_btn").mouseout(function() {
clearInterval(move_box_interval);
});
});
function move_box() {
$("#move_box").css("top", "+= 1");
}
答案 2 :(得分:0)
$(document).ready(function() {
$("#up_btn").mouseenter(function() {
var new_num = parseInt($("#move_box").css("top"));
$("#move_box").css("top", new_num + 1);
})
})