jQuery Mobile + Photoswipe,用ajax加载图库?

时间:2012-05-09 12:08:20

标签: jquery jquery-mobile photoswipe

我正在使用jquery mobile创建一个网站,几乎所有东西都很棒。但我有轻微的问题,它与Photoswipe(http://www.photoswipe.com/)有关。

这就是:

我有几个不同的案例分类。当我进入一个案例网站时,我可以点击图库,图像显示并且效果很好。但是,如果我从这个案例页面直接转到另一个案例页面并尝试打开该图库。什么都没发生。但是,如果我不直接进入另一个案例页面并且之间的页面(没有画廊)然后转到新案例。画廊将开放。我使用jquery移动标准ajax处理,所以每个页面都加载了ajax,与<head>中的另一个没有区别。

图库图片加载了PHP和MySQL,但<ul>的ID始终相同; #Gallery。

它是否与此有关,当直接在具有相同ID的图库的页面之间进行时。它搞砸了什么?这是我的代码:

使用Javascript:

(function(window, $, PhotoSwipe){
            $(document).ready(function(){

                $('div.gallery-page')
                    .live('pageshow', function(e){

                        var 
                            currentPage = $(e.target),
                            options = {},
                            photoSwipeInstance = $("ul.gallery a", e.target).photoSwipe(options,  currentPage.attr('id'));

                        return true;

                    })

                    .live('pagehide', function(e){

                        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));


$('div:jqmData(role="page")').live('pageinit',function(){

    var options = {
        jQueryMobile: true
    };
    $("#Gallery a").photoSwipe(options);

});

HTML

<ul id="Gallery" class="gallery">
<li><a href="01.jpg" rel="external"><img src="01.jpg" alt="1" /></a></li>
<li><a href="02.jpg" rel="external"><img src="02.jpg" alt="2" /></a></li>
</ul>

1 个答案:

答案 0 :(得分:0)

更换班级名称&#34;画廊&#34;到&#34; gallery-page&#34;。