我目前正在通過ajax加載啓用prettyPhoto的圖庫的小產品顯示頁面。問題是,prettyPhoto不適用於最初加載頁面後添加的圖像。我知道我需要在新內容加載後重新初始化prettyPhoto,但是怎麼做?我試過添加prettyPhoto.init();到返回到頁面的代碼 - 這是行不通的。prettyPhoto和Ajax加載的內容
頁我的工作是在這裏:http://turningpointpro.com/page.php?id=10
我目前正在通過ajax加載啓用prettyPhoto的圖庫的小產品顯示頁面。問題是,prettyPhoto不適用於最初加載頁面後添加的圖像。我知道我需要在新內容加載後重新初始化prettyPhoto,但是怎麼做?我試過添加prettyPhoto.init();到返回到頁面的代碼 - 這是行不通的。prettyPhoto和Ajax加載的內容
頁我的工作是在這裏:http://turningpointpro.com/page.php?id=10
我最終找到兩種解決方案。第一,最好是把這個整個位:
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
到AJAX回調,而不是prettyPhoto.init();
功能,我之前打電話。
我也有使用API的一些運氣,而不是再次重新加載prettyPhoto。
希望這可以幫助別人。
如果您將ASP.NET與Ajax一起使用,腳本管理器將允許您使用每次頁面回傳(異步或其他)時調用的名爲pageLoad()
的函數。
代碼:
function pageLoad()
{
$("a[rel^='prettyPhoto']").prettyPhoto();
}
$(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();
});
});