Кроссбраузерный метод для установки scrollTop элемента?

#javascript #scrolltop

#javascript #scrolltop

Вопрос:

Например, у меня есть тег div с полосой прокрутки справа от тега div.
Я хочу показать div с последней строкой, поэтому у меня есть это:

 document.getElementById("divscroll").scrollTop = 250000;
  

Я могу заставить его прокручиваться до конца в Firefox, но никогда не выполняю событие IE с большим числом!
Существует ли какой-нибудь простой скрипт для кроссбраузерной обработки (не jQuery или какой-либо другой большой фреймворк!)

Ответ №1:

scrollTop работает во всех основных браузерах.

Для прокрутки до нижней части элемента:

 var div = document.getElementById('divscroll');
div.scrollTop = div.scrollHeight - div.clientHeight;
  

clientHeight также работает в разных браузерах, и scrollHeight в основном работает.

Ответ №2:

Убедитесь, что свойство overflow установлено:

 <div id="divscroll" style="height: 100px; width: 100px; overflow: scroll;">
 //// something something 
</div>
  

Комментарии:

1. И установите высоту в моем случае.

Ответ №3:

Попробуйте установить положение прокрутки на реальную цифру, а не просто произвольное большое число:

 document.getElementById("divscroll").scrollTop = document.getElementById("divscroll").scrollHeight; 
  

Комментарии:

1. scrollHeight все равно будет больше максимально возможного значения scrollTop (если только элемент не имеет нулевой высоты, но это уже другая проблема).