好的,所以当js代码到达最后一个视频时它停止而不是返回到第一个视频,我该如何解决?
我尝试了多种方式,但是在播放完最后一个视频后,我无法让它返回到第一个视频。
$(function() {
var $videos = $("#playlist li");
var $video = $("#videoarea");
var current = 0;
var max = 1;
function playVideo(video) {
current = elIndex($videos, video);
if (!current) {
return false;
}
$video.attr({
"src": $(video).attr("movieurl"),
"autoplay": "autoplay"
})
}
$video.attr({
"src": $videos.eq(current).attr("movieurl"),
"autoplay": "autoplay"
})
$video.on('ended', function () {
if (current == max) {
playVideo($videos[0]);
} else {
playVideo($videos[current + 1]);
}
});
function elIndex(parent, el) {
for (var i = 0; i < parent.length; i += 1) {
if (parent[i] === el) {
return i;
}
}
return null;
}
答案 0 :(得分:0)
为什么需要这部分?
if (!current) {
return false;
}
如果你删除它,它的工作原理。
当播放从第一个视频重新开始时,当前将为0
,0
强制为false
,!false
将变为true
和{ {1}}只返回playVideo
。
答案 1 :(得分:0)
问题是:
str = "SELECT * FROM BillingInfo WHERE (Code = @p1)"
Dim cmd As OleDbCommand = New OleDbCommand(str, con)
cmd.Parameters.Add("@p1", OleDbType.VarWChar).Value = CodeText.Text
dr = cmd.ExecuteReader
因为当它再次尝试播放第一个时if (!current) {
return false;
}
所以current = 0
返回true。如果您更改!current
,那么一切正常。
This fiddle对我来说很好。