0

我有一个主干应用程序可以将公告呈现到 dom 中,但是,我希望公告在几秒钟后消失。我猜想,在显示公告之后,我应该只调用一个删除它的函数,但是有没有办法延迟它的执行,或者在我显示模板后创建一个回调。对不起,如果这是一个简单的问题。

   $(this.el).html(this.template({ announcement: announcement}));

     this.removeAnnouncement(); 
  },

  removeAnnounce: function(){
    this.$el.remove();
  }, 
4

1 回答 1

4

您可以使用 setTimeout:

window.setTimeout(_.bind(this.removeAnnounce, this), 2000);

这将this.removeAnnounce2000毫秒(或 2 秒)后调用。请注意,不要在后面添加,()因为this.removeAnnounce您实际上是在传递函数引用。超时将在时间过去后调用该函数。

编辑:该_.bind部分确保在this超时调用函数时正确分配了 in 范围。谢谢@PaulHoenecke

于 2013-02-14T04:48:34.157 回答