我有一个 html 表,其中包含列表中的视频和图像。如果您单击任何行,它会播放视频或在 div 中显示图像。
我还有一个尺寸更改链接,可以在单击时调整视频或图像的尺寸。
<div id="player" style="display:block;width:320px;height:240px;background-image:url(http://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/128x128/Circle_Red.png)"></div>
<a id="toggleres" href="#">Change to 640x480</a>
<table id="webcam-table" class="pretty">
<thead>
<tr>
<th>Name</th>
<th>Date Created</th>
<th>Length</th>
</tr>
</thead>
<tbody>
<tr class="videorow" data-url=http://www.extremetech.com/wp-content/uploads/2012/12/Audi-A1.jpg>
<td>
testimages
</td>
<td>
13 Jun 2013 22:01:37
</td>
<td>
1sec
</td>
</tr>
<tr class="videorow" data-url=http://metalstate.files.wordpress.com/2013/03/10-mclaren-p1-cars-to-wait-for-jpg_235623.jpg>
<td>
testimages
</td>
<td>
13 Jun 2013 22:01:37
</td>
<td>
1sec
</td>
</tr>
</tbody>
</table>
单击表格中的行时,您可以查看任何图像或播放任何视频。您可以随时通过单击链接更改分辨率(大小)。
jQuery('#toggleres').click(function(event) {
if (jQuery('#toggleres').text() == "Change to 320x240"){
jQuery(this).html("Change to 640x480");
jQuery('#player').css({'width':'320px', 'height':'240px', 'background-image': 'url(http://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/128x128/Circle_Red.png)'});
}
else{
jQuery(this).html("Change to 320x240");
jQuery('#player').css({'width':'640px', 'height':'480px', 'background-image': 'url(http://cdn3.iconfinder.com/data/icons/softwaredemo/PNG/128x128/Circle_Red.png)'});
}
});
jQuery("#webcam-table").on("click", "tr.videorow > td", function(e) {
var parser = document.createElement('a');
parser.href = theUrl;
//the right host, therefore it is an image
if (parser.hostname == "myhost.com")
{
jQuery("#player").css("background", "url('" + theUrl + "')");
}
else
{
flowplayer("player", "js/flowplayer/flowplayer-3.2.12.swf", {
clip: {
url: theUrl,
provider: 'rtmp'
},
plugins: {
rtmp: {
url: "js/flowplayer/flowplayer.rtmp-3.2.10.swf",
netConnectionUrl: 'rtmp://'+window.location.host+'/recordings'
}
}
});
}
});
这对于没有任何特殊考虑的视频非常有效,因为它在一个播放器中打开,该播放器将调整为 div 大小并继续播放。图像不同。如果您单击图像,然后尝试更改它的大小,它将被重置为原始背景。我意识到这正是代码正在做的事情,但它对视频来说非常棒。
我正在努力弄清楚如何才能使视频和图像都适用。这是一个说明行为的小提琴(至少对于图像)。
请注意,#toggleres 点击事件需要存在。有人应该能够切换背景图像的大小,而无需单击表格中的一行。换句话说,如果没有单击图像或视频,则需要存在主背景占位符图像。
总结预期的行为:
- 显示背景图像 (320x240)。有人点击更改分辨率链接,它将扩展到 (640x480) - 这目前正在使用下面的代码
- 如果有人单击表格中的一行(可能是视频或图像),它将更改背景图像(无论是 320x240 还是 640x480) - 目前正在使用下面的代码
- 如果有人单击表格中的另一行,该图像/视频将更改背景图像 - 这通常有效,但如果您播放视频,则无法单击带有图像的另一行,它不会重置/删除播放器
- 只要屏幕上有图像或视频(单击表格行后),您可以单击更改分辨率以使视频或图像变大/变小 - 这不起作用,因为它总是会重置为背景图像(小提琴说明了这一点)