我有一个有图像的div。当我点击图像时,我喜欢将具有图像的点转换为嵌入式视频:
<iframe width="560" height="315" src="http://www.youtube.com/embed/DxkEe_l7S3g" frameborder="0" allowfullscreen></iframe>
任何帮助将不胜感激。我希望尽可能不刷新页面。
答案 0 :(得分:5)
编辑:这是一个可以使用的小提琴:http://jsfiddle.net/9pdX6/
这取决于您从哪里获取视频ID。
假设你有这个:
<img data-id="DxkEe_l7S3g" src="some_image" />
然后你可以实现你想要的东西:
$('img').click(function() {
$(this).replaceWith(
'<iframe width="560" height="315" src="http://www.youtube.com/embed/' +
$(this).data('id') + '" frameborder="0" allowfullscreen></iframe>'
);
});
答案 1 :(得分:4)
你可以这样做:
$('#yourImage').click(function(){
$(this).replaceWith('<iframe>',{
width: 560,
height: 315,
src: 'http://www.youtube.com/embed/DxkEe_l7S3g',
frameborder: 0,
allowfullscreen: true
});
});
或者:
$('#yourImage').click(function(){
$(this).after('<iframe>',{
width: 560,
height: 315,
src: 'http://www.youtube.com/embed/DxkEe_l7S3g',
frameborder: 0,
allowfullscreen: true
}).remove();
});
或者:
$('#yourImage').click(function(){
$(this).parent().html('<iframe>',{
width: 560,
height: 315,
src: 'http://www.youtube.com/embed/DxkEe_l7S3g',
frameborder: 0,
allowfullscreen: true
});
});
答案 2 :(得分:2)
查看jQuery的html()函数。这允许您获取HTML并将其转储到容器中。
答案 3 :(得分:1)
$(document).ready(function(e) {
$("#yourImageID").click(change);
});
function change(){
$("#imgParentDivID").html('<iframe width="560" height="315" src="http://www.youtube.com/embed/DxkEe_l7S3g" frameborder="0" allowfullscreen></iframe>');
}
答案 4 :(得分:1)
有很多选择。最简单的一个可能是jQuery .replaceWith函数,用你所暗示的新元素替换当前元素对象。
像这样:
var vid = $("<iframe />", { frameborder: 0, src: "http://www.youtube.com/embed/DxkEe_l7S3g" }).css({ height: "315px", width: "560px" });
$(function() {
$(document).on("click", "img", function(e) {
$(this).replaceWith(vid);
});
})
另一种选择是将Iframe放在HTML上,将其CSS分配给display: none;
并使用jQuery的fadein / fadeout来实现“优雅”效果。像这样:
$(function() {
$(document).on("click", "img", function(e) {
$(this).fadeOut("slow", function(e) { $("iframe").fadeIn("fast"); });
});
})
我不确定你究竟在寻找什么,但是由于jQuery的预定义的javascript库,如果不是100个方法就可以做几十个问题。这些例子只是2!
答案 5 :(得分:0)
让我们说图像
<img src="..." data-src="http://www.youtube.com/embed/DxkEe_l7S3g"/>
使用jQuery
$(document).on("click","img",function(){
var frame = '<iframe width="560" height="315" src="'+$(this).data("src")+'" frameborder="0" allowfullscreen></iframe>';
$(this).replaceWith(frame);
});