PrettyPhoto与动态内容JQuery AJAX

时间:2013-06-21 08:38:17

标签: jquery prettyphoto

HELLO我有这个代码通过AJAX调用加载内容,这些是vimeo视频,当我放静态代码时工作...但不是动态加载的内容我尝试了很多解决方案但不适合我 任何帮助都会得到满足 这是代码:

$(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 个答案:

答案 0 :(得分: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();"行解决了我的问题。谢谢你的回答。