jquery мерцание при загрузке в сочетании с fadeTo - PullRequest
0 голосов
/ 15 июля 2011

Я видел несколько постов по этому вопросу, но ни одного с решением, которое работает для меня - и я много пробовал. Я просто выполняю простую последовательность: постепенное исчезновение, загрузка контента, постепенное погружение, но загруженный контент на мгновение появляется в полной непрозрачности, а затем исчезает, а затем выполняет постепенное исчезновение. Я попытался установить для свойства display загруженного div значение none, а затем показать его в функции постепенного появления, настройке задержек, для показа и т. Д. Я пробовал fadeTo, fadeOut и т. Д. Кстати, hide () работает нормально, но это не тот эффект, который я хочу.

Вот мой код:

...

$('#bio_container').fadeOut(500,loadContent(ident));
});

function loadContent(ident){
    $('#bio_container').load('/index.php/ajax/bios/' + ident,showContent);
}

function showContent(){
    $('#bio_container').fadeIn(500);
}

Любые идеи будут оценены.

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Попробуйте это.

$('#bio_container').fadeOut(500, function(){
     loadContent(ident)
});

Редактировать: Если вы посмотрите на определение fadeOut, оно принимает обратный вызов в качестве аргумента и вызывает эту функцию после завершения анимации.Таким образом, ссылка на обратный вызов - это либо определение встроенной функции, подобное приведенному выше, либо просто имя функции без парантеза.Если вы даете что-то вроде этого someFunction (), он оценивает функцию, а затем принимает возвращаемое значение в качестве аргумента.И, возможно, генерирует исключенное исключение, когда анимация завершается и вызывает результат.

0 голосов
/ 15 июля 2011

Это случилось, потому что javascript выполняется в линейной форме, а fadeOut (time, fn) выполняет fn и THEN выполняет te fade.

Чтобы исправить это, я использую некоторые плагины JQuery, для вашего случая я предлагаю это простое слайд-шоу , или, если вы ищете что-то более конкретное, см. этот список .

PS: Извините за мой плохой английский.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...