У меня та же проблема, о которой я читаю в Интернете, но не могу найти решение.
Проще говоря, при использовании метода 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 почти всегда ошибался в отношении высоты...
Раздел ответа также скрыт с помощью свойства 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 слово, эффект привязки не происходит.. но если я набираю несколько слов с пробелами, это происходит..
Это почти как добавление пробелов приводит к испорченной высоте.