我有一系列视频网址。
我使用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
现在我该怎么做第一个视频播放&点击下一个按钮,将播放下一个网址。我想要一些逻辑思路。
有人可以帮忙吗?
答案 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;
在上面的演示中,我只是显示网址和视频索引,在您的情况下,您可能需要设置视频元素src
并开始使用play
方法。
顺便说一句,您可以使用$.fn.data
方法读取数据属性,它也会自动为您解析JSON。