Jquery 不透明度=0后加载html

Jquery 不透明度=0后加载html,jquery,Jquery,我有这个密码。不透明度0和不透明度1有效!但是加载(pagina)不要加载。为什么? function cargarContenido(pagina) { $('#content').animate({"opacity":"0"}); if ($('#content').css('opacity') == 0) { $("#content").load(pagina); } $('#content').animate({ "opacity": "1

我有这个密码。不透明度0和不透明度1有效!但是加载(pagina)不要加载。为什么?

function cargarContenido(pagina) {
    $('#content').animate({"opacity":"0"});
    if ($('#content').css('opacity') == 0) {
        $("#content").load(pagina);
    }
    $('#content').animate({ "opacity": "1" });
}
如果我只放这个,它就行了

function cargarContenido(pagina) {
    $("#content").load(pagina);
}

您需要使用
animate
load
方法的回调参数来按顺序执行代码。试试这个:

function cargarContenido(pagina) {
    $('#content').animate(
        { "opacity": "0" }, 
        function() {
            $("#loadimage").show(); // show a loading image
            // load content when opacity = 0 animation finished
            $("#content").load(
                pagina, 
                function() {
                    $("#loadimage").hide(); // hide a loading image
                    // make opacity = 1 when content has been loaded
                    $('#content').animate({ "opacity": "1" });
                }
            )
        }
    );
}

注意,我已经扩展了这段代码的格式,以明确发生了什么。如果需要,您可以删除大量间距以使其变短。

您需要使用
animate
load
方法的回调参数来按顺序执行代码。试试这个:

function cargarContenido(pagina) {
    $('#content').animate(
        { "opacity": "0" }, 
        function() {
            $("#loadimage").show(); // show a loading image
            // load content when opacity = 0 animation finished
            $("#content").load(
                pagina, 
                function() {
                    $("#loadimage").hide(); // hide a loading image
                    // make opacity = 1 when content has been loaded
                    $('#content').animate({ "opacity": "1" });
                }
            )
        }
    );
}
注意,我已经扩展了这段代码的格式,以明确发生了什么。如果需要,您可以删除大量间距以使其变短。

animate()
是异步的,所以当您检查不透明度时,它不是零,因为animate函数尚未完成。在不透明度完成动画制作后,可以使用“动画制作”中的回调执行相同的操作:

function cargarContenido(pagina) {
    $('#content').animate({"opacity":"0"}, function() {
        $(this).load(pagina, function() {
            $(this).animate({ "opacity": "1" });
        });
    });
}
animate()。在不透明度完成动画制作后,可以使用“动画制作”中的回调执行相同的操作:

function cargarContenido(pagina) {
    $('#content').animate({"opacity":"0"}, function() {
        $(this).load(pagina, function() {
            $(this).animate({ "opacity": "1" });
        });
    });
}

尝试使用动画的其他参数:

$('#content').animate({"opacity":"0"}, slow, function() {
    $("#content").load(pagina);
    $('#content').animate({ "opacity": "1" });
});

尝试使用动画的其他参数:

$('#content').animate({"opacity":"0"}, slow, function() {
    $("#content").load(pagina);
    $('#content').animate({ "opacity": "1" });
});

我认为您应该在回调函数中完成动画后执行这些操作,因为它将在完成动画后运行。关于
完成
功能

   $('#content').animate({"opacity":"0"},500,function(){
                     $("#content").load(pagina,function(){
                         $('#content').animate({ "opacity": "1" });
                     });             
     });

我认为您应该在回调函数中完成动画后执行这些操作,因为它将在完成动画后运行。关于
完成
功能

   $('#content').animate({"opacity":"0"},500,function(){
                     $("#content").load(pagina,function(){
                         $('#content').animate({ "opacity": "1" });
                     });             
     });

我想你要做的是在内容的不透明度为0后加载任何“pagina”内容?应使用完整参数,而不是询问不透明度是否为0:

功能cargarContenido(pagina){


}

我想你要做的是在#内容的不透明度为0后加载任何“pagina”内容?应使用完整参数,而不是询问不透明度是否为0:

功能cargarContenido(pagina){


}

console.log($('content').css('opacity'))
您确定它返回0吗?(前面的动画是异步的)
console.log($('#content').css('opacity'))
确定它返回0吗?(前面的动画是异步的)你是最好的!!!!非常感谢你!!!还有一个问题。。。它的posible insert load.gif在加载html时?确实如此,我将为您更新我的答案。别忘了将其中一个答案标记为已接受。你是最棒的!!!!非常感谢你!!!还有一个问题。。。它的posible insert load.gif在加载html时?确实如此,我将为您更新我的答案。别忘了将其中一个答案标记为已接受。