Прокрутка вниз не работает

0

Нужна помощь, почему мой scrolltop не работает над этим образцом. Я не знаю, почему... с использованием кода все работает нормально. Но обновление css scrolltop не работает. :( Что я должен сделать, чтобы исправить это? Проблема связана с моим стилем CSS? Я использовал это, но он не будет прокручиваться в нижней части div.

$(document).ready(function() {
    alert('scroll must happen');
    $('#message_container').scrollTop($('#message_container')[0].scrollHeight);
    $('.topbox').html('just sample');
});
Теги:

2 ответа

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

Нет видимой прокрутки, потому что элемент, который вы прокручиваете, не переполнен; все это отображается. Полоса прокрутки предназначена для элемента <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;
}
  • 0
    я обновил ссылку. Я добавил текст, чтобы показать переполнение, но все еще не работает.
  • 0
    почему это была полоса прокрутки тегов тела, когда переполнение было установлено на #message_container?
Показать ещё 6 комментариев
0

Вы должны установить 2 вещи:

  1. Переполнение для div,
  2. Некоторая высота, даже процентная доля (чтобы сделать ее более гибкой).

Если вы не устанавливаете высоту вообще, div будет расширяться, а затем прокручивать нечего, в этом случае единственная полоса прокрутки, которую вы получаете, принадлежит самому документу (телу).

Я добавил свойство высоты и переполнения к вашему CSS, и теперь он работает так, как ожидалось.

jsFiddle

Добавлен CSS:

#message_container {
 overflow-y:auto;
 overflow-x:hidden;
 height:300px;
}

Ещё вопросы

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