从这个问题中挑选出来:Get img thumbnails from Vimeo?
我正在尝试创建一个包含多个vimeo视频的页面。
我希望HTML中的视频看起来像这样:
<div id='12345678' class='vimeo'></div>
<div id='23423423' class='vimeo'></div>
然后我希望jQuery使用divs
填充img
,其中src
是vimeo的缩略图,a
指向视频,并且其文本是视频的标题。也就是说,它应该像这样结束:
<div id='12345678' class='vimeo'>
<a href='https://vimeo.com/12345678'>
<img src='url-to-thumbnail.jpg' />
Video Title
</a>
</div>
(为清晰起见,添加了缩进)
这是我从其他问题的出发点:
<script type="text/javascript">
$.ajax({
type:'GET',
url: 'http://vimeo.com/api/v2/video/' + video_id + '.json',
jsonp: 'callback',
dataType: 'jsonp',
success: function(data){
var thumbnail_src = data[0].thumbnail_large;
$('#thumb_wrapper').append('<img src="' + thumbnail_src + '"/>');
}
});
</script>
<div id="thumb_wrapper"></div>
答案 0 :(得分:4)
试试这个: -
假设带有id的div已经存在。
success: function(data){
$('<a/>',{
href:data[0].url,
text:data[0].title }).append(
$('<img/>' ,{
src:data[0].thumbnail_large
})
)
.appendTo('#'+data[0].id)
}
如果id不存在div: -
success: function(data){
$('<a/>',{
href:data[0].url,
text:data[0].title })
.append(
$('<img/>' ,{
src:data[0].thumbnail_large
})
).appendTo($('<div/>',{
id:data[0].id,
class:'vimeo'
}))
.appendTo('.someContainer');
}
答案 1 :(得分:2)
将html附加到相应的div
var vimeo_content="<a>\
<img />\
<span></span>\
</a>";
// on success function
function(){
var vdata = data[0];
var thumbnail_src = vdata.thumbnail_large;
var video_title = vdata.title;
var video_url = vdata.url;
$vimeo_content = $(vimeo_content);
$vimeo_content.find('a').attr('href',url);
$vimeo_content.find('img').attr('src',thumbnail_src);
$vimeo_content.find('span').text(title);
//append to corresponding div
$vimeo_content.appendTo($('div#'+video_id));
}