2009-10-18 79 views
2

我目前正在通過ajax加載啓用prettyPhoto的圖庫的小產品顯示頁面。問題是,prettyPhoto不適用於最初加載頁面後添加的圖像。我知道我需要在新內容加載後重新初始化prettyPhoto,但是怎麼做?我試過添加prettyPhoto.init();到返回到頁面的代碼 - 這是行不通的。prettyPhoto和Ajax加載的內容

頁我的工作是在這裏:http://turningpointpro.com/page.php?id=10

回答

5

我最終找到兩種解決方案。第一,最好是把這個整個位:

$(document).ready(function(){ 
    $("a[rel^='prettyPhoto']").prettyPhoto(); 
}); 

到AJAX回調,而不是prettyPhoto.init();功能,我之前打電話。

我也有使用API​​的一些運氣,而不是再次重新加載prettyPhoto。

希望這可以幫助別人。

1

如果您將ASP.NET與Ajax一起使用,腳本管理器將允許您使用每次頁面回傳(異步或其他)時調用的名爲pageLoad()的函數。

代碼:

function pageLoad() 
{ 
$("a[rel^='prettyPhoto']").prettyPhoto(); 
} 
1
$(function() { 
$('#navigation a.button').click(function(e) { 
    $.get($(this).attr('href'), function(data) { 
     $('#portfolio').quicksand($(data).find('li'), { adjustHeight: 'dynamic' }, function(){ $("a[rel^='prettyPhoto']").prettyPhoto(); }); 

    }); 
    e.preventDefault(); 
}); 
});