2015-01-08 729 views
0
var videoinfo = [{ 
    "startdatetime":"2014-12-21 00:23:14", 
    "totalsecondrun":"5", 
    "videolist":[ 
     { 
      "videoid":"uoSDF234", 
      "second":"10" 
     }, 
     { 
      "videoid":"0apq3ss", 
      "second":"14" 
     } 
    ] 
}]; 

我需要一个函数来计算当前的视频和第二,但到目前为止,我不知道如何开始。jquery比较对象

  1. 使用totalsecondrun找到当前正在播放的视频上totalsecondrun
  2. 基地是视频之间现在。
  3. 〔实施例:totalsecondrun:"5"5所以应该是第一视频,函数返回videoidsecondtotalsecondrun:"5" - 第一视频second =视频停止second
  4. 例如:totalsecondrun:"12"12比第一的视频,所以现在应该是第二个视频,所以函数返回videoidsecond

任何人都可以建议我该怎么办?

+0

你能更清楚吗?似乎你已经解决了你的问题。你无法做什么? – shifu

+0

@shifu不知道如何写... –

+1

除了逻辑之外,你面临的确切问题是什么?你问如何访问JSON的值? – surajck

回答

1

看看这是你想要做的。

var videoinfo = [{ 
     "startdatetime":"2014-12-21 00:23:14", 
     "totalsecondrun":"5", 
     "videolist":[ 
      { 
       "videoid":"uoSDF234", 
       "second":"10" 
      }, 
      { 
       "videoid":"0apq3ss", 
       "second":"14" 
      } 
     ] 
    }]; 
    getVedioID(); 
    function getVedioID(){ 
     var sum = 0; 
     var list = videoinfo[0].videolist; 
     for(var i=0 ; i<list.length ; ++i){ 
      sum+=parseInt(list[i].second); 
      if(sum > parseInt(videoinfo[0].totalsecondrun)){ 
       var ans = {}; 
       ans['curr'] = list[i].videoid; 
       ans['next'] = list[i+1].videoid; 
       break; 
      } 
     } 
     return ans; 
    } 
+0

如果我把'totalsecondrun'改为'11'意思是超过第一个视频'second'它会出错 –

+0

好的我已经修改了一些你的代码到我期望的目前为止,现在我的问题只剩下了一个。 'second'部分,如果我将'totalsecondrun'设置为'5','ans'应该给我剩下的'5'。如果我将'totalsecondrun'设置为'11',它应该给我'13' –

+0

我刚才展示了如何处理json的情况。错误处理希望你能做到自我。 – shifu