0

それは本当に問題ですが、どうすればインデックスの値をゼロonclickにリセットできますか?

私はビデオのリストを持っています、そこでそれらのどれでもそれらをクリックすることによって再生することができます。ビデオが完了すると、次のビデオが再生されます。

それは機能しますが、次のビデオを再生する代わりに、クリックしてから別のビデオをクリックすると、再生したばかりのビデオの2つ後にビデオが再生されます。3回クリックすると、3回目が再生されます。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 onclickを追加して値を下げようとしましたindex--が、ビデオがループしました。

4

1 に答える 1

0

ビデオリストを配列に保存していますよね?!したがって、2つのアクションがあります。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 に答える