延迟后更改JavaScript对象变量

时间:2012-12-16 07:58:27

标签: javascript

this.anim= true;

如何在false秒后将此对象的变量更改为x

1 个答案:

答案 0 :(得分:5)

this.anim = true;
var that = this; // you store the reference to a `this` in `that` variable,
                 // so you could use it in a callback function. You have
                 // to do that because it has its own `this` defined
setTimeout(function() {
    that.anim = false;
}, x * 1000);

this.anim = true;

(function(that){ // you create an IIFE (see http://tinyurl.com/js-iife)
    setTimeout(function() {
        that.anim = false;
    }, x * 1000);
}(this)); // and invoke it with `this` as a parameter, which will be available
          // as `that` in the function body