使用jquery循环播放视频

时间:2015-02-04 05:45:53

标签: javascript php jquery each

我有一系列视频网址。

我使用json将URL从php传递给jquery。

脚本就像这样

$('.cnt_lsn').click(function(e){
    e.preventDefault();
    var video_dets = JSON.parse($(this).attr('data-video-det'));
    $.each(video_dets, function(i, v){
        console.log(i);  
        console.log(v.vid_url);
    });
});  

所以价值就像

0
TW51XsixMqA
1
LxRiFFEXs5I

现在我该怎么做第一个视频播放&点击下一个按钮,将播放下一个网址。我想要一些逻辑思路。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

一种方法是通过使用模运算符循环数组项来实现这一点。在你的情况下,它可以这样看:



var index = 0;

$('.cnt_lsn').click(function(e) {
    e.preventDefault();
    
    var video_dets = $(this).data('video-det'),
        currentVideo = video_dets[index];
    
    // Log current video URL and index
    $('#video').text(index + ': ' + currentVideo.vid_url);
    
    index = ++index % video_dets.length;
});  

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="cnt_lsn" data-video-det='[{"vid_url": "TW51XsixMqA"}, {"vid_url": "LxRiFFEXs5I"}, {"vid_url": "HN318SixQqA"}]'>Play</button>

<div id="video"></div>
&#13;
&#13;
&#13;

在上面的演示中,我只是显示网址和视频索引,在您的情况下,您可能需要设置视频元素src并开始使用play方法。

顺便说一句,您可以使用$.fn.data方法读取数据属性,它也会自动为您解析JSON。