У меня та же проблема, о которой я читаю по всему Интернету, хотя я не могу найти решение.
Проще говоря, при использовании метода slideDown () на моих элементах DIV, я получаю тот ужасный эффект мгновенного возврата, когда jQuery слишком сильно уменьшает размер DIV, а затем возвращает его к фактическому размеру безобразно.
Просматривая веб-страницы, я попытался удалить все поля и отступы из нарушающих элементов, но ничего не сделал.
Я не могу установить статические размеры для div, потому что каждый из них будет меняться при загрузке страницы. Один загружен, хотя они не изменятся. (новые div также создаются с использованием ajax)
Вот образец DIV
<div class="response hidden new">
<div class="right"><span class="responseTime">10:28:10 AM</span></div>
<span class="responseUser">Someone</span><br>
<span class="responseMessage">sdgs sdgh</span>
</div>
и CSS
div.response {
line-height: 20px;
border-bottom: 1px dotted #546268;
}
.responseMessage {display: block}
Может кто-нибудь помочь мне здесь? У меня нет идей ... Iv пытался использовать jQuery, чтобы сначала выяснить высоту DIV, а затем принудительно установить высоту с помощью CSS (), прежде чем вызывать slideDown (), но jQuery почти всегда ошибался в отношении высоты ...
Div ответа также скрывается с помощью свойства display: none.
Затем вызывается эта функция
function quickResponse(time, user, message, epoch) {
$('.latestStar').remove();
addResponse(time, user, message, epoch);
$('.new').slideDown(500).removeClass('hidden');
$('html, body').animate({ scrollTop: '0px'}, 1000, function() {
});
}
Редактировать
Я забыл упомянуть, что если div содержит только 1 слово, эффект мгновенного возврата не происходит .. но если я набираю несколько слов с пробелами, это происходит ..
Это почти как добавление пробелов приводит к тому, что высота облажается.