我有一组图像对应于视频缩略图。用户点击加载浏览器的拇指。这很简单,但我需要跟踪哪个拇指被点击了,这样我就可以顺序地自动提示下一个视频。跟踪图像列表中的哪个图像被点击?
我首先想到的是做这样的事情(高度简化的例子):
<div class="thumbs">
<img id="vt_0" src="thumbxxx00.jpg" />
<img id="vt_1" src="thumbxxx01.jpg" />
<img id="vt_2" src="thumbxxx02.jpg" />
<img id="vt_3" src="thumbxxx03.jpg" />
<img id="vt_4" src="thumbxxx04.jpg" />
<img id="vt_5" src="thumbxxx05.jpg" />
<img id="vt_6" src="thumbxxx06.jpg" />
</div>
<script type="text/javascript">
var videos = [ "xxx00", "xxx01", "xxx02", "xxx03", "xxx04", "xxx05", "xxx06" ];
var video_index = null;
function playVideo(id) {
// play video then call "onVideoFinish()" when video ends.
}
function onVideoFinish() {
video_index = (video_index = 6) ? video_index : video_index+1;
playVideo(videos[video_index]);
}
$j("div.thumbnail img").live("click", function (e) {
e.preventDefault();
var selected_id = $(this).attr("id").split("_")[1];
video_index = selected_id;
playvideo(videos[video_index]);
});
</script>
乍一看,这似乎是不错,但我不知道这是否是最好的/最优雅的解决方案特别是因为我会在对象上下文中实现所有这些方法。
我也在想这个问题,唯一的问题是,我可能想以相反的顺序播放东西(在这种情况下,我会减少而不增加)。你不能真的在你身后寻找兄弟姐妹AFAIK,所以我想维护一个数组毕竟是更好的方法。 – FilmJ 2009-07-17 01:07:13
也有'prev'方法。所以你可以用它来反向排列。 – SolutionYogi 2009-07-17 01:14:15