Ruby on rails 创建一个包含css和js的加载程序
我试图在通过带有TurboLink的ajax加载页面时显示动画 我创建了一个部分_loader.html.erb并添加了代码 js似乎不会在ajaxStart或ajaxStop上启动 我还尝试将js封装在$function和$(document)中,但无法使其正常工作 我做错了什么Ruby on rails 创建一个包含css和js的加载程序,ruby-on-rails,ajax,Ruby On Rails,Ajax,我试图在通过带有TurboLink的ajax加载页面时显示动画 我创建了一个部分_loader.html.erb并添加了代码 js似乎不会在ajaxStart或ajaxStop上启动 我还尝试将js封装在$function和$(document)中,但无法使其正常工作 我做错了什么 <script> // hide it first $(".loading-indicator").hide(); alert("hide at first") // w
<script>
// hide it first
$(".loading-indicator").hide();
alert("hide at first")
// when an ajax request starts, show spinner
$.ajaxStart(function(){
$(".loading-indicator").show();
alert("start")
});
// when an ajax request complets, hide spinner
$.ajaxStop(function(){
$(".loading-indicator").hide();
alert("stop")
});
</script>
<%= image_tag("loading.gif", :class => "loading-indicator", :style => "") %>
<style>
.loading-indicator {
}
</style>
//先把它藏起来
$(“.loading indicator”).hide();
警报(“首先隐藏”)
//当ajax请求启动时,显示微调器
$.ajaxStart(函数(){
$(“.loading indicator”).show();
警报(“启动”)
});
//当ajax请求完成时,隐藏微调器
$.ajaxStop(函数(){
$(“.loading indicator”).hide();
警报(“停止”)
});
“加载指示器”,:style=>“”)%>
.装载指示器{
}
通过ajaxStart()
和ajaxStop()
您只需注册在第一个ajax请求启动且所有ajax请求完成时调用的处理程序。您从未执行过ajax请求,因此他们从未被调用。用于执行实际请求
您还可以使用complete
回调隐藏加载动画:
function request() {
$(".loading-indicator").show();
$.ajax({
...
complete: function() { $(".loading-indicator").hide(); }
});
}