Pregunta

Estoy usando jQuery y lo que quiero que suceda es.

Div se desvanece con el comando fadeOut. A continuación, carga el contenido de un URL usando el comando de carga. Luego, una vez cargado el contenido que se desvanece en la espalda con el comando fadeIn.

El código que tengo es:

$("#myDiv").fadeOut().load('www.someurl.com').fadeIn()

Sin embargo, esto no funciona. En cierto modo parpadea después carga fuera de las cargas luego en. Creo que el problema es que la decoloración que ocurre antes de que la carga está completa.

¿Qué debo hacer?

Gracias

¿Fue útil?

Solución

Puede utilizar la carga href="http://api.jquery.com/load/" () devolución de llamada función como esta:

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    $(this).fadeIn();
});

es posible que desee utilizar el estado de la llamada carga () para ver si todo se completó correctamente.

$("#myDiv").fadeOut().load("www.someurl.com", function(response, status, xhr) {
    if (status == "error") {
        // handle error
    }
    else
    {
        $(this).fadeIn();
    }
});

Otros consejos

$("#myDiv").fadeOut(1000, function () {
    $("#myDiv").load("www.someurl.com", {limit: 25}, function(){
        $("#myDiv").fadeIn();
    });
});

Las límite especifica cuánto tiempo tiempo para esperar una respuesta en la llamada carga

Usar la devolución de llamada success para .load() , como esto:

$("#myDiv").fadeOut().load('www.someurl.com', function() {
  $(this).fadeIn();
});

que tiene que hacer la decoloración en la función de devolución de llamada de carga debido a la naturaleza asíncrona de AJAX.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top