Почему в этой анимации Jquery происходит случайный скачок?

0

Скрипт: http://jsfiddle.net/2NFNS/

HTML:

<div id = 'text'>Text</div>

ЯШ:

$('#text').on('click', function() {
    $('#text').animate({'top':'-300px'}, 3000);
});

CSS:

#text {
    position:absolute;
    top:calc(25% + 125px);
    left:calc(50% - 285px);

    text-align: left;
    height:50px;
    width:500px;
    background:red;
    color:#aaa;
}

Почему он прыгает на вершину, а затем оживляется? Кроме того, почему текст не появляется?

  • 6
    У меня отлично работает. Текст может не отображаться, потому что вы слишком сильно изменили размер окна.
  • 1
    Я не вижу прыжка. и я вижу текст
Показать ещё 3 комментария

1 ответ

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

Я бы рекомендовал использовать переходы CSS3.

CSS

#text {
    position:absolute;
    top:calc(25% + 125px);
    left:calc(50% - 285px);

    text-align: left;
    height:50px;
    width:500px;
    background:red;
    color:#aaa;
    -webkit-transition:all 3.0s ease-in-out;
    -moz-transition:all 3.0s ease-in-out;
    -o-transition:all 3.0s ease-in-out;
    transition:all 3.0s ease-in-out; 
} 

JS

$('#text').on('click', function() {
    $('#text').css('top','-300px');
});

Здесь вы можете увидеть пример

Ещё вопросы

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