我正在使用animate jQuery函数在另一个div内上下滑动。
$(document).ready(function() {
$(".box2text").hover(
//on mouseover
function() {
$(this).animate({
height: '+=130' //adds 250px
}, 'slow' //sets animation speed to slow
);
},
//on mouseout
function() {
$(this).animate({
height: '-=130px' //substracts 250px
}, 'slow'
);
}
);
});
我想要做的是,在第一次运行之后禁用X秒的功能,然后再次启用它。 关于如何做到的任何想法?
答案 0 :(得分:0)
以下代码将在加载DOM后为每个myFunction()
执行5 sec
方法。您可以随时调用相同的功能,如hover , onclick , mouseenter
等...
尝试在我的代码中实现你的逻辑。
var enable = true ;
var timer ;
$(document).ready(function() {
myFunction();
timer = setInterval(function(){myFunction();},5000)
});
function myFunction(){
if(enable == true ){
//do your stuff
enable = false;
}else{
//do your stuff
enable = true;
}
}
您也可以通过
停止执行 clearInterval(timer);
如果您需要任何帮助,请告诉我。谢谢。
答案 1 :(得分:0)
我建议您考虑使用mouseenter和mouseleave方法 在这里,您可以自己尝试:DEMO。
考虑这个例子:当鼠标输入开始超时(每次执行一次):在2000ms之后为球设置动画。
var animateBall = function() {
$('#ball').animate({
left: "300px"
}, 200). animate({
left: "0px"
}, 200);
}
$("button").mouseenter(function(){
setTimeout(function() {
animateBall();
},2000);
}).mouseleave(function(){
/* do something else */
});