阻止javascript函数执行的最佳方法是什么?

fen*_*ent 2 javascript jquery dom jquery-animate

我正在使用jquery,我正在做的是将toggle方法绑定到网页上的许多按钮.它看起来像这样

$('.button').toggle(function(){
  // first function
}, function(){
  // second function
});
Run Code Online (Sandbox Code Playgroud)

但是,这两个功能都有动画.因此,用户可以在执行第一个或第二个功能时单击该按钮.这会弄乱HTML元素的顺序,并可能使它们移动到页面的末尾.因为这些函数基本上做的是在第一次单击时将一个元素移动到末尾,而在另一个单击上将其移回原来的位置.

当然,一旦它在页面上移动就很难点击按钮.但这是可能的.

Sam*_*son 5

你可以使用一面旗帜.true在动画开始时设置标记'isAnimating',在结束时设置为false.任何后续动画只能在此值的情况下继续false.

您还可以检查:动画选择器是否适用于事件的所有者.并根据您的决定做出决定.