FadeOutエフェクトが終了した後にのみajaxコールを作成したいと思います。Rails - ビジュアルエフェクトが完了した後にのみAjaxを呼び出す
<script type="text/javascript">
function closeIt(id) {
$(id).slideUp();
}
</script>
<%= link_to_remote('Delete', :url => {:action => "ajaxdestroy", :controller => "blog_comments", :blog_post_id => @blog_post.id, :id => comment.id}, :before => "closeIt('comment#{comment.id}')", :update => "blogPostComments", :confirm => 'Are you sure?') %></p>
今生成されたHTMLは以下のようになります。:
<a onclick="if (confirm('Are you sure?')) { closeIt('comment39'); new Ajax.Updater('blogPostComments', '/blog_comments/ajaxdestroy/39?blog_post_id=6', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('Xzvq2/0BlbVi3eVCxW5TGcKmap3nrVC1SiG76W+bVGc=')}); }; return false;" href="#">Delete</a>
ので、効果のcloseit関数が呼び出されるが、AJAX呼び出しがslideUp効果の前に終了している私の簡単なコードです 。以前のcloseIt関数のコールバックでAjax関数を呼び出すにはどうすればよいですか?
おかげ
ありがとうChristopheですが、このJavaScriptコードをどのようにしてレールコードから生成できますか?実際にはjavascriptコードが自動的に生成されます – coorasse
"レールコードから生成された"とはどういう意味ですか? => "blog_post_id => @ blog_post.id、:id => comment.id}::" blog_comments "、:blog_post_id => @ blog_post.id、: – alste
<%= link_to_remote( '削除'、:url => {:アクション=>" ajaxdestroy "あなたは本当ですか? ')%>はjavascriptコードを生成します。>> "closeIt(' comment#(comment.id) ')"、:update => "blogPostComments"私はAjaxコールの前に呼び出されるjavascript関数を定義するために:beforeシンボルを使うことができますが、Ajaxコールを:before関数のコールバックとして呼び出す方法を知らない – coorasse