因为直到现在我还没有看到安迪的更新,所以我想出了一个……相当可怕的方法来做到这一点(但我接受了他的回答,因为它比我的要好得多)。
<script type="text/javascript">
$(document).ready(function(){
$("img").click(function () {
var videoID = $(this).attr("id");
$(this).replaceWith("<object class=\"yt\" width=\"445\" height=\"364\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + videoID + "&hl=en&fs=1&color1=0x3a3a3a&color2=0x999999&border=1\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/" + videoID + "&hl=en&fs=1&color1=0x3a3a3a&color2=0x999999&border=1\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"445\" height=\"364\"></embed></object>");
});
});
</script>
与以下 html 一起使用:
<dl>
<dt>Thoughts of Sacrament</dt>
<dd><img src="img/H5ZEYFgmfYo.png" id="H5ZEYFgmfYo" class="yt" /></dd>
<dt>Sanity falling</dt>
<dd><img src="img/2ieLb3RAblA.png" id="2ieLb3RAblA" class="yt" /></dd>
</dl>
我的解决方案是#id
从单击的图像中获取属性,然后将其插入到replaceWith()
代码中。它工作,在时尚之后。但是截图 -> 裁剪 -> 另存为 video-id.png 方法是乏味的,至少可以这么说。我想我可能会保留我的解决方案——如果不出意外的话,这是一种可悲的自豪感——但我会尝试将它与 jYoutube 方法结合起来。
如果这不起作用,那么我将使用安迪的答案。
作为更新,我使用 jQuery 将事情调整得更加优雅
animate()
:
<script type="text/javascript">
$(document).ready(function(){
$("img").click(function () {
var videoID = $(this).attr("id");
$(this).animate({
width: "445px",
height: "364px"
}, 600, function() {
$(this).replaceWith("<object id=\"" + videoID + "\" class=\"yt\" width=\"425\" height=\"344\"><param name=\"movie\" value=\"http://www.youtube.com/v/" + videoID + "&hl=en&fs=1&color1=0x3a3a3a&color2=0x999999\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/" + videoID + "&hl=en&fs=1&color1=0x3a3a3a&color2=0x999999\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"425\" height=\"344\"></embed></object><span class=\"close\"><a href=\"#\">x</a></span>");
});
});
});
</script>
另外,我正在生成一个<span class="close"><a href="#">x</a></span>
,希望它应该与点击处理程序一起使用,以将 Flash 视频对象缩小并用原始的.png
.
这是......如果我能弄清楚为什么 jQuery 不会让它有一个$(this).click();
事件......
有时我只是希望我知道什么时候停止......感谢任何帮助...... =)