Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建一个包含css和js的加载程序_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails 创建一个包含css和js的加载程序

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

我试图在通过带有TurboLink的ajax加载页面时显示动画

我创建了一个部分_loader.html.erb并添加了代码

js似乎不会在ajaxStart或ajaxStop上启动

我还尝试将js封装在$function和$(document)中,但无法使其正常工作

我做错了什么

<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(); } 
    });
}