.load和.show / hide动画

时间:2014-05-15 13:48:40

标签: jquery toggle

我想要一个检查div是否为空的按钮,如果为空则将我的页面加载到div中。如果div已经可见,我希望它再次变得不可见。我知道我可以使用切换来执行此操作,并且我在下面的代码或多或少可以按预期工作:

function showChangeV(str)
{
var $output = $('#changev');
if( $output.is(':empty') )
    {
        $output.load("mydata.php",true);
        $output.hide();
    }
    $output.toggle(400);
};

我唯一的问题是,当单击按钮时,切换功能有一个很好的滑入/滑出动画,但初始加载功能没有。有没有办法可以像切换一样用动画中的漂亮幻灯片加载初始数据?谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这将解决您的问题。 http://jsfiddle.net/jayblanchard/2R3Vk/

function showChangeV(str) {
    var $output = $('#changev');
    if ($output.is(':empty')) {
        $output.html( $('.fakeLoad').text() ).show(1200);
    } else {
        $output.toggle(400);
    }
};

出于您的目的替换此 -

$output.html( $('.fakeLoad').text() ).show(1200);

用这个 -

$output.load("mydata.php", function() {
    $(this).show(1200); // animation will not run until the load is complete
});

您可以将show()速度更改为您希望的速度。