Фокусировка на определенной части страницы при заходе

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
784

Сабж. Вот заходит человек на страницу и видит ее с самого верха, а надо чтобы сразу автоматом он на середину перемещался (или по координатам) по высоте.

Подскажите тэг или как это реализовывается?

Заранее, спасибо большое!

"Vulcan-Bit - лучшая партнерка в сети" (http://vulcan-bit.com?invite=artem_kozirev) KMA.BIZ - Партнерка с крутым конвертом и отчислениями в долларах. Лить! (http://kma.biz)
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1
Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#2

Алексей Барыкин,

Не разжуете?

Я с этим не сталкивался (к своему стыду)

Спасибо большое, заранее!

DiAksID
На сайте с 02.08.2008
Offline
236
#3

скролл к объекту можно например так:


function toobj(o,m,d){
o=$(o);
return o.length && $('html:not(:animated),body:not(:animated)',document).animate(
{scrollTop:o.offset().top-(m || 100)},
d || 1000
);
}

o - строка с #id

m - отступ вверх от позиции объекта

d - длительность анимации

функцию вызываете либо сразу, либо по onload. можно например так (читая id из &anchor = ... в строке адреса):


(function(l){
if(l.search && !l.hash)
if(a=l.search.match(/(.+)anchor=(.+)$/) && RegExp.$2)
toobj('#'+a);
})(location);
show must go on !!!...
Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#4

DiAksID, Это Ява.скрипт?

DiAksID
На сайте с 02.08.2008
Offline
236
#5
Rock'n'rolla:
DiAksID, Это Ява.скрипт?

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

HJ
На сайте с 14.02.2006
Offline
274
#6

якоря не подходят? http://htmlbook.ru/samhtml/yakorya

но, соответственно, человек должен зайти на урл с якорем

DiAksID
На сайте с 02.08.2008
Offline
236
#7
happy-joker:
якоря не подходят? http://htmlbook.ru/samhtml/yakorya
но, соответственно, человек должен зайти на урл с якорем

это стандарт ☝ мне лично пришлось заморачиваться с этим скроллом для того что бы страница плавно соскальзывала к якорю, а не сразу на него прыгала. и только для этого...

Rock'n'rolla
На сайте с 14.09.2009
Offline
146
#8

DiAksID,

А теперь если не трудно, можно еще чуть подробнее как это прописать в ХТМЛ?

DiAksID
На сайте с 02.08.2008
Offline
236
#9
Rock'n'rolla:
DiAksID,
А теперь если не трудно, можно еще чуть подробнее как это прописать в ХТМЛ?

1. сначала подключаете jQuery

2. описываете в своём .js файле функцию:


function toobj(o,m,d){
o=$(o);
return o.length && $('html:not(:animated),body:not(:animated)',document).animate(
{scrollTop:o.offset().top-(m || 100)},
d || 1000
);
}

обозвать можете как хотите

3. дальше для отладки можете пока вставить в .js это:


$(document).ready(function(){
toobj('#abc');
}

abc - id какого-н существующего объекта поближе к концу страницы

4. потом сможете отлавливать id из адреса, либо какой-н switch задать для выбора объекта

---

ну а в теле HTML всё может выглядить типо так:


<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript">
function toobj(o,m,d){
o=$(o);
return o.length && $('html:not(:animated),body:not(:animated)',document).animate(
{scrollTop:o.offset().top-(m || 100)},
d || 1000
);
}

$(document).ready(function(){
toobj('#abc');
}
</script>

но в тело вбивать не кошерно...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий