Для какого-либо элемента, использующего горизонтальную и вертикальную полосы прокрутки для отображения всего содержимого

Опубликовал: Monday, July 22, 2024 в категории jQuery, Подборка рецептов | Пока нет комментариев

Для какого-либо элемента, использующего горизонтальную и вертикальную полосы прокрутки для отображения всего содержимого, необходимо при загрузке переместить вертикальную полосу прокрутки на 150 пикселов, а горизонтальную — на 300.

Решение

Найдутся подходящие методы и для решения такой задачи — scrollTop() и

scrollLeft() (листинг 4.3.2).

Листинг 4.3 .2 . Использование методов scrollTop() и scrollLeft()

ПРИМЕЧАНИЕ

Часть текста в листинге 4.3.2 опущена (заменена многоточиями). В соответствующем примере на прилагаемом компакт-диске текст приведен полностью, чтобы продемонстрировать работу методов.

Обсуждение

HTML-код, приведенный в листинге 4.3.2, — это элемент div с идентификатором

#demo, для которого с помощью CSS-свойств width и height заданы фиксированные значения ширины и высоты (300 и 200 пикселов соответственно). Значение auto, установленное для свойства overflow, определит появление вертикальной и горизонтальной полос прокрутки при необходимости. А такая необходимость будет, поскольку содержимое элемента div — несколько параграфов p шириной 1000 пикселов, что заведомо превышает размеры элемента div и по вертикали, и по горизонтали.

При загрузке страницы с помощью JavaScript-кода выбираем элемент #demo и применяем к нему методы scrollTop() и scrollLeft(), передавая им в виде аргументов числа 150 и 300. Когда страница загрузится, видим, что и вертикальная и горизонтальная полосы прокрутки находятся в требуемых положениях.

С помощью кнопки button, с которой связан обработчик события click, мы можем получить текущие значения. Попробуйте подвигать полосы прокрутки и нажать кнопку — в окне предупреждения будут выведены текущие значения.

Источник: Самков Г. А. jQuery. Сборник рецептов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *