Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带Photosweep的无限卷轴_Javascript_Jquery_Infinite_Photoswipe_Jquery Isotope - Fatal编程技术网

Javascript 带Photosweep的无限卷轴

Javascript 带Photosweep的无限卷轴,javascript,jquery,infinite,photoswipe,jquery-isotope,Javascript,Jquery,Infinite,Photoswipe,Jquery Isotope,我使用无限卷轴和同位素和Photosweep制作照片库。当我点击“更多照片”按钮时,它会加载下一张照片。但我不知道如何将这些新照片声明为Photosweep,因为我这样做,当我单击一张照片(新照片)时,它会打开另一张照片 我得到了一个将照片声明为Photosweep的函数,该函数执行了两次:第一次在加载dom时执行,第二次在加载下一张照片时执行: // Photoswipe declaration new_photos_lightbox(); function new_photos_lightb

我使用无限卷轴和同位素和Photosweep制作照片库。当我点击“更多照片”按钮时,它会加载下一张照片。但我不知道如何将这些新照片声明为Photosweep,因为我这样做,当我单击一张照片(新照片)时,它会打开另一张照片

我得到了一个将照片声明为Photosweep的函数,该函数执行了两次:第一次在加载dom时执行,第二次在加载下一张照片时执行:

// Photoswipe declaration
new_photos_lightbox();
function new_photos_lightbox() {

    $('.gal-photos>ul').each( function() {
        var $pic     = $(this),
            getItems = function() {

                var items = [];
                $pic.find('a').each(function() {

                    var $href   = $(this).attr('href'),
                        $size   = $(this).data('size').split('x'),
                        $width  = $size[0],
                        $height = $size[1];
                    var item = {
                        src : $href,
                        w   : $width,
                        h   : $height
                    }

                    items.push(item); 
                });

                return items;
            }
        var items = getItems();

        var $pswp = $('.pswp')[0];
        $pic.on('click','li',function(event){
            event.preventDefault();

            var $index = $(this).index();
            console.log($(this));
            var options = {
                index: $index,
                bgOpacity: 0.7,
                showHideOpacity: true
            }

            // Initialisation PhotoSwipe

            var lightBox = new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options);
            lightBox.init();

            return false;
        });
    });
}
后来我管理同位素:

/*
 * Isotope
 */

var len = $('script[src*="js/isotope.pkgd.min.js"]').length; 
if (len != 0) {
    var $loaderAjax = $('.loader-ajax');
    var $container = $('.grid');
    $loaderAjax.show();     
    $container.imagesLoaded( function(){
        $container.isotope({
            itemSelector : '.grid-item',
            masonry: {
                columnWidth: 200,
                isAnimated: true,
                isFitWidth: true,
                gutter: 20
            }
        });

        $container.infinitescroll({
                navSelector  : '#ms-gallery-nav',    
                nextSelector : '#ms-gallery-nav a', 
                itemSelector : '.grid-item',   
                loading: {
                    msgText: 'loading photos...',
                    finishedMsg: 'No more photos',
                    img: '../img/aj-loader.gif'
                }
            },
            function( newElements ) {
                var $newElems = $(newElements).css({
                    opacity: 0
                });
                $newElems.imagesLoaded(function () {
                    $newElems.animate({
                        opacity: 1
                    });
                    $container.isotope('appended', $newElems, true);
                }); 
                new_photos_lightbox();
            } 
        );

        // Deactivation infinite scroll the benefit of More button
        $container.infinitescroll('unbind');
        $('#next-page-button').on('click', function(e) {
            e.preventDefault();
            $container.infinitescroll('retrieve');

            $(this).blur();
        });

        $("ul.grid li").css({'display': 'list-item'});
        $("div.filter-button-group").animate({'opacity':'1'},500); 
        $loaderAjax.hide();     
    });
}

非常简单

 $pic.find('figure').each(function(e,i) {

    $(i).on('click', 'a', function (e) {

      var $pswp = $('.pswp')[0];  

      ....             
    });
 });