0

我在 Backbone 的模板中渲染了一个字符块。该模板正在接收一个字符列表并将它们随机播放(使用下划线的随机播放方法),然后将它们以网格的形式显示在屏幕上。我认为多次渲染屏幕并每次随机化列表会很酷,因此它具有一种随机播放效果。

因此,我尝试在调用模板的视图中执行此操作,如下所示:

for(var i=1; i<50; i++){
     this.$el.html(this.template(jQuery.extend(this.model.toJSON(), extended_options)));..
}

在模板中:

 temp_list = _(listcontents).shuffle()
  for(var character in temp_list)
  { %> <span><%= temp_list[character] %></span> <% }
}

但我根本没有看到洗牌效果。只用了几秒钟,屏幕就渲染了一次。

我怎样才能让它在用户眼前快速重复渲染?

4

1 回答 1

0

您的 for 循环非常快速地渲染模板 50 次。你可以这样做:

for(i = 0; i < 50; i++) {
  setTimeout(function() {
    this.$el.html(this.template(...);
  }, i * 50);

这基本上是在大约 50 毫秒间隔渲染。您可能必须修改 i * 50 部分才能获得所需的效果。

于 2013-09-12T05:17:52.060 回答