由于嵌入的视频太多,我的网站加载缓慢。我看到有图像的位置(嵌入视频的位置上方),然后单击它,此时会加载嵌入的视频。谁能帮我弄清楚如何做到这一点?也许一旦您将鼠标悬停在加载 youtube 嵌入的图像上?非常感谢!
问问题
10110 次
1 回答
13
只需在用户点击图片后使用 jQuery 插入嵌入代码:
只是示例代码:HTML
<div id="video" style="background-color:red; width:560px; height:315px;"></div>
jQuery:
$('#video').on('click', function() {
$(this).html('<iframe width="560" height="315" src="//www.youtube.com/embed/9bZkp7q19f0?autoplay=1" frameborder="0" allowfullscreen></iframe>').css('background', 'none');
});
如果您希望视频自动播放?autoplay=1
,请像我一样添加到网址的末尾。
没有缩略图的代码:http: //jsfiddle.net/KFcRJ/
提取视频缩略图:
HTML:
<div id="video" style="background-color:red; width:560px; height:315px;">
<a href="http://www.youtube.com/watch?v=9bZkp7q19f0" class="youtube"></a></div>
jQuery:
$('#video').on('click', function() {
$(this).html('<iframe width="560" height="315" src="//www.youtube.com/embed/9bZkp7q19f0?autoplay=1" frameborder="0" allowfullscreen></iframe>').css('background', 'none');
});
function getYoutubeID(url) {
var id = url.match("[\\?&]v=([^&#]*)");
id = id[1];
return id;
};
$('a.youtube').each(function() {
var id = getYoutubeID( this.href );
this.id = id;
var thumb_url = "http://img.youtube.com/vi/"+id+"/maxresdefault.jpg";
$('<img width="100%" src="'+thumb_url+'" />').appendTo($('#video'));
});
带缩略图的代码:http: //jsfiddle.net/89uVe/4/
于 2013-10-27T18:57:02.213 回答