在 Rails 索引视图中,我正在实现 ajax 分页,或多或少遵循这个Railscast。
当用户单击分页链接时,我希望发生以下步骤:
- 现有索引淡出。
- 显示微调器。
- 新的索引内容淡入。
在 index.js.erb 我有以下内容:
$(".ajaxable-content").fadeOut('fast');
$(".ajaxable-content").html('<div class="ajax-spinner></div>');
$(".ajaxable-content").delay(400);
$(".ajaxable-content").html('<%= escape_javascript(render :partial => "my/ajax/content" %>');
$(".ajaxable-content").fadeIn('slow');
尽管有这个delay
功能,但我看到的是:
- 呈现新内容。
- 内容淡出。
- 内容淡入。
这不是一个很好的用户体验!
(此外,微调器似乎没有显示。或者可能更换得太快而无法引起注意)。
确保在呈现新内容之前完成淡出的正确方法是什么?
最好的设置方法是什么,以便在褪色和微调发生时对数据库的请求在后台发生?