1

jQuery Mobile で Photoswipe ギャラリーを使用しています。最初の選択をクリック/タップすると、完全な URL を含む画像のみが表示され、ギャラリーのようには機能しません。戻ってもう一度選択すると、正常に動作します。

どうすればこれを整理できるか教えてください。

乾杯!

4

1 に答える 1

1

ユーザーがリンクを使用してフォトスワイプ ギャラリー ページに直接アクセスすると、フォトスワイプが初期化されません。たとえば、直接リンクを使用して公式デモにアクセスしても、この問題が発生します。リンク: http://www.photoswipe.com/latest/examples/04-jquery-mobile.html#Gallery1

photoswipe がpageshowpagehideイベントのハンドラを の前に付けるスクリプトを入れてみてくださいjquery-mobile.js。ユーザーが最初にページにアクセスしたときにハンドラーがトリガーされない後にハンドラーがアタッチされている場合。

<script type="text/javascript" src="code.photoswipe-3.0.5.min.js"></script>
<script type="text/javascript">
    (function(window, $, PhotoSwipe){

        $(document).ready(function(){
            $('div.gallery-page')
                .live('pageshow', function(e){
                    if( $('ul.gallery', e.target).length > 0 ){
                        var 
                            currentPage = $(e.target),
                            options = {},
                            photoSwipeInstance = $("ul.gallery a", e.target).photoSwipe(options,  currentPage.attr('id'));

                            return true;
                    }
                })

                .live('pagehide', function(e){
                    if( $('ul.gallery', e.target).length > 0 ){
                        var 
                            currentPage = $(e.target),
                            photoSwipeInstance = PhotoSwipe.getInstance(currentPage.attr('id'));

                        if (typeof photoSwipeInstance != "undefined" && photoSwipeInstance != null) {
                            PhotoSwipe.detatch(photoSwipeInstance);
                        }

                        return true;
                    }

                });

        });

    }(window, window.jQuery, window.Code.PhotoSwipe));

</script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
于 2012-10-08T20:30:44.270 に答える