【问题标题】:reset index value to zero onclick单击时将索引值重置为零
【发布时间】:2012-05-28 11:56:14
【问题描述】:

确实是问题所在,但是,如何在点击时将索引的值重置为零?

我有一个视频列表,其中任何一个都可以通过单击来播放。视频播放完毕后,将播放下一个视频。

它有效,但如果您单击一个然后另一个,而不是播放下一个视频,它将在刚刚播放的视频之后播放两个视频。如果您第三次单击,则会播放第三次。我知道这是因为在ended 上调用了该函数,并且每次您单击要播放的新视频时,上一个视频都会结束并增加其价值。

如何让它停止这样做?

播放下一个视频的函数是:

$("#myVid").bind("ended", function() {
            $("#bigPic").removeClass("move");
            $("#MyT").fadeIn(250);
            function playArray(ele, array) {
                index++;
                if (index >= array.length) {
                    index = i;
                }
                ele.src = array[index];
                ele.load();
                ele.play();
            }
            playArray(document.getElementById("myVid"), videos);
        });

附言我试图通过添加index-- onclick 来降低值,但这只是循环播放视频。

【问题讨论】:

  • 尝试扩大变量 index 的范围,并在点击处理程序中将其值显式设置为 0 ...

标签: javascript jquery html video html5-video


【解决方案1】:

您正在将您的视频列表保存在一个数组中,对吧?!所以有两个动作: 1.用户点击一个视频,所以你的索引应该是你选择的一个 2.视频已经结束,如果存在则跳转到列表中的下一个。

var index = 0;

$("YourVideoList").bind("click", function() {
   index = "yourCurrentSelectedItem"     
});

$("#myVid").bind("ended", function() {
        $("#bigPic").removeClass("move");
        $("#MyT").fadeIn(250);
        function playArray(ele, array) {
            index++;
            if (index >= array.length) {
                index = 0;   //replaced "i" with 0, to play first video in list
                //return;    //break, if you want the list to stop at the end of the last video
            }
            ele.src = array[index];
            ele.load();
            ele.play();
        }
        playArray(document.getElementById("myVid"), videos);
    });

应该这样做!

【讨论】:

  • 我知道它应该这样做,但它没有。如果你点击周围选择一个视频,然后观看,它会变得疯狂......
  • 它发疯了是一个真正精确的描述;)也许你应该在设置新的之前清除你的视频标签的来源?也许这个链接有帮助(带有 php 的 html5 视频播放列表)bionicworks.com/php/generate-a-playlist-for-html5-video
  • 抱歉,视频开始播放很奇怪。例如,current->current->first->third 是曾经发生过的事情。我去看看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多