ajaxスピナーの表示に問題があります。現在localhost:3000/test
、次のコードを使用してこれをテストしています。
リンクをクリックしてローダーを表示させます(Ruby on Railsコード):
<li><%= link_to "New Test", new_test_path, :remote => true %></li>
ローダーがdiv
内部に表示されるはずです:
<div id="generate-add-form">
<div class="ajax-loader"></div>
</div>
次に、それを表示するための私の関数:
jQuery( function($) {
$('#generate-add-form').ajaxStart( function() {
$(this).children('.ajax-loader').show();
});
$('#generate-add-form').ajaxStop( function() {
$(this).children('.ajax-loader').hide();
});
});
最後は私のCSSです(必要かどうかを確認するためにコメントアウトされたものもあります):
.ajax-loader {
display: none;
/*position: fixed;*/
z-index: 1000;
/*top: -13em;
left: 6em;*/
background:url('ajax-loader.gif') 50% 50% no-repeat;
}
body.loading {
overflow: hidden;
}
body.loading .ajax-loader {
display: block;
}
表示されないリンクをクリックするとどうしてですか?
編集:
<li><%= link_to "Test", new_test_path, :class => "add-link", :remote => true %></li>
<li><%= link_to "Study Guide", new_study_guide_path, :class => "add-link", :remote => true %></li>
$('#generate-add-form').children('.ajax-loader').hide();
$('.add-link').click( function() {
$('#generate-add-form').children('.ajax-loader').show();
});
最初にスピナーを非表示にしてから、クリックすると再び表示します。別のリンクに切り替えるときの間にはどうですか?