【问题标题】:Play the videos using jquery loops使用 jquery 循环播放视频
【发布时间】:2015-04-03 13:23:19
【问题描述】:

我有一组视频网址。

我使用 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

现在我怎样才能播放第一个视频&点击下一个按钮时将播放下一个网址。我想要一些逻辑思路。

谁能帮忙?

【问题讨论】:

标签: javascript php jquery each


【解决方案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>

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

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

【讨论】:

  • 我不支持使用 jquery 1.8.3 $.fn.data 这么认为。其实我是新手。我该怎么做?
  • 应该从 1.4.x 开始支持。无论如何,它不只是使用你当前的方法JSON.parse($(this).attr(...))
  • 我试过你说的 video_dets 未定义。因为我看到的是 json 编码的属性。所以可能是一些问题。然后我尝试解析 json 仍然没有结果。
  • 我们可以用 php 做吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 2021-12-13
  • 2020-10-19
  • 1970-01-01
相关资源
最近更新 更多