2013-06-21 110 views
0

你好我有这个代码是通过AJAX调用加载内容,这些是vimeo视频和工作时,我把静态代码...但没有动态加载的内容我尝试了很多解决方案,但不工作我 任何帮助将appriciated 这里是代码:prettyPhoto与动态内容jQuery AJAX

$(document).ready(function(){ 
    $("a[data-rel^='prettyPhoto']").prettyPhoto(); 
    $(".category").click(function(){ 
     var categoryid = $(this).data('categoryid'); 
      $.ajax({ 
       url:'<?php echo base_url() ?>main/getPortfolioVideos', 
       type:'POST', 
       data: { category_id: categoryid, page_slug: "index" } 
       }).done(function(data){ 
        var rows = $.parseJSON(data); 
        var videodata = ""; 
        $(rows).each(function(index, value){ 
          $.each(value, function(k, v){ 
           if(k == "video_link"){ 
            videodata += '<article class="entry"> <a data-rel="prettyPhoto" href="http://vimeo.com/'+ v +'">'; 
            videodata += '<iframe src="http://player.vimeo.com/video/'+ v +'" width="270" height="160" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="">'; 
            videodata += '</iframe><span class="video-hover"></span> </a> </article>'; 
           } 
           console.log(k+":"+v); 
          }); 
        }) 
        $(".portfolio").html(videodata); 
       }); 
    }); 
}); 

回答

1

对不起,迟到的回答,我今天有同样的问题。所以,我已经通过以下方式解决了这个问题 - 只需添加到$ .ajax成功功能代码中,即可在新内容出现时调用相片。

首先,写一个函数包装:

function prettyPhotoLoad() 
{ 
    // apply prettyPhoto plugin for video previews 
    $("a[rel^='prettyPhoto']").prettyPhoto();  
} 

适用漂亮照片时,文件准备:

$(document).ready(function() 
{ 
    prettyPhotoLoad(); 
} 

使得Ajax调用和更新漂亮的照片:

$.ajax(
{ 
    url: base_url + "/ajax/ShowMoreWebResults",  
    success: function(myVal) 
    { 
     $("#resultsContainer").append(myVal.content); 

     // load pretty photo 
     prettyPhotoLoad(); 
    } 
}); 

注:我已通过使用"$("a[rel^='prettyPhoto']").prettyPhoto();"行解决了我的问题。感谢这个答案。