2015-01-08 453 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