jQuery анимация slideLeft без переноса текста - PullRequest
6 голосов
/ 17 ноября 2011

Я хотел бы показать / скрыть абзац текста, используя jQuery слева направо.

Я использую

$('#text').animate({
     width: ['toggle', 'swing']
});

Однако я вижу, что абзац переносится, когда происходит анимация. И это выглядит некрасиво.

См. эту js fiddle для примера нежелательного эффекта.

Как бы вы порекомендовали получить тот же эффект, но без упаковки? (Как .slideUp() / slideDown()) ...

Спасибо за любую помощь

Ответы [ 2 ]

6 голосов
/ 17 ноября 2011

Вам необходимо установить overflow: hidden для контейнера, а затем применить анимацию к контейнеру.

Обновленная скрипта с исправлением здесь

3 голосов
/ 17 ноября 2011

Попробуйте:

CSS:

#wrap{
 width:200px;   
    overflow: Hidden;
}
#text{
 width:200px;  
}

Сценарий:

setTimeout(
function(){
    $('#wrap').animate( // Changed to slide the wrap instead of the #text
        {
            width: ['toggle', 'swing']
        })
    },
1000);

http://jsfiddle.net/RDsqy/2/

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