javascript - 滑动事件未触发

标签 javascript jquery fancybox swiper.js jquery-isotope

我正在开发一个使用 Swiper 的画廊网站 用于幻灯片放映的 JQuery 插件和用于网格的同位素。 画廊中的每个项目都有自己的 slider 和自己的 同位素项目。 Swiper 画廊会在 fancybox 中弹出 并且仅适用于调整大小。

谁能告诉我我做错了什么?

<script src='js/jquery.min.js'></script>
    <script src='js/fancybox.js'></script>
    <script src='js/bootstrap.min.js'></script>
    <script src='js/isotope.pkgd.js'></script>
    <script src='js/swiper.min.js'></script>
    <script>

        var sliders = [];
        $('.swiper-container').each(function (index, element) {
            $(this).addClass('s' + index);
            var slider = new Swiper('.s' + index, {
                pagination: '.swiper-pagination',
                paginationClickable: true,
                nextButton: '.swiper-button-next',
                prevButton: '.swiper-button-prev',
                spaceBetween: 0,
                speed: 1000,
                autoplay: 4000,
                loop: true,
                paginationBulletRender: function (swiper, index, className) {
                return '<span class="' + className + '">' + (index + 1) + '</span>';
                }
            });
            sliders.push(slider);
            slider.on('slideChangeStart', function () {
                console.log('slide change start 2');
                $('.overlay1').hide().delay(700).fadeIn(1400);
                $('.overlay2').hide().delay(700).fadeIn(1400);
            });
        });
    </script>
    <script>
        $( document ).ready(function() {
            $(".fancybox").fancybox({
                maxWidth: 1170,
                maxHeight: 682,
                fitToView : false,
                autoSize : false,
                width: '100%',
                height: '100%',
                closeClick: false,
                openEffect: 'fade',
                closeEffect: 'fade'
            });
            $('.delete').click(
                function () {
                $('input:text').val('').trigger('keyup');
            });
        });
    </script>
    <script>
        $('#navbar > ul > li').hover(function () {
           $(this).css("background-color", "#f3f3f3");
        }, function () {
           $(this).css("background-color", "transparent");
        });
       $('.delete').click(
           function () {
           $('input:text').val('').trigger('keyup');
       });
    </script>
    <script src='js/script.js'></script>

最佳答案

您应该将 slider 的创建也移至文档就绪事件处理程序中。最好将 3 个脚本标签移到 javascript 文件中。

$( function() {

      var sliders = [];
        $('.swiper-container').each(function (index, element) {
            $(this).addClass('s' + index);
            var slider = new Swiper('.s' + index, {
                pagination: '.swiper-pagination',
                paginationClickable: true,
                nextButton: '.swiper-button-next',
                prevButton: '.swiper-button-prev',
                spaceBetween: 0,
                speed: 1000,
                autoplay: 4000,
                loop: true,
                paginationBulletRender: function (swiper, index, className) {
                return '<span class="' + className + '">' + (index + 1) + '</span>';
                }
            });
            sliders.push(slider);
            slider.on('slideChangeStart', function () {
                console.log('slide change start 2');
                $('.overlay1').hide().delay(700).fadeIn(1400);
                $('.overlay2').hide().delay(700).fadeIn(1400);
            });
        });
            $(".fancybox").fancybox({
                maxWidth: 1170,
                maxHeight: 682,
                fitToView : false,
                autoSize : false,
                width: '100%',
                height: '100%',
                closeClick: false,
                openEffect: 'fade',
                closeEffect: 'fade'
            });
            $('.delete').click(
                function () {
                $('input:text').val('').trigger('keyup');
            });
        });

  $('#navbar > ul > li').hover(function () {
           $(this).css("background-color", "#f3f3f3");
        }, function () {
           $(this).css("background-color", "transparent");
        });
       $('.delete').click(
           function () {
           $('input:text').val('').trigger('keyup');
       });

关于javascript - 滑动事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926510/

相关文章:

javascript - 获取要在 Bootstrap Popover 中呈现的 javascript highcharts

javascript - 如何使用 moment.js 查找日期、月份和年份

ajax - 使用 AJAX (jQuery) 加载日期在 div 内无限滚动

javascript - 使用表单中的变量作为 DOM 选择器

javascript - Fancybox 显示相同的图像

javascript - fancybox 输入在 <a> 内

javascript - 如何更新 knockoutjs 可观察数组项

javascript - 用户提交时如何获取 nav-pils 选择?

jquery - CSS3 变换scale() 确实对一些元素进行像素化

javascript - 使用 .trigger 自动加载 fancybox ('click' )