如何阻止函数在javascript中继续?

如何阻止函数在javascript中继续?,javascript,jquery,Javascript,Jquery,我需要做什么才能使一个函数停止另一个函数继续? 具体来说,这里发生的是;“开始”按钮启动动画以更改div的宽度。单击div时,如何停止动画继续 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> function start() { $("#block").animate({width:'0px

我需要做什么才能使一个函数停止另一个函数继续? 具体来说,这里发生的是;“开始”按钮启动动画以更改div的宽度。单击div时,如何停止动画继续

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
    function start() {
        $("#block").animate({width:'0px'},2000);
    }
    function stop() {
        //How do I stop the start() function from continuing?
    }
</script>
<style>
    #block {
        height:150px;
        width:150px;
        background-color: blue;
    }
</style>
<div id="block" onclick="stop()></div>
<button onclick="start()">Start</button>

函数start(){
$(“#块”).animate({width:'0px'},2000);
}
函数停止(){
//如何阻止start()函数继续?
}
#挡块{
高度:150像素;
宽度:150px;
背景颜色:蓝色;
}

JavaScript是单线程的,一个函数不能停止另一个函数,因为它们不能同时运行

也就是说,您的问题实际上是一个jQuery动画问题。只需告诉jQuery停止为元素设置动画

function stop() {
    $("#block").stop();
}
工作示例:

函数start(){
$(“#块”).animate({width:'0px'},2000);
}
函数停止(){
$(“#块”).stop();
}
#挡块{
高度:150像素;
宽度:150px;
背景颜色:蓝色;
}

启动
停止
。设置动画,而不是启动功能。当动画发生时,
start
函数实际上没有运行,它只是调用
.animate
jquery方法,这就是您想要中断的

使用停止功能

 function stop() {
            $("#block").stop();
}

您可以使用JQuery stop(),其文档已给出


函数start(){
$(“#块”).animate({width:'0px'},2000);
}
函数停止(){
$(“#块”).stop();
}
#挡块{
高度:150像素;
宽度:150px;
背景颜色:蓝色;
}

Start
嗯,.animate()是错误的,但是.stop()是正确的。没有理由调用
。在调用
之前,animate
。stop
。ryt更具体