这段代码永远不会将警报称为“ ane is true”。

可以从jQuery方法“ animate”更改局部变量“ ane”吗?

在我的代码中,变量“ ane”始终为false。我尝试使用此方法来更改“ ane”值:

function anim() {
  var ane = false;
  $('#element').animate({left:'100px'}, 5000, function(){ ane = true; });
  while(!ane){}
  alert('ane is true');
}


这对我也不起作用:

function anim() {
  var ane = false;
  var ant = function(){ ane = true; }
  $('#element').animate({left:'100px'}, 5000, ant);
  while(!ane){}
  alert('ane is true');
}


谢谢您的回复。

最佳答案

Live Demo

function anim() {
  var ane = false;
    $('#element').animate({left:'100px'}, 5000, function(){
        ane = true;
        if(!$(this).is('animated')){
            alert(ane);
        }
    });
}


动画完成后,您将收到警报。

关于javascript - 动画完成后jQuery更改值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5302017/

10-09 14:57