假设我想排队这些JS调用,可以使用Rails助手吗?
render :update do |page|
page.replace_html replace_html 'notice', flash[:notice]
page.visual_effect :blind_down, "notice", :duration => 0.5
page.visual_effect :blind_up, "notice", :duration => 0.5
end
感谢。
答案 0 :(得分:1)
Scriptaculous效果有一个queue
选项,您可以将其作为参数提供给visual_effect
。例如,
render :update do |page|
page.replace_html replace_html 'notice', flash[:notice]
page.visual_effect :blind_down, "notice", :duration => 0.5, :queue => 'end'
page.visual_effect :blind_up, "notice", :duration => 0.5, :queue => 'end'
end
将对两个效果进行排队,以便在失明结束前不会启动失明效果。
有关队列如何工作以及可以为队列提供的参数的详细信息,请参阅script.aculo.us github wiki上的Effect Queues(例如,默认情况下,页面使用一个队列,但是您如果您希望各种效果队列并行运行,可以定义多个队列)。 :queue
可以使用字符串(如上所述)或哈希,这样可以进行更多自定义:
:queue => { :position => 'end', :scope => 'my_effect_queue' }