로드 애니메이션 gif를 표시하거나 숨기려면 onLoading과 onComplete를 사용하는 Ajax.Request가 있습니다. 문제는 매번 10 번 클릭 할 때마다로드 애니메이션이 숨기지 못하고 AJAX 요청이 성공적으로 반환 되었더라도 애니메이션을 그대로 유지한다는 것입니다. onComplete for Ajax.Request 캐시 된 콘텐츠가있는 버그
<div id="word_block_<%= word_obj.word %>" class="word_block" >
<%= image_tag("ajax-loader_word_block.gif", :id => "load_animation_#{word_obj.word}",
:style => 'display:none') %>
<a href="#" onclick="new Ajax.Request('/test/ajax_load',
{asynchronous:true, evalScripts:true,
onLoading:function() {
Element.show('load_animation_<%= word_obj.word %>')},
onComplete:function(){
Element.hide('load_animation_<%= word_obj.word %>')}});
return false;">Click Here</a>
</div>
는이 문제가 될 수 무엇처럼 보입니까 : 나는 각각 자신의 각각의 부하 애니메이션을 가지고 DIV 요소의 수와 같이 보이는 Ajax.Request로와 함께 온 클릭을? 어쩌면 나는 인라인 onclick 제거하고 자바 스크립트를 사용하여 프로그래밍 방식으로 onclick 추가해야합니까? 왜 이런 일이 계속 일어나는지 전혀 모르겠습니다. 레일에 루비가있는 프로토 타입 라이브러리를 사용하고 있습니다.
아마도 이것을 확인했을 것입니다. 다만, 'word_obj.word'에 대한 모든 값이 고유 한가요? 중복이 있다면'Element.show'와'Element.hide'를 사용하여 의도 한 이미지를 보이거나 숨길 수 없으며 대신 페이지에 다른 이미지를 보이거나 숨길 수 있습니다. – brahn