2016-01-31 52 views
1

http://jsfiddle.net/arvnnxpw/的HTML5 + JS自動播放視頻文件列表

好了,所以當它到達它只是停止,而不是返回到第一個最後的視頻,我該如何解決這個問題的js代碼?

我已經嘗試了多種方式,並且我無法在最後一次播放後返回到第一個視頻。

$(function() { 
var $videos = $("#playlist li"); 
var $video = $("#videoarea"); 
var current = 0; 
var max = 1; 

function playVideo(video) { 
    current = elIndex($videos, video); 
    if (!current) { 
     return false; 
    } 
    $video.attr({ 
     "src": $(video).attr("movieurl"), 
     "autoplay": "autoplay" 
    }) 
} 

$video.attr({ 
    "src": $videos.eq(current).attr("movieurl"), 
     "autoplay": "autoplay" 
}) 

$video.on('ended', function() { 
    if (current == max) { 
     playVideo($videos[0]); 
    } else { 
       playVideo($videos[current + 1]); 
    } 
}); 

function elIndex(parent, el) { 
    for (var i = 0; i < parent.length; i += 1) { 
     if (parent[i] === el) { 
      return i; 
     } 
    } 

    return null; 
} 

回答

0

的問題是:

if (!current) { 
    return false; 
} 

當它試圖再次播放第一個current = 0所以!current返回true因爲。如果你改變了,如果對於if(current == undefined),一切都很好。

This fiddle適合我。

0

爲什麼你需要這部分?

if (!current) { 
    return false; 
} 

如果您刪除它,它將起作用。 當播放將再次從第一視頻從頭再來,電流會00脅迫到false!false將成爲trueplayVideo剛剛返回false