Вот так получилось, большое спасибо, я только начинаю ковырять эти коды. Код (Text): if (document.referrer) { refurl = document.referrer; refdomain = refurl.match(/:\/\/(.[^/]+)/)[1]; if (refdomain === 'vdmy.ru') { var height = $('.header').height() + $('.advantage').height(); window.scrollTo (0, height); } }
Якоря и должны быть в ссылке. Для этого они и сделаны. И дело не в том, что кто-то что-то там при желании видит. Всем плевать. Никто ничего не видит. Я многократно говорил, в адресную строку никто не смотрит, кроме разработчика. И на ее невероятную красоту никто не фапает, кроме разработчика. Пользователям - плевать. Адресная строка - отличный инструмент, а вы сами себе режете крылья этим вот "не хочу портить". Пфф. Плюс, вы забываете, что ссылка может быть открыта, например, из закладок в браузере. В том и суть якорей - открывать на нужном месте. Про порчу ссылок выше. Про не охото использовать JS - мимо. "Не охота" и "не умею" - не синонимы. Выбирать тот инструментарий, который знаете, вместо того, который нужен - заведомо гиблая тактика. Знаю я одного перца, он на Си++ сайт писать пытался. Тут на форуме был. После обещания запилить что-то на плюсах от него ни слуху ни духу, наверное застрелился. Держи, пользуйся на здоровье: Код (Javascript): element.bounds = element.getBoundingClientRect(); Все. Теперь тебе доступна вся информация о позиционировании элемента. Одной строкой. Без JQ. Код (Javascript): element.bounds.top; element.bounds.left; element.bounds.width; element.bounds.right; //...итд Как свойства, а не как, facepalm, методы. Только обновлять их по мере надобности не надо забывать. --- Добавлено --- А еще есть рилтаймовые offset-ы, которые всегда доступны по умолчанию. Тоже как свойства. У каждого объекта в DOM. Код (Javascript): element.offsetTop; element.offsetLeft. element.offsetHeight; element.offsetWidth;
Вы правы не умею, но и не охото пока есть проще решение, так как знаю что JS скрипты тормозят загрузку сайта в целом. Ваш метод решает вопрос позиционирования, а как его собрать в мою задачу, что только внутренние переходы открывают сайт с определённой высоты?
Ну я ж говорил))) --- Добавлено --- А моё решение не устраивает, что ли? (Если с подсказкой суриката то и без жквери...)
Это верно, но опыта маловато, поэтому и прошу помощи у специалистов! --- Добавлено --- Мне не в силах собрать рабочий скрипт.
А ты его не собирай. Ты его напиши. Сядь. Возьми листочек. По пунктам выпиши, что должно происходить. Сначала на высоком уровне абстракции, типа "кликнул-получил". Потом, каждый пункт распиши на составляющие попроще. Потом еще раз. Это называется декомпозиция. Любую сверхсложную задачу можно разбить на конечное множество задач простейших. Когда разобьешь до уровня, на котором скажешь "о, а это я могу, этож фигня", окажется, что у тебя все поставленные перед тобой задачи именно такого уровня. Потом решай одну за одной. Потихоньку, методично. А когда ты их все выполнишь, удивишься, что делал много задач "о, это ж полная фигня", а получилось, что сделал одну, но, что была "мне не в силах".
Вот я так понимаю, что после выполнения этого условия: Код (Javascript): if (document.referrer) { refurl = document.referrer; refdomain = refurl.match(/:\/\/(.[^/]+)/)[1]; if (refdomain === 'vdmy.ru') нужно выполнить: Код (Javascript): element.bounds = element.getBoundingClientRect(); что откроет сайт на нужной позиции. --- Добавлено --- у меня следует ДИВ .content после тех которые нужно пропустить. А как написать: Код (Text): element.bounds = element.getBoundingClientRect(); открыть сайт с позиции .content, для меня это??? попробывал наугад подставлять значения а вот где почитать или посмотреть полное руководство в отношении этой задачи, не найду.
Я же сказал, не надо спешить. Я дал абстрактное решение, а не финальный готовый код. element в данном случае - это твои DIV. Почитай, как получить определенный DIV(и вообще элемент страницы) через JS. getBoundingClientRect(); - это метод, который вернет границы объекта. Так как ты присваиваешь его результат новому свойству bounds у элемента, то, через это свойство ты можешь обращаться к границам объекта, например, узнать положение его верхней границы на странице: element.bounds.top; А вообще, правда, юзай якори, они тут больше к месту. А проверку делай не по референсу, а по куке.