2014-02-24 51 views
0

我正在使用动画jQuery函数来上下滑动另一个div内的div。禁用X的动画jQuery的功能

$(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

下面的代码将在加载DOM后为每个5 sec执行myFunction()方法。你可以调用相同的功能,当你想要像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); 

请让我知道如果你需要任何help.Thanks。

+0

我不能让它工作。你能实现代码吗?这里是jsfiddle http://jsfiddle.net/atseros/w8qPP/1/ –

+0

你想在这里实现什么?你能解释清楚吗? –

+0

我想要做的就是停止.box2text上下移动,如果用户将鼠标放在窗口上或进入并离开盒子。如果你这样做.box2text将继续sliding.i希望能够控制...你有什么建议如何做到这一点? –

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 */ 
});