2013-06-29 5 views
0

У меня проблема с использованием Phonegap и PhotoSwipe; Я хочу вызвать страницу ajax, содержащую фотогалерею; но в этом случае PhotoSwipe не работает. Это кажется очень легким.Phonegap и PhotoSwipe в вызове ajax

Спасибо за помощь

Генри

Это мой Javascript:

$(document).on('pageshow','#photo', function(){ 

    console.log("photo1"); 

    (function(window, $, PhotoSwipe){ 
     $(document).ready(function(){ 
     var options = {}; 
      $("#Gallery a").photoSwipe(options); 

     }); 


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

}); 

Это простой HTML:

<!-- Start of page - GALLERY --> 
<div data-role="page" id="photo"> 

    <div data-role="header" data-theme="b" data-position="fixed"> 
     <a href="#page4" data-icon="arrow-l" data-transition="slide" data-direction="reverse">Back</a><h1>ABC</h1> 
    </div><!-- /header --> 

    <div data-role="content"> 

     <ul id="Gallery" class="gallery"> 

      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src=""/img/page/155/icon.jpg" alt="Image 005" /></a></li> 
      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src=""/img/page/155/icon.jpg" alt="Image 006" /></a></li> 
      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src=""/img/page/155/icon.jpg" alt="Image 007" /></a></li> 
      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src=""/img/page/155/icon.jpg" alt="Image 008" /></a></li> 
      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src=""/img/page/155/icon.jpg" alt="Image 009" /></a></li> 
      <li><a href="/img/page/155/icon4.jpg" rel="external"><img src="/img/page/155/icon.jpg" alt="Image 010" /></a></li> 
     </ul> 

    </div><!-- /content --> 

</div><!-- /page --> 
+1

«Не работает» чрезвычайно широк. –

+0

Извините, Дэнни; когда я нажимаю фотографию из списка, изображение загружается как внешняя страница без эффектов «Фотосвеч». – Henry8

ответ

0

when I click an photo from the list, the image is loading as a external page without Photoswipe effects.

это указывает на то, что photoswipe является не будучи fi красный. Попробуйте удалить событие document.ready, потому что pageshow Событие запускается после того, как документ готов.

$(document).on('pageshow','#photo', function(){ 

    console.log("photo1"); 

    (function(window, $, PhotoSwipe){ 
     var options = {}; 
     $("#Gallery a").photoSwipe(options); 

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

}); 

Here представляет собой упрощенный пример кода, который работает.

+0

Thank keune; к сожалению, ваше решение не работает. Поведение такое же. Я добавляю 2 console.log: [code] $ (document) .on ('pageshow', '# photo', function() { console.log ("photo1"); (function (window, $ , PhotoSwipe) { var options = {}; console.log ("photo2"); $ ("# Gallery a"). PhotoSwipe (опции); console.log ("photo3"); } (окно , window.jQuery, window.Code.PhotoSwipe)); }); При загрузке страницы console.log ("photo3") не отображается. – Henry8

+0

Я добавил рабочий пример, который может вам помочь. – keune

+0

я получил эту ошибку: TypeError:. $ (...) photoSwipe не является функцией я не знаю, как решить эту проблему – Henry8