Fancybox не работает

Вопросы по вёрстке и JavaScript
Ответить
Flaerman174
Сообщения: 2
Зарегистрирован: 2017.07.09, 10:35

Fancybox не работает

Сообщение Flaerman174 »

Всем добрый день, столкнулся с проблемой что не работает fancybox. Сам скрипт рабочий. Склоняюсь к тому что подключённый jquery библиотека перебивается подключаемой в конце страницы в assets.
Я новичек, по этому не судите строго) а лучше помогите))) спасибо огромное)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Fancybox не работает

Сообщение girmate »

Вы не показали ни кода, ни что именно у вас не работает, ни скриншотов никаких. Шансов получить ответ нет никаких. Выкладывайте код, как подключаете, какие версии используете. Конечно, если у вас не работает проверенная годами библиотека, то вероятность 99% что вы делаете что-то не так. Но чтобы понять что именно вы делаете не так, нужно видеть хотя бы код.

Если библиотека должна подключаться после каких-то скриптов установите зависимости в ассет-бандлах. Ну и консоль браузера вам должна подсказать что у вас не так со скриптами.
Осторожно! Вы общаетесь с новичком ;)
Flaerman174
Сообщения: 2
Зарегистрирован: 2017.07.09, 10:35

Re: Fancybox не работает

Сообщение Flaerman174 »

girmate писал(а): 2017.07.09, 14:17 Вы не показали ни кода, ни что именно у вас не работает, ни скриншотов никаких. Шансов получить ответ нет никаких. Выкладывайте код, как подключаете, какие версии используете. Конечно, если у вас не работает проверенная годами библиотека, то вероятность 99% что вы делаете что-то не так. Но чтобы понять что именно вы делаете не так, нужно видеть хотя бы код.

Если библиотека должна подключаться после каких-то скриптов установите зависимости в ассет-бандлах. Ну и консоль браузера вам должна подсказать что у вас не так со скриптами.
Прошу прощения))

в шапке подключаю:
<script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://remza.net/js/jquery.fancybox.css?v=2.0.6" media="screen" />

<script type="text/javascript" src="http://remza.net/js/jquery.fancybox.pac ... "></script>

<script src="http://api-maps.yandex.ru/2.0/?load=pac ... ll&lang=ru.." type="text/javascript"></script>

Далее делаю ссылку и вешаю на нее событие onclick maps:
<?php if ( !$pending ) { ?>
<div class="content" id="adres">
<p><?= ( isset($detail['main_address']) && !empty($detail['main_address']) ) ? $detail['main_address'] . ', ул.' . $detail['exact_address']: 'Основное место расположения'; ?></p>
<a class="fancybox" href="#inline1" onClick="maps();">Посмотреть на карте</a>
</div>

Далее пишу скрипт:
<script type="text/javascript">
function maps(){
ymaps.ready(function () {

var adres='<? echo $detail['main_address'] . ', ул.' . $detail['exact_address'];?>';
alert(adres);
$('.fancybox').fancybox({height:600,afterShow : function() {

ymaps.geocode(adres, { results: 1 }).then(function (res) {
// Выбираем первый результат геокодирования
window.firstGeoObject = res.geoObjects.get(0);
var points = window.firstGeoObject.geometry.getCoordinates();
window.myMap = new ymaps.Map("inline1", {
center: points,
zoom: 17,
behaviors: ["scrollZoom","drag"]
});

myMap.balloon.open(
// Позиция балуна
points, {
// Свойства балуна
contentBody: '<strong>'+adres+'</strong>'
}, {
closeButton: false
});


}, function (err) {
// Если геокодирование не удалось,
// сообщаем об ошибке
console.log(err.message);
});
}, afterClose:function (){
window.myMap.destroy();
myMap = null;
}});
});
}
</script>

И внизу вставляю:
<div id="inline1" style="width:700px; height:600px; display: none;"></div>

Консоль при вводе jQuery отвечает нормально, а вот jQuery.fancybox не отвечает. пишет undefined.
При нажатии на ссылку в консоле соответственно появляется ошибка
TypeError: $('.fancybox').fancybox is not a function. (In '$('.fancybox').fancybox', '$('.fancybox').fancybox' is undefined)
в строке скрипта $('.fancybox').fancybox({height:600,afterShow : function() {

я грешу на подключение jquery в футере <script src="/assets/69cb467f/jquery.js"></script>

как отключить этот jquery или в чем может быть ошибка. локально этот скрипт работает. проблема именно при внедрении в yii
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Fancybox не работает

Сообщение girmate »

Ну очевидно, что вы два раза подключаете jquey. А зачем? Уберите тот что в шапке. Изучите что такое asset-бандлы. Настройте подключение вашего скрипта после строк, где подключается jquery. Если и это не поможет, упрощайте задачу до тех пор, пока ошибка не исчезнет.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Fancybox не работает

Сообщение girmate »

Вот эти видео должны вам помочь понять что такое ассеты и как подключать ресурсы приложения:
https://www.youtube.com/watch?v=gDn9naCm0jM
https://www.youtube.com/watch?v=orgkRdyEuI0
ну и не забываем читать это: https://github.com/yiisoft/yii2/blob/ma ... /README.md
Осторожно! Вы общаетесь с новичком ;)
Ответить