Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Прокрутка страницы (https://javascript.ru/forum/events/31603-prokrutka-stranicy.html)

user100500 15.09.2012 13:29

Цитата:

Сообщение от bes (Сообщение 204792)
ну мой пример так и работает, попробуйте в FF

та мне кроссбраузерно надо. в хроме он пераматывает на центр страницы. а надо на центр видимой части изображения. на скрине полосы прокрутки не по центру ведь стоят.

bes 15.09.2012 13:38

Цитата:

Сообщение от user100500
та мне кроссбраузерно надо

я лишь показал вариант расчёта, в старых IE вообще не будет работать

Цитата:

Сообщение от user100500
в хроме он пераматывает на центр страницы. а надо на центр видимой части изображения. на скрине полосы прокрутки не по центру ведь стоят.

вроде так и делает, смотрите в FF

<!doctype html>
<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>
<div style="white-space: nowrap">
	<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" style="width: 100px; height: 100px">
	<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235" style="width: 400px; height: 400px">
</div>
<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>


Часовой пояс GMT +3, время: 17:15.