好吧,男士,这就是问题所在。我正在我的网站上进行自动更新(使用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);
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方法,所以我把它放在我的代码中但它没有做任何事情。
答案 0 :(得分:0)
好吧......我解决了。
$('.messages').livequery(function () {
$(response).hide().prependTo('.messages').fadeIn(2000);
});
通过将success:
上的livequery添加到.messages
div,我可以添加fadeIn效果。