Например, у меня есть preloader div, который скрыт с addClass на $ (window).load() - довольно обыденный материал.
Теперь, помимо этого, я хочу включить панель загрузки или аналогичную с переходом css в preloader - также довольно легко предположить, что у меня есть фиксированная длительность, которая, мы надеемся, рассчитана на большую часть времени загрузки.
Проблема в том, что я хочу, чтобы анимация выполнялась каждый раз, независимо от времени загрузки страницы - как настроить продолжительность анимации в соответствии с временем загрузки страницы на лету?
Для тех, кто ищет это решение, как описано sideroxylon, будет что-то вроде этого:
// Kick off animation with long duration on doc ready
$(document).ready(function() {
$('#progress-bar > div').animate({'width':'100%'}, 40000);
});
// When the page has loaded clearQueue and stop the animation,
// then resume with much shorter duration to complete
$(window).load(function() {
$('#progress-bar > div').clearQueue().stop();
$('#progress-bar > div').animate({'width':'100%'}, 500);
});
Надеюсь, это полезно!