Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.03.2018, 22:56
Новичок на форуме
Отправить личное сообщение для Mirchik Посмотреть профиль Найти все сообщения от Mirchik
 
Регистрация: 15.03.2018
Сообщений: 4

Fancy box Ajax и Reel плагины
Здравствуйте. Сразу прошу прощения за возможную тупость. Помогите пожалуйста, знаний своих совсем не хватает.
Столкнулся с проблемой, есть jqery плагин reel называется, там есть возможность маштабировать анимацию под размер экрана, я активировал данный пункт, но работает это мягко говоря непонятно для меня, возможно можно сделать "загрузку для пользователя" чтоб не было видно этих мерцаний при кэшировании. Вот описание функции от разработчика Reel -Responsiveness, а вот мой код при запуске через Ajax:
Код:
<div>
<script src="catalog/view/javascript/jquery/jquery.reel.min.js"></script>
<style>
.reelsize {
	margin: 0 auto
}
</style>

<?php foreach ($tt360images as $result) { ?>
	<div>
	<img src="/image/magic360/<?php echo $result['product_id']; ?>/01.jpg"
		width="1280"
		height="960"
		class="reel reelsize"
		id="image"
		data-responsive="true"
		data-speed="0.3"
		data-images="/image/magic360/<?php echo $result['product_id']; ?>/##.jpg|01..<?php echo $result['columns']; ?>">
	</div>
<?php } ?>
</div>
А вот этим запросом я вызываю модальное окно и ajax запрос:
Код:
<a data-fancybox data-type="ajax" data-src="index.php?route=product/product/getPhoto360img&product_id=<?php echo $product_id; ?> " href="javascript:;" class="js-fancy-popup">3D Просмотр</a>
Проблем несколько:
1. Мерцание при открытии (масштабирование работает но это мерцание пока не прокэшируется, возможно ли добавить какую то подгруздку)
2. При повторном открытии модального окна с ajax запросом, скрипт reel не срабатывает, тут вообще не представляю что делать, если обновить страницу то первый раз сработает а потом опять болт. Разработчик плагина предлагает использовать Эвент teardown, но я не знаю как это и где использовать.

Выгрузил проект на временный хост, чтоб визуальнее объяснить проблему. При нажатии на ссылку "3D Просмотр".
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2018, 02:51
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

2. Либо сделайте модальное окно ифреймом - тогда каждое открытие будет первым, либо $.reel.scan(); после открытия и готовности попапа.

1. $('#image').reel('opening',2); перед сканом вроде помогает частично.
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2018, 10:22
Новичок на форуме
Отправить личное сообщение для Mirchik Посмотреть профиль Найти все сообщения от Mirchik
 
Регистрация: 15.03.2018
Сообщений: 4

Сообщение от Белый шум Посмотреть сообщение
2. Либо сделайте модальное окно ифреймом - тогда каждое открытие будет первым, либо $.reel.scan(); после открытия и готовности попапа.

1. $('#image').reel('opening',2); перед сканом вроде помогает частично.
Спасибо, решил отказаться от ajax, нашел в плагине опцию shy которая подгружает картинки при клике на блок, то-есть нет сразу загрузки кучи картинок. Но мерцания мне кажутся из за модального окна и опции Responsiveness, но всеже больше из за модалки, сейчас пробую более протой вариант модалки на чистом jqery.

$.reel.scan(); - куда именно добавить попробовать?

$('#image').reel('opening',2); - простите но и тут не понимаю перед сканом это куда вставить это?
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2018, 10:34
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

$.reel.scan(); - в конец загружаемой страницы попапа.

$('#image').reel('opening',2); перед $.reel.scan(); (ну или параметром картинки вместе с остальными опциями reel: data-opening="2").
Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2018, 13:27
Новичок на форуме
Отправить личное сообщение для Mirchik Посмотреть профиль Найти все сообщения от Mirchik
 
Регистрация: 15.03.2018
Сообщений: 4

Сделал пока так, вроде все работает но не знаю как сделать закрытие окна по затемненной области, подскажите пожалуйста? И анимация почему-то не работает.

Вот пример как получилось.

Последний раз редактировалось Mirchik, 17.03.2018 в 13:55.
Ответить с цитированием
  #6 (permalink)  
Старый 17.03.2018, 18:25
Новичок на форуме
Отправить личное сообщение для Mirchik Посмотреть профиль Найти все сообщения от Mirchik
 
Регистрация: 15.03.2018
Сообщений: 4

Сделал отдельным модальным окном на javascript, теперь все работает, спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы после ajax проверки ShutTap Общие вопросы Javascript 15 08.04.2016 11:46
Установить свой padding в Fancy box Ленча jQuery 2 26.05.2015 22:50
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05