淡出,加载新内​​容,淡化 - >滑动

时间:2011-06-17 20:27:07

标签: jquery load fade slide

我正在淡出div的内容,用新内容替换它,然后再按以下方式淡出:

area.fadeOut('400').load("file.php", 
    function(){
        $(this).fadeIn('400');
    }
);

首先,这是否正确链接?

其次,如果可能的话(我需要将旧内容滑动到左侧),我想通过右侧滑入来替换淡入效果?怎么可能实现呢?

3 个答案:

答案 0 :(得分:1)

我想指出fadeIn& fadeOut是jQuery Core的一部分。你有加载jQuery UI吗?如果没有,你将需要它用于其他答案中使用的show版本。

此外,您已经拥有了区域变量,因此无需使用S(this)重新实例化。它越多,你就会减慢体验。

试试这个:

var newArea = area.clone().css("display", "none").insertAfter(area);
newArea.load("file.php", function() {
    area.hide("slide", {direction:"left"}, 400, function() {
        area.remove();
        area = newArea;
    });
    newArea.show("slide", {direction:"left"}, 400);

});

它应加载到隐藏元素中,然后在原始元素向左滑动时从右侧滑入。

编辑:因为看起来你正在寻找一些不同的东西,我正在更新代码。

答案 1 :(得分:0)

对我来说很好,只需将fadeIn()的来电替换为$(this).show("slide", { direction: "left" }, 400);

答案 2 :(得分:0)

area.fadeOut('400', function() {
    $(this).load("file.php", function() {
            $(this).show("slide", {direction:"left"}, 400);
    });
});

我认为您需要这样调用load,因为它可能不会等待fadeOut完成。