1

私の個人的なフォト ギャラリーでは、メイソンリー(写真の配置用) と無限スクロール(写真のダウンロード時間を分割するため) を使用しています。最近、Slimbox2を追加しました(何らかの理由で Lightbox2 を動作させることができなかったため)。Slimbox2 は最初のページでは完全に機能しますが、無限スクロールによってロードされた次のページでは機能しません。

rel="lightbox-page1"やなどの別のグループ名を使用するrel="lightbox-page2か、グループ化をまったく使用しないでみましたが、どのアプローチも機能しませんでした。新しいページが読み込まれたときに Slimboxを更新する必要がありますか? InfiniteScroll の作成者は、次のコードを提案しています myLightbox.updateImageList();。理にかなっていますか?Slimbox 用に変換する方法は? 2011年に私と同じ問題を抱えている人.

ここでライブの問題 を確認できます。これらは私が現在使用しているスクリプトです (ページのソースを表示できます)。

<script>
        $(function() {

            var $container = $('#gallery');

            $container.imagesLoaded(function() {
                $container.masonry({
                    itemSelector : '.box',
                    columnWidth : 1,
                    isAnimated : true
                });
            });

            $container.infinitescroll({
                navSelector : '#page-nav', // selector for the paged navigation
                nextSelector : '#page-nav a', // selector for the NEXT link (to page 2)
                itemSelector : '.box', // selector for all items you'll retrieve
                loading : {
                    finishedMsg : 'No more pages to load.',
                    img : '/assets/img/loading.gif'
                }
            },
            // trigger Masonry as a callback
            function(newElements) {
                // hide new items while they are loading
                var $newElems = $(newElements).css({ opacity : 0 });
                // ensure that images load before adding to masonry layout
                $newElems.imagesLoaded(function() {
                    // show elems now they're ready
                    $newElems.animate({ opacity : 1 });
                    $container.masonry( 'appended', $newElems, true );
                });
            });
        });
    </script>
4

0 に答える 0