У меня есть набор изображений, которые соответствуют миниатюрам видео. Пользователь нажимает на большой палец, который загружает браузер. Это было бы достаточно просто, но мне нужно отследить, на каком из пальцев щелкнули, чтобы я мог автоматически настроить следующий видеоролик в последовательности.
Моей первой мыслью было сделать что-то вроде этого (очень упрощенный пример):
<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>
На первый взгляд кажется, что все в порядке, но я не уверен, что это лучшее / самое элегантное решение, тем более что я бы реализовал все эти методы в контексте объекта.