Показать сообщение отдельно
  #1 (permalink)  
Старый 28.02.2015, 23:08
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Jquery animate() - полоса загрузки
Есть такой блок:
<div class="load-page"><div></div></div>

Он зафиксирован у верхнего меню страницы, стиль:
.load-page{
    display: none;
    width: 100%;
    height: 2px;
    background: #0C0C0C;
    position: fixed;
    z-index: 90000;
    top: 50px;
    & div{
        position: absolute;
        background: #00FCED;
        height: 2px;
        width: 0%;
    }
}

Сайт сёрфится с помощью history.js, при клике на ссылку посылается запрос и вызывается функция которая показывает эту полосу загрузки и плавно увеличивает размер внутреннего дива что в свою очередь эмитирует прогресс бар:
startLp: function(){
            $('.load-page').show();
            var l = $('.load-page div');
            l.stop().animate({'width':'95%'},2000,function(){
                $(this).stop().animate({'width':'98%'},15000);
            });
        }

В запросе callback рубит эту анимацию таким образом:
stopLp: function(){
            var l = $('.load-page div');
            l.stop().animate({'width':'100%'},500,function(){
                $('.load-page').hide();
                $(window).scrollTop(0);
            });
        }

Но проблема в том что анимация работает довольно криво, во-первых она срабатывает неравномерно, во вторых эта кривая анимация отображается только при загрузке первой страницы, а при остальных она появляется и тут же быстренько исчезает, а самой анимации почему-то не происходит. Почему такой косяк? Как сделать правильно?
p.s. пытался добиться что-то наподобие как на youtube.com
Ответить с цитированием