powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Перезагрузка скрипта javascript
11 сообщений из 11, страница 1 из 1
Перезагрузка скрипта javascript
    #38643453
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема вот в чем.

На страничке товаров интернет магазина есть javascript плагин fancybox. Он нужен для быстрого зума фотографий товара.

Работает отлично, пока я не вставил ajax переключение фотографий по цветам. Тоесть выбираем цвет и в окне фотографий должны поменяться фотографии нужного цвета. Но после первого выбора fancybox слетает. Тоесть фотки подгрузились, но уже показываются тупо без плагина. Вместо fancybox пробовал cloud-zoom. Точно так же все происходит.

Мне кажется, что нужно как-то перезагрузить сам плагин для работы уже с новыми картинками. но как это сделать? Возможно ли перезагрузить отдельный скрипт на странице при помощи ajax?

Пробовал отправлять строку подключения скрипта, не помогло:
Код: php
1.
<script src="<?=SITE_TEMPLATE_PATH?>/js/common/fancybox/jquery.fancybox.pack.js"></script>



Спасибо!
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643506
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код инициализации fancybox покажите
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643740
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnoguкод инициализации fancybox покажите

Это в хэдере страницы:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
		<link rel="stylesheet" href="<?=SITE_TEMPLATE_PATH?>/js/common/fancybox/jquery.fancybox.css"/>
		<script src="<?=SITE_TEMPLATE_PATH?>/js/common/fancybox/jquery.fancybox.pack.js"></script>
		<script type="text/javascript">
		    $(document).ready(function() {
		        $(".fancybox").fancybox({
		            helpers: {
		                overlay: {
		                    locked: false
		                }
		            }
		        });
		    });
		</script>



Вот сам блок с картинками:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
        <div id="photo_item_cart" class="left-column">

            <div class="big-picture">
                <a class="fancybox" rel="group" href="<?=$img['src']?>"><img id="big_photo" src="<?=$img['src']?>" alt=""/></a>
            </div>
            <div class="small-pictures">
            	<?foreach($arResult['MORE_PHOTO'] as $arPhoto):?>
                <a href="<?=$arPhoto['SRC']?>"><img id="small_photo_<??>" src="<?=$arPhoto['SRC']?>" width="50" alt=""/></a>
                <?endforeach?>
            </div>

        </div>



Вот картинка: http://joxi.ru/wgh2U_3JTJBtWHKa_Gw

Проблема в том, что после аякс загрузки нижние маленькие картинки тупо открываются в новой странице, а должны в окошке фотографии, тоесть в блоке "big-picture"
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643833
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cryptic,

Всё правильно. Ведь $("bla-bla-bla") возвращает объект с массивом элементов страницы уже существующих на момент вызова. Потому, у fancybox нету шансов отловить что либо на новых картинках, так как он об этих картинках ничего не знает. Для работы для новых картинок стоит выполнять переинициализацию... ну то есть повторно вызывать $(".fancybox").fancybox({bla-bla-bla}) . При этом плагин переподключать или делать что либо подобное не надо...
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643888
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пробовал этот код кидать в ajax запрос - не помогает. Как заставить скрипт заного заработать без перезагрузки страницы?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script type="text/javascript">
		    $(document).ready(function() {
		        $(".fancybox").fancybox({
		            helpers: {
		                overlay: {
		                    locked: false
		                }
		            }
		        });
		    });
		</script>
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643918
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CrypticЯ пробовал этот код кидать в ajax запрос - не помогает. Как заставить скрипт заного заработать без перезагрузки страницы?
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<script type="text/javascript">
		    $(document).ready(function() {
		        $(".fancybox").fancybox({
		            helpers: {
		                overlay: {
		                    locked: false
		                }
		            }
		        });
		    });
		</script>



Этот - это какой?
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643921
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Програмёр
Этот - это какой?

Который я опубликовал в предыдущем сообщении. Инициализация fancybox
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643925
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот код ajax сообщения:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function setOfferColor(id){ 
	$.ajax({
		  url: "/ajax/item_cart.php",
		  type: "POST",
		  data: {
					COLOR_ID:id,
				},
		  success: function(data){
			$("div#photo_item_cart").html(data);		
		  } 
	});	
}



Подскажите, что тут нужно написать, чтобы фансибокс перезагрузился для новой data в div#photo_item_cart?
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38643982
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cryptic,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
success: function(data){
    $("div#photo_item_cart").html(data);		
		  
    $(".fancybox").fancybox({
		            helpers: {
		                overlay: {
		                    locked: false
		                }
		            }
		        });
} 
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38644065
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu,

Я писал выше, что пробовал точно так же. Сейчас прям отсюда скопировал. Не - работает :(
...
Рейтинг: 0 / 0
Перезагрузка скрипта javascript
    #38644078
Cryptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, спасибо большое! Нашел решение.
Рылся в джаваскриптах и нашел такой вот код подмены содержимого из блока small-pictures в big-pictures. Именно его, а не fancybox надо было в ajax сообщение поместить. А фанси бокс и так свою функцию модального окна выполнял. Я почему-то глупо посчитал, что это все один плагин делает. Но нет.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
	success: function(data){
			$("div#photo_item_cart").html(data);
			    $('.small-pictures a').click(function(e) {
			        e.preventDefault();
			        var big_photo = $('#big_photo');

			        big_photo.attr('src', $(this).attr('href'));
			        big_photo.parent().attr('href', $(this).attr('href'));

			    });

		  }
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Перезагрузка скрипта javascript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]