Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在特定元素之后激活clearInterval()?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在特定元素之后激活clearInterval()?

Javascript 如何在特定元素之后激活clearInterval()?,javascript,jquery,Javascript,Jquery,我有五个正方形。当我单击按钮时,方块会随着setInterval上下移动。函数clearInterval工作正常。但我真正想要的是当我点击激活clearInterval时,在最后一个方块关闭后工作的方法 HTML代码如下所示: <div id="box-holder" class="down"> <ul> <li></li> <li></li> <li>&l

我有五个正方形。当我单击按钮时,方块会随着
setInterval
上下移动。函数
clearInterval
工作正常。但我真正想要的是当我点击激活
clearInterval
时,在最后一个方块关闭后工作的方法

HTML代码如下所示:

<div id="box-holder" class="down">
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
<div id="button-group">
  <button id="btn-move" class="stopped">Move Box</button>
  <button id="btn-active">Active Click</button>
</div>

跟踪使用动画并具有“stopped”类的元素数。如果btn移动元素的数量与“停止”元素的数量相同,则所有元素都已停止。单击功能的更改如下:

$('#btn-active').click(function() {
    $(this).html('Stop');
    if( $('#btn-move').hasClass('stopped') ) {
        $('#btn-move').removeClass('stopped');
        startClick();
    } else {
        $(this).html('Active Click');
        $('#btn-move').addClass('stopped');
        // stopClick();
        if($('#btn-move').length == $('#btn-move.stopped').length){ stopClick(); }
    }
});

听起来你需要一些承诺。。。我认为,虽然缺少太多的代码,无法提出完整的解决方案(例如,运动是如何执行的,如果您指的是动画,为什么不确定jQuery的内置动画)?
$('#btn-active').click(function() {
    $(this).html('Stop');
    if( $('#btn-move').hasClass('stopped') ) {
        $('#btn-move').removeClass('stopped');
        startClick();
    } else {
        $(this).html('Active Click');
        $('#btn-move').addClass('stopped');
        // stopClick();
        if($('#btn-move').length == $('#btn-move.stopped').length){ stopClick(); }
    }
});