затухание нагрузки, затем затухание не работает

0

поэтому у парней у меня есть список кучу вещей, которые пользователь может сделать, он загружает содержимое других страниц в div, что происходит, так это то, что текущее содержимое div начинает мигать (затем исчезает снова), затем появляется новое содержимое, которое я хочу сделать так, чтобы анимация fadein подождала, пока контент не будет готов к загрузке, а затем исчезнет в div, вот код jquery iam, который в настоящее время используется

$(document).ready(function(){
    $("#History").click(function(){
        $('#Display').fadeOut("fast").load("History.php").fadeIn("fast");
    });
    $("#Items").click(function(){
        $('#Display').fadeOut("fast").load("SellerItems.php").fadeIn("fast");
    });
});
Теги:

4 ответа

3
Лучший ответ

Две вещи: 1, вам нужно скрыть div перед загрузкой, а 2 - исчезнуть, когда он будет готов.

Я бы анимировал прозрачность здесь вместо того, чтобы использовать fadeIn для лучшего управления:

$("#History").click(function(){
    $('#Display').css('opacity', 0).load("History.php", function() {
        $(this).animate({ opacity: 1 }, 'fast');
    });
});
  • 0
    спасибо куча чувак, это работает отлично, другие тоже мигает, если кто-то собирается использовать это
3

Используйте параметр функции обратного вызова, который поставляется с fadeOut() и load(). Они будут вызываться, когда завершение затухания завершено, и процесс AJAX завершен, соответственно:

$("#History").click(function(){
    $('#Display').fadeOut("fast", function(){
        $(this).load("History.php", function(){
            $(this).fadeIn("fast");
        });
    });
});
  • 0
    работает отлично, спасибо большое
  • 0
    Рад, что помог.
Показать ещё 1 комментарий
1

Функция load jQuery выполняет обратный вызов, который выполняется, когда операция завершена, например:

$( "#result" ).load( "ajax/test.html", function() {
  alert( "Load was performed." );
});

Итак, что вы должны сделать, это добавить обратные вызовы к вашему коду:

$("#History").click(function () {
  $('#Display').load("History.php", function () {
    $(this).fadeIn("fast");
  });
});
1

Метод загрузки поддерживает обратные вызовы.
Например:

$('#Display').load("SellerItems.php", function() {
   $(this).fadeIn("fast");
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню