Приветствую! Возникла необходимость на страницах сайта провернуть прокрутку в некоем div до метки или же расстояния от начала его. По сути там например десять абзацев текста, на одной странице мне надо показать пользователю с начала div начиная с третьего, на другой с пятого. Проблема в том, что все решения, которые обнаружил в интернете, рекомендуют вставлять в этот блок другой блок, последний прокручивать, возможно есть способ проще, чтобы этому div указать положение прокрутки? Всё переверстывать нет возможности.
Re: прокрутка div до указанного положения при загрузке стран атрибут name у тега A и якорь не подходит?
ну раз тема в разделе HTML и CSS… когда в адресе присутствует хеш с id какого-то элемента, то при открытии страница будет прокручена до этого элемента. example.com/index.html#article2 или таки Javascript: в обработчике document ready помести вызов прокрутки. типа Код (PHP): $(function() { var $to = $('#article2'); $('html, body').animate({ scrollTop: $to.offset().top, scrollLeft: $to.offset().left }, 500, 'swing'); }); Добавлено спустя 4 минуты 58 секунд: Re: прокрутка div до указанного положения при загрузке страницы сорри, был невнимателен! тогда указывай его: $('#nekij-div').animate(…
Re: прокрутка div до указанного положения при загрузке стран Якорь name не рассматривал, так как его инициализирует href, а не загрузка страницы, пользователь может зайти из поисковика без всяких хешей. вариант со скриптом сейчас опробую. Добавлено спустя 31 минуту 48 секунд: Re: прокрутка div до указанного положения при загрузке страницы animate это для query? не используется неужели у див нет такого свойства(значение прокрутки по умолчанию)? если упростить задачу, то я могу переставить метку (или измерить расстояние от верха) для каждой из этих страниц задача будет выглядеть так: загружается страница(без хешей всяких) есть <div id="scrollTo" > содержимое </div> надо его по загрузке страницы показать прокрученным до метки, строчки, расстояния, в чем угодно можно, главное прокрутить
Re: прокрутка div до указанного положения при загрузке стран можно перенаправление сделать, зашёл на one.html переправил на two.html#div
Re: прокрутка div до указанного положения при загрузке стран сомневаюсь, что поисковик или пользователь дадут в таком случае ссылку на one.html
Re: прокрутка div до указанного положения при загрузке стран Я бы использзовал код c query, который здесь приведен, но устанавливать библиотеку ради одной лишь прокрутки... в библиотеке же это как то реализовано?
Re: прокрутка div до указанного положения при загрузке стран да, реализовано, можешь найти вы интернете примеры
В общем продвинулся в сторону решения проблемы так - установил флажки в нужной форме с прокруткой #go1, #go2... и вставил простой js в документ, который перенаправляет окно пользователя (window) вверх(прокручивает все) Код (PHP): window.onload = function() { setTimeout(function(){ window.scrollTo( 0, 0 ) }); } однако при переходе на страницу page.php#go1 страница дергается до # а потом только выравнивается, как убрать этот эффект не представляю. Что известно про событие перехода до флажка? Когда оно возникает и как можно обойти его с помощью js? Есть идеи? PS Сторонними библиотеками не пользуюсь
Re: прокрутка div до указанного положения при загрузке стран опубликуй пожалуйста минимально необходимую страницу с примером.
Re: прокрутка div до указанного положения при загрузке стран Вопрос ещё актуален. Я решил проблему тем, что сделал плавный съезд вниз страницы. Но выглядит это так: пользователь кликает по ссылке с #wtf на конце на странице в отдельном окошке, которое ниже шапки сайта, прокручивается до метки wtf, но прокручивает эту метку вверх ввезде, то есть шапка сайта уезжает и довольно резко вверх. Как мне сделать прокрутку в отдельном div до метки, не затрагивая прокруткой всё остальное? Без сторонних js
Re: прокрутка div до указанного положения при загрузке стран Без сторонних - не знаю, вот с этим: https://github.com/flesler/jquery.scrollTo очень просто. Правда, чтоб в отдельном div было, наверное он должен иметь overflow: scroll, но тут я не пробовал
Re: прокрутка div до указанного положения при загрузке стран Спасибо за информацию, уже решил вопрос element.scrollTo=, теперь проверяю на кроссбраузерность.
Re: прокрутка div до указанного положения при загрузке стран и этот способ не кроссбраузерный. В хроме сбивается где-то на 40px вниз, причем чем ниже прокрутка тем больше разница. У остальных браузеров не так заметно.
Re: прокрутка div до указанного положения при загрузке стран про оффсет посмотри http://stackoverflow.com/a/4335532/272885 вроде бы вопрошающий был удовлетворён результатом Добавлено спустя 2 минуты 22 секунды: Re: прокрутка div до указанного положения при загрузке страницы кроме того, рапортуют, что есть проблема со временем измерения. load / ready: http://stackoverflow.com/a/25631152/272885 Добавлено спустя 3 минуты 3 секунды: Re: прокрутка div до указанного положения при загрузке страницы алсо, пример вычисления смещения: http://javascript.ru/ui/offset
Re: прокрутка div до указанного положения при загрузке стран в этот момент делаешь js переход на якорь и усё.
Спасибо за наводки, я вчера примерно к этому и пришёл. Сравнивал высоту блока со стандартной (где у меня всё выставлено), чтобы на ходу принимать поправки - наткнулся на странность, что hrom и opera ни в какую не хотят измерять высоту блока, где стоит swf, а у меня такие попадаются, и если есть флешка в контенте - расчёты сбиваются. Это всё по offsetHeight и getBoundingClientRect(). Код (PHP): <div style="position:absolute ; overflow: scroll; height: 200px; top: 0px;"> <div id="test"> <object><embed pluginspage="http://www.macromedia.com/go/getflashplayer" src="swf/Test.swf" menu="false" wmode="transparent" type="application/x-shockwave-flash" height="500" width="200"></object> </div> </div> Немного позднее код: Код (PHP): <script type="text/javascript"> alert(document.getElementById('test').getBoundingClientRect().bottom+ " & "+ document.getElementById('test').offsetHeight) </script> Mozilla 500 & 500 Hrome 150 &150 Opera 149.600 & 150 Добавлено спустя 8 минут 59 секунд: Re: прокрутка div до указанного положения при загрузке страницы Код (PHP): <script type="text/javascript"> window.location="#1" </script> Работает, к сожалению, так-же, как и переход по url#1, то есть прокручивает всю страницу вверх, а нужно только содержимое определённого блока.
Re: прокрутка div до указанного положения при загрузке стран Отладил более-менее, выставив межстрочный интервал в пикселях и загнав флешки в div' ы c указанными размерами. Работает.Но! Путь этот кажется мне ущербным в том смысле, что если придётся менять в дальнейшем на странице размер флешки или шрифтовые интервалы, или добавить несколько слов к тексту, то всё скролирование полетит к чертям. Поэтому возвращаюсь к якорям # и ищу идеи по максимально одновременному смещению окна, когда его перебрасывает вверх.
Re: прокрутка div до указанного положения при загрузке стран ммм. Не должен он прокручивать "вверх" потому что анкор применяется для прокрутки до анкора, иначе бы в нём не было смысла.
Re: прокрутка div до указанного положения при загрузке стран Проще говоря мне нужно как на картинке срабатывания анкора на странице: Добавлено спустя 8 минут 28 секунд: Re: прокрутка div до указанного положения при загрузке страницы Дайте мне волшебную ссылку на решение проблемы и я от вас отстану)
Re: прокрутка div до указанного положения при загрузке стран position: fixed у шапки. А дальше в сети много можно найти приёмов, чтоб якорь под неё не лез. http://truemisha.ru/blog/css/ssyilki-yakori.html Добавлено спустя 48 секунд: Re: прокрутка div до указанного положения при загрузке страницы https://toster.ru/q/196039
Re: прокрутка div до указанного положения при загрузке стран я нифига не понял. Ты куда якорь ставишь, туда он и прокручивает. Ставь в другое место, если тебе нужно докрутить до другого места. Про фикс шапку видимо это то, что нужно. Но я не понял вопроса до сих пор так что пох.
Re: прокрутка div до указанного положения при загрузке стран Шапка у меня отнюдь не fixed. Но за ссылку огромное спасибо!