Прокрутка страницы
На странице увеличиваю изображение(меняю css свойства ширины и высоты), и оно становится настолько большим что появляются полосы прокрутки. Необходимо сделать прокрутку страницы на центр экрана, но с учетом уже существующей прокрутки, т.е. если уже есть полосы прокрутки то при увеличении должно перематывать на центр открытой части изображения. Как зум в фотошопе в общем(куда кликнули туда и увеличивает, а у меня увеличение в центр видимой части изображения должен быть).
Делаю так, но оно увеличивает только в центр страницы, а мне надо учитывать полосы прокрутки: var sY = $(document).height() - $(window).height(); var sX = $(document).width() - $(window).width(); scrollTo(sX / 2, sY / 2); Видимо надо учитывать document.documentElement.scrollHeight или document.documentElement.scrollTop, но у меня не получается. Подскажите как это реализовать. |
это вообще реально сделать?
|
читайте эту http://learn.javascript.ru/metrics и следующую страницу
|
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" style="width: 100px; height: 100px"> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> <script> window.onload = function () { var a = 100; document.images[0].onclick = function () { this.style.width = this.style.height = (a = a + 10) + 'px'; var h = window.innerHeight; var w = window.innerWidth; var difH = 0; var difW = 0; if (a > h) { difH = (a - h)/2; } if (a > w) { difW = (a - w)/2; } this.scrollIntoView(true); window.scrollBy(difW, difH); } } </script> |
Цитата:
|
Цитата:
клиентская часть окна при превышении её размеров изображением всегда находится в центре изображения (равноотступает сверху/снизу и слева/спарва) какие полосы прокрутки, куда что должно смещаться, объясните поподробнее и лучше с парой скриншотов |
Цитата:
|
Держать низ изображения на том месте, где он находился в момент увеличения, что ли или просто по середине окна?
|
Цитата:
1: ![]() 2: ![]() |
ну мой пример так и работает, попробуйте в FF
|
Часовой пояс GMT +3, время: 15:43. |