좋아, gents, 여기에 문제가있다. 내 웹 사이트에서 자동로드 (아약스 사용)를 수행하여 DOM로드 이후 게시 된 새로운 코멘트를로드하려고합니다. 스크립트는 새로운 코멘트가 ajax 호출로로드 될 때 제대로 작동합니다. 그러나 jquery와 함께 fadeIn에 대한 호출의 응답을 원합니다. 나는 다른 곳 에서이 코드 $(response).hide().prependTo('.ideas').fadeIn('slow');
을 사용하고, 그것은 잘 작동합니다. 나는 .on()
메서드를 사용하기 때문에 다른 곳에서 작동한다고 생각하지만, 사용자 작업을 사용하여 이벤트를 발생시키지 않기 때문에 여기서는 사용할 수 없습니다.fadeIn livequery를 사용하여 응답, setInterval이 페이딩되지 않는 자동 AJAX 호출
setInterval(function() {
if (window.location.pathname == "/" || window.location.pathname == "/appreciate" || window.location.pathname == "/appreciate#") {
var first_message = $('.messages > div.message_wrapper:first').attr('id');
var pathname = window.location.pathname;
$.ajax({
type: "POST",
url: "/update_comments.php",
data: {first_message: first_message, pathname: pathname},
success: function (response) {
$(response).hide().prependTo('.messages').fadeIn(2000);
}
});
} else {
var first_idea = $('.ideas > div.message_wrapper:first').attr('id');
$.ajax({
type: "POST",
url: "/update_comments.php",
data: {first_idea: first_idea, pathname: pathname},
success: function (response) {
$(response).hide().prependTo('.ideas').fadeIn(2000);
}
});
}
}, 20000);
어떤 생각 :
여기에 현재 코드는? 저는 livequery를 사용하는 것을 고려했습니다. livequery가 찾는 jquery 메소드를 정의 할 수있는 곳을 보았습니다. 그래서 이것을 코드에 넣었습니다. $.livequery.registerPlugin('append', 'prepend', 'after', 'before', 'wrap', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'empty', 'remove', 'appendTo', 'prependTo');
하지만 아무 것도하지 않았습니다.