0

我正在使用带有 jQ​​uery Mobile 的 Photoswipe 图库。第一个选择,单击时仅显示具有完整 URL 的图像,并且不适用于图库方式。当我返回并再次选择时,它工作正常。ps 在第一次失败/刷新页面后工作。

请检查下面的链接。这是我的移动网站。 http://w3qatar.info/aldarmobi

当我们检查链接属性>列表中的任何属性>查看更多照片...在此下方您可以找到缩略图。当我们首先单击缩略图时,它会加载没有画廊视图的原始图像。但是当我们返回并重试时,它会起作用。我正在使用 Opera 移动模拟器进行测试。带有 Mobile_jquery 主题的 Drupal 7。本站使用 Jquery mobile。

内部代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
  <link href="http://w3qatar.info/aldarmobi/sites/all/themes/mobile_jquery/photoswipe.css" type="text/css" rel="stylesheet" />  
  <script type="text/javascript" src="http://w3qatar.info/aldarmobi/sites/all/themes/mobile_jquery/lib/klass.min.js"></script>  
  <script type="text/javascript" src="http://w3qatar.info/aldarmobi/sites/all/themes/mobile_jquery/scripts/code.photoswipe.jquery-3.0.5.min.js"></script>

<script type="text/javascript">

(function(window, PhotoSwipe){

            document.addEventListener('DOMContentLoaded', function(){

        var
                options = {},
                instance = PhotoSwipe.attach( window.document.querySelectorAll('#gallery li a'), options );

        }, false);

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

    </script>

html部分:

<ul id="gallery" class="gallery">
<li><a href="imageurl1" rel="external"><img src="imageurl1" alt="image name1" /></a></li>
<li><a href="imageurl2" rel="external"><img src="imageurl2" alt="image name2" /></a></li>
<li><a href="imageurl3" rel="external"><img src="imageurl3" alt="image name3" /></a></li>
<li><a href="imageurl4" rel="external"><img src="imageurl4" alt="image name4" /></a></li>
</ul

请你帮助我好吗?我想在 iPhone 设备和 android 手机上工作。

提前致谢。

哈里克里斯。

4

1 回答 1

0

我向您展示了您正在使用 jQuery 的代码,所以为什么不使用它来做所有事情。

你能像下面这样改变你的代码,看看它是否有效

(function(window, $, PhotoSwipe){

    $(document).ready(function(){

        $('div.p-img_more')
            .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" &amp;&amp; photoSwipeInstance != null) {
                    PhotoSwipe.detatch(photoSwipeInstance);
                }

                return true;

            });

    });

}(window, window.jQuery, window.Code.PhotoSwipe));
于 2013-07-27T04:29:02.417 回答