将索引值重置为零onclick

时间:2012-05-22 00:45:41

标签: javascript jquery html5 video html5-video

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

我有一个视频列表,点击它们可以播放任何视频。视频完成后,将播放下一个视频。

它可以工作,但是如果你点击一个而不是另一个,而不是播放下一个视频,它将播放刚刚播放的视频之后的两个视频。如果您第三次点击,将播放第三次。我理解这是因为该函数是在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);
        });

P.S。我试图通过添加index-- onclick来减少价值,但这只会影响视频。

1 个答案:

答案 0 :(得分:0)

你正在将你的视频列表保存在阵列中,对吗?!所以有两个动作: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);
    });

应该这样做!