0

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

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

它可以工作,但是如果您单击一个然后另一个,而不是播放下一个视频,它将在刚刚播放的视频之后播放两个视频。如果您第三次单击,则会播放第三次。我知道这是因为调用了该函数,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);
        });

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

4

1 回答 1

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);
    });

应该这样做!

于 2012-05-22T09:25:51.943 回答