Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
front-end developer
 Аватар для Vicont
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1

Прокрутка к элементу при загрузке страницы

25.07.2014, 12:20. Показов 4804. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый! Такой вопрос - при загрузке страницы нужно прокрутить ее к нужному элементу (id="target")
На примере:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
....
....
<img ="" style="height: auto">
<img ="" style="height: auto">
....
....
 
<div id="target">
 
</div>
 
....
....
Проблема в следующем: изображения по высоте не фиксированы, кол-во их тоже разное - из-за всего этого метод
JavaScript
1
$('#target').offset().top
возвращает не верную высоту для прокрутки т.к. изображения еще не успевают подгрузиться и высота их не учитывается. Кто-нибудь сталкивался с такой проблемой?

Как вариант, рассматривал повесить на все изображения обработчик события onload и после загрузки последнего изображения делать прокрутку - но! метод не стабильный, события onload могут срабатывать и раньше чем загрузиться изображение (из кеша), либо попросту не произойдет из-за ошибки загрузки.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2014, 12:20
Ответы с готовыми решениями:

Прокрутка страницы при нажатой левой кнопке мыши
Есть такой код document.onmousedown = function(e) { e = e || window.event; down = 1; x = e.clientX; // начальное положение...

onClick при загрузке страницы
Добрый день. подскажите пожалуйста, как решить такую задачу - имеется на странице несколько ссылок с событием onClick &lt;a...

Уезжание страницы при загрузке
Здравствуйте! Подскажите как реализовать подобное &quot;уезжание&quot; страницы в сторону при ajax загрузке? ...

4
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 12:31
Vicont, может все изображения запихнуть в контейнер, и считать по нему, либо делать все по окончанию загрузки всего документа, именно всего документа, а не всех картинок, или если вариант с оберткой-родителем, то там уже без разницы, можно выставить им минимальную высоту, и тем самым иметь изначально уже работающий скрипт
0
front-end developer
 Аватар для Vicont
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1
25.07.2014, 12:46  [ТС]
Thisman,

Цитата Сообщение от Thisman Посмотреть сообщение
может все изображения запихнуть в контейнер, и считать по нему
Это как? даже если я оберну все в контейнер - пока изображения не загрузятся - контейнер все равно не будет имень актуальную высоту.
Цитата Сообщение от Thisman Посмотреть сообщение
либо делать все по окончанию загрузки всего документа
А как это мне поможет? При загрузке всего документа - изображения все не подгрузятся.
Цитата Сообщение от Thisman Посмотреть сообщение
можно выставить им минимальную высоту
Каким образон мы будет иметь работающий скрипт? приблизительно делать прокрутку? такое не подходит)
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
25.07.2014, 12:53
Vicont, поставь каждому контейнеру минимальную высоту.
Событие onload на документе срабатывает, когда загружен ВЕСЬ контент, включая все картинки, и прочие вещи
1
front-end developer
 Аватар для Vicont
284 / 275 / 39
Регистрация: 31.08.2010
Сообщений: 577
Записей в блоге: 1
25.07.2014, 15:47  [ТС]
Цитата Сообщение от Thisman Посмотреть сообщение
поставь каждому контейнеру минимальную высоту.
Ну этим проблему не решить, скажем минимальная высота 500px, а на деле выйдет 700px, погрешность при прокрутке выйдет в 200px.

А вот про load объекта window думал что аналог ready события документа. Потестировал код:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta charset="UTF-8">
        <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
        <script>
            $(window).load(function () {
                console.log('load');
                console.log($('body').height());
            });
            $(document).ready(function(){
                console.log('ready');
            });
        
        </script>
    </head>
    <body>
        <img src="http://yandex.ru/images/today?size=1920x1080" alt="">
        <img src="http://img12.nnm.ru/d/f/a/2/0/3285290137910d1bc9e4739a2ee.jpg">
        <img src="http://imagenes.4ever.eu/data/download/coches-motos/arte/[imagenes.4ever.eu]%20rolls%20royce,%20veterano%20172387.jpg">
        <img src="http://pazitiff.info/uploads/posts/2010-06/1277482685_-_rrirrrrrs_rrsryorr.jpg">
        <img src="http://rewalls.com/pic/201102/2560x1440/reWalls.com-20947.jpg">
        <img src="http://www.wallpaperup.com/uploads/wallpapers/2013/01/20/30483/f17716ad5de728edd0b44ec28c7aa525.jpg">
        <img src="http://www.wallon.ru/_ph/4/428713355.jpg">
        <img src="http://proxy11.media.online.ua/photo/r3-2fdcd6b747/763729_0.jpg7">
        <img src="http://s017.***********/i405/1308/2f/3e12fb15c5e3.jpg">
        <video width="320" height="240" controls>
          <source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4">
            Your browser does not support the video tag.
        </video>
        <br>
        <video width="320" height="240" controls>
          <source src="http://www.leanbackplayer.com/videos/360p/elephants_dream_640x360_2.30.mp4" type="video/mp4">
        </video>  
    </body>
</html>
Выходит действительно событие
JavaScript
1
$(window).load
срабатывает после загрузки всего содержимого) Спасибо за ответ!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2014, 15:47
Помогаю со студенческими работами здесь

Выполнение события при загрузке страницы
widgets.groups.joined При загрузке странице выполнить это событие.

При загрузке страницы добавить кнопку
Добрый день ув. пользователи! Подскажите пожалуйста, как добавить при загрузке документа, кнопку внутрь &lt;div id=&quot;12345&quot;&gt;...

Автовызов функции при загрузке страницы
Привет дорогие форумчане! Нужна ваша помощь! Необходимо сделать &quot;редирект&quot;, на функцию js (т.е автовызов сделать), в качестве ссылки на...

При загрузке страницы прокрутить скролл
Народ подскажите как реализовать при загрузке страницы что бы scroll в div, в который выводятся сообщения, опускался в самый низ? &lt;div...

Случайное видео при загрузке страницы
Добрый день. Суть в том, что бы при обновлении страницы появлялось случайное видео из списка, который я укажу. Видео на заднем фоне. Сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru