2012-05-09 62 views
0

我正在創建一個使用jquery mobile的網站,幾乎一切都很好。但我有一些小問題,它與Photoswipe(http://www.photoswipe.com/)有關。jQuery Mobile + Photoswipe,用ajax加載圖庫?

這是發生了什麼:

我有幾個不同的casepages按類別劃分。當我進入一個實驗室時,我可以點擊畫廊,圖像顯示出來並且效果很好。但是,如果我從這個案例頁面直接轉到另一個案例頁面並嘗試打開該畫廊。什麼都沒發生。但是,如果我不直接轉到另一個案例頁面,然後轉到(沒有畫廊),然後轉到新案例之間。畫廊將開放。我使用jquery移動標準ajax處理,因此每個頁面都加載了ajax,並且與<head>中的其他頁面沒有區別。

圖庫圖片加載了PHP和MySQL,但<ul>的ID始終相同; #畫廊。

它可能與此有關,直接在具有相同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> 
+0

我患有同樣的問題。如果我使用標準的jquery調用,但是當縮放頁面變黑時,我可以加載滑動條。如果沒有,我不能把它註冊爲「可以滑動」的鏈接。 –

+0

那麼問題實際上是我使用.class的#ids intsead。所以將它改爲類,它會起作用。 – Paparappa

回答

0

替換類名 「畫廊」 到 「庫頁」。