好吧,大佬们,问题来了。我正在我的网站上进行自动更新(使用 ajax),以加载自 dom 加载以来可能已发布的任何新评论。该脚本工作正常,因为在新评论中将使用 ajax 调用加载;但是,我希望使用 jquery 对 fadeIn 的调用做出响应。我在其他地方使用此代码$(response).hide().prependTo('.ideas').fadeIn('slow');
,它工作正常。我相信它在其他地方也有效,因为我正在使用该.on()
方法,但我不能在这里使用它,因为我没有使用任何类型的用户操作来触发事件。
这是当前代码:
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');
但它没有做任何事情。