javascript - 为什么在添加 setTimeout 后我的 jQuery 函数在 "else if"处停止运行?

标签 javascript jquery css animation

我正在尝试构建一种 fullPage.js 插件效果的副本,除了我所做的是使用我的每个“幻灯片”的高度而不是它们的位置。我的函数第一次在“if”处运行正常,但一旦到达“else if”,它就会停止运行。任何人都可以阐明为什么这样做吗?

if (currentSlide == 1) {

$("#slide-1").addClass("next-slide");
isAnimating = true;

setTimeout(function(){
  isAnimating = false;
  currentSlide++;
  console.log(currentSlide);
  console.log(isAnimating);
}, 900)

} else if ((currentSlide == 2) && (isAnimating)) {

alert();
$("#slide-2").addClass("next-slide");
currentSlide++;
console.log('Current slide is: ' + currentSlide);

}

最佳答案

根据您示例中的代码,看起来 currentSlide == 2 && isAnimating 在回调函数执行后永远不会为真,因此如果回调函数在该逻辑 block 的函数之前执行lives in executes,那么else if里面的代码不会执行。

关于javascript - 为什么在添加 setTimeout 后我的 jQuery 函数在 "else if"处停止运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731684/

相关文章:

javascript - 将 Promise 处理函数绑定(bind)到对象

javascript - 垂直对齐 : top different type of tag in LI Node

javascript - 使用 javascript 模块模式的 jQuery 变量范围

javascript - jQuery:混合 div 元素应该平滑地扩展 parent-div 的自动高度

javascript - 如何使用 JQuery 获取正文中第一个元素(表单)的 id?

javascript - 主干排序和更新一个 Action 后的 ListView

jquery - 使用ajax v3的谷歌地图信息窗口

php - 在 PHP 生成后使用 CSS 在主要类别旁边显示子类别

jQuery下拉菜单问题:)

html - 为要显示的图像创建一个流畅的 3 列布局