微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何使用jquery的.load()来“动画”页面之间的过渡

我有这个ajax网站,页面加载通过load()但我如何添加转换?一个简单的FadeOut FadeIn已经很好了.

这是我用来加载它的代码(加上一个加载指示符).

我希望当前页面(只是容器)淡出,新的到达fadeIn

$(document).ready(function() {
    $('a').click(function(event) {
        $("#container").append('<div id="loading">Loading...</div>');
        event.preventDefault();
        var url = $(this).attr('href');
        $('div#container').load(url, function() { $("#loading").fadeOut() });
    });
});

解决方法:

你需要比.load()更细粒度的东西,以便你可以在插入新内容之前执行fadeOut():

$(function()
{
    var $container = $('#container');

    $('a').click(function()
    {
        $container.html('<div id="loading">Loading...</div>');

        var url = $(this).attr('href');

        $.get(url, function (data)
        {
            $("#loading").fadeOut(function()
            {
                // without this the DOM will contain multiple elements
                // with the same ID, which is bad.
                $(this).remove();

                $container.hide().html(data).fadeIn();
            });
        });

        return false;
    });
});

(非常基础)演示:http://jsfiddle.net/mattball/Cgqbx/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐