【发布时间】:2011-08-19 00:57:36
【问题描述】:
似乎我尝试的每一种方式都会引发某种错误。这是我的代码现在的样子:
runShow: ->
moments = @model.get('moment_stack_items')
if inc == moments.length
inc = 1
pre = 0
$("#" + moments[pre].uid).hide("slide", { direction: "left" }, 1000)
$("#" + moments[inc].uid).show("slide", { direction: "right" }, 1000)
inc += 1
pre += 1
console.log "looping" + inc
t = setTimeout(this.runShow(),2000);
我在我的事件中调用该函数。
我在 Backbone.View 之外定义了 inc = 1 和 pre = 0。我当前的错误是“未捕获的 TypeError:对象 [object DOMWindow] 没有方法 'runShow'”
奖励积分:如何从另一个函数引用 t(运行我的 clearTimeout(t))?
【问题讨论】:
-
在 setTimeout 中使用字符串是在后台调用 eval。我会强烈考虑将其更改为函数的引用。例如t = setTimeout(this.runShow ,2000); stackoverflow.com/questions/86513/…
-
很公平@Gazler,我已经从代码中删除了它。 user576875 的解决方案也将其删除。
标签: javascript jquery backbone.js coffeescript