在Rails中显示ajax加载程序图像
Showing ajax loader image in Rails
使用Rails 3.2。这是我编码的一个简单的Ajax加载:
# places/revisions.html.erb
<a href="<%= version_path(version) %>" class="diff">View changes</a>
<div id="version"><!-- #version used for ajax -->
Click "View changes" to see the diff.
</div>
<% content_for :javascript_onload do %>
$('a.diff').attr('data-remote', 'true');
<% end %>
# versions_controller.rb
class VersionsController < ApplicationController
def show
@version = Version.find(params[:id])
end
end
# versions/show.js.erb
$('#version').html('<%= escape_javascript render :partial => "versions/version", :locals => {:version => @version} %>');
<div id="version"></div>
将被通过Ajax获取的新内容所取代。当它仍在加载时,我想在places/revisions.html.erb
中的View changes
旁边添加一个图像加载程序。我该怎么做?
我假设您使用jQuery触发它。
在视图中,您可以放置一个div,其中除了"查看更改"之外还包含一个图像。
<div id="version"><!-- #version used for ajax -->
Click "View changes" to see the diff.
<div class="image"></div><!-- it should be hidden first. -->
</div>
<a href="#" class="diff">View Changes</a>
并为AJAX触发器提供两个事件。
$('a.diff').click(function(){
$.ajax({url: 'your url',
data: 'your params',
beforeSend: function() {
$('div.image').show();
},
complete: function() {
$('div.image').hide();
}});
});
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 页面加载之前的jQuery Ajax加载程序
- 永远不要停止gif预加载程序
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- 用于各个元素的Ajax加载程序
- 显示全屏Ajax加载程序的最佳方式
- 要求创建空模块作为依赖项加载程序
- 如何在发送ajax请求时显示进度加载程序
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 避免将lib依赖项与webpack+handlebas加载程序捆绑在一起
- 带有模块加载程序的Emscripten
- 图像预加载程序
- Angular 1.X,webpack和ngtemplate加载程序问题
- 动画加载程序gif未旋转
- 为 HTML5 游戏添加游戏加载程序
- 创建 UI 加载程序时的引导程序
- 单击链接后显示加载程序
- 纯javascript的进度图像加载程序仅当用户单击提交html表单时