我是 Javascript 新手,请多多包涵。
我有一个类似于下面的代码,每当我单击一个按钮时,它都会在一个 HTML 元素上执行一些动画,问题是,如果用户多次单击,动画将被缓冲并一次以巨大的延迟执行。
下面的代码“应该”通过禁用循环直到动画完成来解决问题,但事实并非如此。我不能过多地改变代码的结构,它必须或多或少地保持这种形式。
var processing = false;
$("p").click(function() {
  if (processing == false) {
    for (i=0; i<5; i++) {
      if (processing == false)
        processing = true;
      tastor();
    }
    processing = false;
  }
});
function tastor() {
  zubi = parseFloat($('p').css('font-size'));
  $('p').animate({'font-size': zubi+i}, 500);
}