Прокрутка страницы
На странице увеличиваю изображение(меняю 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, время: 04:04. |