fancybox3 Javascript Init iframe
У меня проблемы с реализацией этого решения для моей ссылки iframe: Fancybox3 с iFrame - предотвращение закрытия при наложении
Вот мой пример:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>My page</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.css">
</head>
<body>
<a data-fancybox data-type="iframe" href="https://fancyapps.com/" target="_blank" rel="noopener">Test Box</a>
<!-- JS -->
<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.6/jquery.fancybox.min.js"></script>
<script type='text/javascript'>
$.fancybox({
clickSlide: false
});
</script>
</body>
</html>
Все библиотеки являются текущими, но я не могу заставить JavaScript работать для ClickSlide. Большое спасибо за любую помощь.
2 ответа
Мое лучшее предположение, что вы не ожидаете загрузки DOM. Я бы сказал, просто поместите инициализацию fancybox внутри document.ready
$(document).ready(function() {
$.fancybox({
clickSlide: false
});
})
У вас есть синтаксическая ошибка, проверьте документацию и используйте ее следующим образом:
$('[data-fancybox]').fancybox({
clickSlide: false
});
https://codepen.io/anon/pen/LaYNbr?editors=1010
ИЛИ ЖЕ
$.fancybox.defaults.clickSlide = false;
https://codepen.io/anon/pen/KEKzaM?editors=1010
И поместите свой код JS перед HTML или оберните внутри $( document ).ready()