Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2016, 20:27
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

не работает слайдер при первой загрузки страницы
Добрый вечер!

Написан слайдер, который не работает при первой загрузке:

- в Firefox
- в Crome -работает через раз

Принцип работы моего слайдера такой:
Устанавливается ширина фото, проставляется для каждой картинке.
Суммируются ширина всех фото, эта сумма устанавливается внешнему контейнеру #slideInner.
С помощью margin-left прокручивает фото вправо/влево.


Проблема в том, что при первой загрузке страницы, многим слайдам ширина проставляется нулевая.
При последующих загрузках все работает хорошо для Firefox, а в Crome через раз.

Единственное, что в голову приходит, что браузер не успевает обработать код.

Подскажите, что можно сделать в этом случае?

Вот страница, при клике на картинку появляется слайдер: http://demodemon.ru/arh_moscow111/fo...rohod-2016.php
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2016, 01:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nailya
Единственное, что в голову приходит, что браузер не успевает обработать код.
Размеры изображения можно получить только после его загрузки браузером.
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2016, 08:43
Аватар для Nailya
Кандидат Javascript-наук
Отправить личное сообщение для Nailya Посмотреть профиль Найти все сообщения от Nailya
 
Регистрация: 05.04.2013
Сообщений: 135

Спасибо, вы мне очень помогли)) Действительно в этом была проблема. Поставила $(window).load(function() вместо $(document).ready(function() и все заработало
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2016, 13:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не могу представить как это может помочь.
Сначала загружаются эскизы изображений, либо один эскиз какого либо изображения. Вызов слайдера, это загрузка изображений оригинальных размеров. Изображения предварительно загружаются, и по их событию onload/oncomplete получают их характеристики.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2016, 14:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

laimas,
$(window).load == запустить код после загрузки всего, в том числе и картинок.
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2016, 15:37
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
запустить код после загрузки всего, в том числе и картинок.
Ну так в таком случае должны грузиться сразу оригинальные размеры, тогда да, но это же какой объем... По ссылке количество картинок не малое. Я не смотрел код, но размеры изображений да - 640 х на что-то. Если фиксировано под 640рх, то зачем вообще ждать чего-то, а ведь рассчитывается. Следовательно можно ожидать и большие размеры.

Я вот из этих соображений. )
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2016, 16:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

можно прописать размеры в css или скрипте и тогда можно не ждать загрузки ... страница очень долго грузится или картинок много или они не оптимизированы, как вариант грузить превью или грузить только те, что в зоне видимости
Ответить с цитированием
  #8 (permalink)  
Старый 08.09.2016, 16:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
как вариант грузить превью
Ну так я об этом и писал, то есть исходил из этого. Если рассчитывается размер контейнера по изображениям, значит размеры могут быть и приличными. Не выгодно оригиналы грузить, а значит и $(window).load не при делах. )

Сообщение от рони
можно прописать размеры в css или скрипте
CSS в смысле в тег стилей? Да, и лучше в нем, чем еще и скрипт отдельно формировать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает ajax при OnClick по ссылке firefox govorusha AJAX и COMET 8 06.06.2015 14:34
Ajax при заходе на страницу из поисковика - не работает Алексей_ГР Ваши сайты и скрипты 2 03.09.2013 00:03
submit form при закрытие страницы djonA Общие вопросы Javascript 0 26.05.2013 00:49
Автозапуск скрипта при загрузке страницы HepoH Javascript под браузер 3 31.03.2012 22:27
Срабатывание скрипта в разные моменты при загрузки в разных браузерах VitalikPro Javascript под браузер 10 29.12.2011 18:24