Всем добрый день, столкнулся с проблемой что не работает fancybox. Сам скрипт рабочий. Склоняюсь к тому что подключённый jquery библиотека перебивается подключаемой в конце страницы в assets.
Я новичек, по этому не судите строго) а лучше помогите))) спасибо огромное)
Fancybox не работает
Re: Fancybox не работает
Вы не показали ни кода, ни что именно у вас не работает, ни скриншотов никаких. Шансов получить ответ нет никаких. Выкладывайте код, как подключаете, какие версии используете. Конечно, если у вас не работает проверенная годами библиотека, то вероятность 99% что вы делаете что-то не так. Но чтобы понять что именно вы делаете не так, нужно видеть хотя бы код.
Если библиотека должна подключаться после каких-то скриптов установите зависимости в ассет-бандлах. Ну и консоль браузера вам должна подсказать что у вас не так со скриптами.
Если библиотека должна подключаться после каких-то скриптов установите зависимости в ассет-бандлах. Ну и консоль браузера вам должна подсказать что у вас не так со скриптами.
Осторожно! Вы общаетесь с новичком
-
- Сообщения: 2
- Зарегистрирован: 2017.07.09, 10:35
Re: Fancybox не работает
Прошу прощения))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
Re: Fancybox не работает
Ну очевидно, что вы два раза подключаете jquey. А зачем? Уберите тот что в шапке. Изучите что такое asset-бандлы. Настройте подключение вашего скрипта после строк, где подключается jquery. Если и это не поможет, упрощайте задачу до тех пор, пока ошибка не исчезнет.
Осторожно! Вы общаетесь с новичком
Re: Fancybox не работает
Вот эти видео должны вам помочь понять что такое ассеты и как подключать ресурсы приложения:
https://www.youtube.com/watch?v=gDn9naCm0jM
https://www.youtube.com/watch?v=orgkRdyEuI0
ну и не забываем читать это: https://github.com/yiisoft/yii2/blob/ma ... /README.md
https://www.youtube.com/watch?v=gDn9naCm0jM
https://www.youtube.com/watch?v=orgkRdyEuI0
ну и не забываем читать это: https://github.com/yiisoft/yii2/blob/ma ... /README.md
Осторожно! Вы общаетесь с новичком