我用HTML创建了一个视频播放列表,然后播放视频,但是当您选择另一个视频时,前一个视频会保持高亮显示,并且我希望在点击另一个视频名称后删除该高亮显示。 http://www.evamagnus.com/OurServices.php 在video.js代码中,我有
var position = 0;
var playlist;
var video;
window.onload = function() {
video = document.getElementById('video');
addClickHandlers();
video.src = "video/" + getFormatExtension();
video.load();
video.play();
}
function addClickHandlers() {
var liElements = document.querySelectorAll("ul#videolist li");
for (var i = 0; i < liElements.length; i++) {
var li = liElements[i];
li.onclick = handleVideoSelection;
}
}
function handleVideoSelection(e) {
console.log(e);
var li = e.target;
var src = li.getAttribute("data-src");
var isSelected = li.getAttribute("class");
if (isSelected == "selected") {
if (video.paused) {
video.play();
}
else if (video.ended) {
video.load();
video.play();
}
else {
video.pause();
}
}
else {
li.setAttribute("class", "selected");
video.src = src + getFormatExtension();
video.load();
video.play();
}
}
function getFormatExtension() {
if (video.canPlayType("video/mp4") != "") {
return ".mp4";
} else if (video.canPlayType("video/ogg") != "") {
return ".ogg";
} else if (video.canPlayType("video/webm") != "") {
return ".webm";
}
}
感谢。
答案 0 :(得分:0)
因为您正在使用jQuery,所以您应该可以用video ...替换video.js文件中的所有代码...
var video = document.getElementById('video');
var ext = getFormatExtension(); // only need to get the extension once
$("ul#videolist li").click(function(e){
video.src = e.target.getAttribute("data-src") + ext;
video.load();
video.play();
// 1 - clear them all
$("ul#videolist li").removeClass();
// 2 - set the clicked one
e.target.setAttribute("class", "selected");
});
function getFormatExtension() {
if (video.canPlayType("video/mp4") != "") {
return ".mp4";
} else if (video.canPlayType("video/ogg") != "") {
return ".ogg";
} else if (video.canPlayType("video/webm") != "") {
return ".webm";
}
}
这是一个在线示例,其中包含几个css增强功能,可帮助显示它们是带指针光标和悬停bg的按钮。添加了按钮边框和渐变css样式。
http://jsfiddle.net/DaveAlger/AQYjY/8/
希望这对您有用(请务必将问题标记为已回答)