Нужна помощь, почему мой scrolltop не работает над этим образцом. Я не знаю, почему... с использованием кода все работает нормально. Но обновление css scrolltop не работает. :( Что я должен сделать, чтобы исправить это? Проблема связана с моим стилем CSS? Я использовал это, но он не будет прокручиваться в нижней части div.
$(document).ready(function() {
alert('scroll must happen');
$('#message_container').scrollTop($('#message_container')[0].scrollHeight);
$('.topbox').html('just sample');
});
Нет видимой прокрутки, потому что элемент, который вы прокручиваете, не переполнен; все это отображается. Полоса прокрутки предназначена для элемента <body>
а не <div>
который вы пытаетесь прокрутить.
Вы можете заставить его работать, если вы даете #message_container
высоту, например
#message_container {height:100px;}
Альтернативно, используйте абсолютные трюки позиционирования, например, в этой демонстрации. (Исходный "отменяет" CSS, я использовал его для сокращения кода. См. MDN)
#container, #head, #body, #foot{
position: absolute;
top:0;left:0;right:0;bottom:0;
}
#head {
bottom: initial;
height:50px;
}
/* position so it get your desired size*/
#body {
top:50px;
bottom:50px;
overflow-y: scroll;
}
#foot {
top: initial;
height:50px;
}
Вы должны установить 2 вещи:
Если вы не устанавливаете высоту вообще, div будет расширяться, а затем прокручивать нечего, в этом случае единственная полоса прокрутки, которую вы получаете, принадлежит самому документу (телу).
Я добавил свойство высоты и переполнения к вашему CSS, и теперь он работает так, как ожидалось.
Добавлен CSS:
#message_container {
overflow-y:auto;
overflow-x:hidden;
height:300px;
}