video.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. window.onload = function(){
  2. var video = document.getElementById("video");
  3. var lis = document.getElementsByTagName("li");
  4. var vLen = lis.length; // 播放列表的长度
  5. var url = [];
  6. var ctrl = document.getElementById("playList-hidden");
  7. var ctrl_show = document.getElementById('playList-show1');
  8. var aside = document.getElementById("playList");
  9. var curr = 1; // 当前播放的视频
  10. for(var i=0;i<lis.length;i++){
  11. url[i] = lis[i].getAttribute("value");
  12. }
  13. //绑定单击事件
  14. for(var i=0;i<lis.length;i++){
  15. lis[i].onclick = function(){
  16. for(var j=0;j<lis.length;j++){
  17. if(lis[j] == this){
  18. video.setAttribute("src",this.getAttribute("value"));
  19. video.setAttribute('autoplay','autoplay');
  20. // this.innerHTML = 'palying '+this.innerHTML;
  21. this.innerHTML = this.innerHTML;
  22. this.className = "select";
  23. curr = j+1;
  24. }else{
  25. lis[j].innerHTML = lis[j].getAttribute("title");
  26. lis[j].className = "";
  27. }
  28. }
  29. // console.log(this.getAttribute("value")); //调试代码
  30. }
  31. }
  32. //收起播放列表
  33. ctrl.onclick = function(){
  34. aside.style.transition = "1s";
  35. aside.style.transform = "translateX(-10vw)";
  36. setTimeout(function(){
  37. aside.style.display = "none";
  38. ctrl_show.style.visibility= 'visible';
  39. },"1000");
  40. }
  41. //展开播放列表
  42. ctrl_show.onclick = function(){
  43. aside.style.display = "block";
  44. ctrl_show.style.visibility= 'hidden';
  45. setTimeout(function(){
  46. aside.style.transform = "translateX(0vw)";
  47. },"0");
  48. }
  49. video.setAttribute('src',url[0]);
  50. // lis[0].innerHTML = 'palying '+lis[0].innerHTML;
  51. lis[0].innerHTML = lis[0].innerHTML;
  52. lis[0].className = "select";
  53. video.addEventListener('ended', play);
  54. //play();
  55. function play() {
  56. video.src = url[curr];
  57. video.load(); // 如果短的话,可以加载完成之后再播放,监听 canplaythrough 事件即可
  58. video.play();
  59. for(var j=0;j<lis.length;j++){
  60. if(j == curr){
  61. video.setAttribute("src",lis[j].getAttribute("value"));
  62. video.setAttribute('autoplay','autoplay');
  63. // lis[j].innerHTML = 'palying '+lis[j].innerHTML;
  64. lis[j].innerHTML = lis[j].innerHTML;
  65. lis[j].className = "select";
  66. }else{
  67. lis[j].innerHTML = lis[j].getAttribute("title");
  68. lis[j].className = "";
  69. }
  70. }
  71. curr++;
  72. if (curr >= vLen) curr = 0; // 播放完了,重新播放
  73. }
  74. }