0

我正在使用这个函数来刷新我的页面的一部分,但问题是它加载了 ul#bla 两次,这迫使列表通过向右移动来改变位置。

如何使用此函数将 ul#bla 替换为自身?通过使用替换?如果是这样,怎么做?我无法让它工作

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

});
4

2 回答 2

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 中是同步的,因此您需要将它们放在彼此的回调中。

于 2013-07-19T23:48:44.463 回答
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);

});
于 2013-07-19T23:49:46.800 回答