prettyPhoto和Ajax加载的内容

时间:2009-10-18 06:23:21

标签: javascript ajax dynamic

我目前正在开发一个小型产品展示页面,它通过ajax加载启用了PrettyPhoto的图库。问题是,prettyPhoto对最初加载页面后添加的图像不起作用。我知道我需要在新内容加载后重新初始化prettyPhoto,但是如何?我试过添加prettyPhoto.init();返回到页面的代码 - 这不起作用。

我正在处理的页面是:http://turningpointpro.com/page.php?id=10

3 个答案:

答案 0 :(得分:5)

我最终找到了两个解决方案。第一个也是最好的就是把这一点放在一边:

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

进入ajax回调,而不是之前调用的prettyPhoto.init();函数。

我也很幸运使用API​​而不是再次重新加载prettyPhoto。

希望这有助于某人。

答案 1 :(得分:1)

如果您使用带有Ajax的ASP.NET,那么scriptmanager将允许您使用每次页面回发时调用的名为pageLoad()的函数(异步或其他)。

您的代码:

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

答案 2 :(得分: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();  
});
});
相关问题