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);

これは、ミリ秒(または2秒)this.removeAnnounce後に呼び出されます。実際に関数参照を渡すので、の後に2000を追加しないでください。タイムアウトは、時間が経過した後に関数を呼び出します。()this.removeAnnounce

編集:この_.bind部分はthis、タイムアウトが関数を呼び出すときに、スコープ内が正しく割り当てられていることを確認しています。ありがとう@PaulHoenecke

于 2013-02-14T04:48:34.157 に答える