使用Ajax会加载div,但它会改变位置。我怎样才能使用replaceWith?

时间:2013-07-19 23:32:13

标签: jquery ajax load refresh replacewith

我正在使用此功能刷新页面的一部分,但问题是它正在加载ul#bla两次,这会强制列表通过向右移动来改变位置。

如何使用此功能将ul#bla替换为自身?通过使用replaceWith?如果是这样,怎么样?我无法正常工作

jQuery(document).ready(function() {
    var refreshId = setInterval(function()
    {
        jQuery('ul#bla').fadeOut("fast").load("testpage.php ul#bla").fadeIn("fast");
    }, 2000);

});

2 个答案:

答案 0 :(得分:0)

怎么样:

jQuery(document).ready(function() {
    var refreshId = setInterval(function() {
        jQuery('ul#bla').fadeOut("fast", function () {
            jQuery(this).load("testpage.php ul#bla", function () {
                jQuery(this).fadeIn("fast");
            });
        });
    }, 2000);
});

fadeIn()fadeOut()load()在jQuery中是同步的,因此您需要将它们放在彼此的回调中。

答案 1 :(得分:0)

在重新加载之前尝试清空容器。

$(function() 
{
    var refreshId = setInterval(function()
    {
        var $container = $('ul#bla');

        $container.fadeOut("fast");
        $container.empty();
        $container.load("testpage.php ul#bla");
        $container.fadeIn("fast");

    }, 2000);

});