我有一个使用 setInterval 运行循环的函数。函数 empMove 每次将 margin-top 减少 -182px。我在其中有另一个 if 语句来检查它何时需要结束。在这里,我使用 clearInterval 停止循环,并将 margin-top 设置回零。
问题是它停止但不会再次重新启动。
抱歉,我没有粘贴整个代码,但这会很大并且会分散问题的焦点。
// if statements to move carousel up
$carouselNum = $('.carousella').length;
$loopNum = $($carouselNum * -182);
if($carouselNum > 1){
// function empMove, the '-=' allows the -margin-top to run every time. Without this it will set the margin-top to the same value every loop
var myLoop = setInterval(empMove, 2500);
function empMove() {
$('.emp-wrap').css('margin-top', '-=182');
console.log('loop start');
var marginTop = $('.emp-wrap').css('margin-top');
console.log(marginTop);
if(marginTop = $loopNum){
// do something
clearInterval(myLoop);
$('.emp-wrap').delay(2500).css('margin-top', '0');
console.log('loop stops');
};
};
}
else{
// do something
}