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