首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用javascript检查时间变量的范围

用javascript检查时间变量的范围
EN

Stack Overflow用户
提问于 2013-03-10 21:26:38
回答 1查看 492关注 0票数 0

我想要取一个特定的时间值(由html5 htmlmedia timerange.end以秒为单位),并检查它在我已经拥有的时间列表中的位置,如下所示

代码语言:javascript
复制
00:00:00.00
00:00:22.00
00:01:21.00
00:01:36.00
00:01:51.00
00:02:06.00
00:02:21.00
00:02:36.00

我在捕获程序的文本文件服务器端硬编码了这些值。我想检查它(video_time)位于哪两个值之间,如果src不对应于时隙,则从那里更改iframe中的src,在上面的列表中有n次,并且在它们之间有相应的n-1个时隙,src将被命名为通过/Sliden 1.html。到目前为止,iv创建了一些逻辑来检查时间,占位符逻辑来更改iframe的src,如果值>15秒,则使用一些callBack来周期性地调用事物。

编辑:删除了一些不相关的东西,这就是问题所在。

代码语言:javascript
复制
function category() {
    var played_ob =video_time_played() ;
    if ( played_ob  > 0 )
      var played_num = played_ob;
    else
     var played_num = 0;
    var tes = 15;
    if ( played_num > tes)
     document.getElementsByTagName("iframe")[0].src="/static/Slide1.html";
    else
     console.log ("meh");
};

在上面,我希望检查它在哪个时间范围内,并设置适当的iframe。这就是我需要帮助的地方,我想做的事情如下

代码语言:javascript
复制
/* PSEUDOCODE OF WHAT I WISH TO ACHIEVE BUT DONT KNOW HOW TO DO IT ENTIRELY.*/
 function category (){
     var time_spent = video_time_played_so_far_in_seconds(); 
       /* this part i dont know, especially how to generate the list from a text file serverside */
     categories_list = [list of consecutive times i showed above in HH:MM:SS.00]

     var which_category = function check_in_between_which_two_times_var_lies () {
        /***********  i DONT know how to code this part either, *******/
        the_category_found_as_an_integer_between_0=>n-1 = ? 
        var category = the_category_found_as_an_integer_between_0=>n-1 ;
        return category  ;
       }

     function which_new_src (which_category) {
      /* code to select new src */
         var new_src = "/static/Slide"+which_category".html";
         return new_src;
     }

     function change_src_of_iframe () {
         var relevant_iframe = document.getElementsByTagName("iframe")[0];

         change_src_of_iframe () {
         var new_src = which_new_src(which_category);
         relevant_iframe..src= new_src ;
         }
EN

回答 1

Stack Overflow用户

发布于 2013-03-11 22:45:42

这就是我最终要做的:

要将带有HH:MM:SS的有序数组转换为有序秒数组:

代码语言:javascript
复制
function to_seconds (capture){
console.log(capture.length);
var clean = new Array() ;
for ( var i = 0, len = capture.length; i<len; i++ ) {
     if (capture[i] ) 
       clean.push(capture[i]);
    } 

console.log(clean.length);
var ready = clean ;

var times = new Array() ;
   for ( var i = 0, len = ready.length; i<len; i++ ) {

       var obj =  ready[i].split(':'); 
       var seconds =obj[0]*3600+obj[1]*60+obj[2]*1;
       times.push(seconds) ;
   }
console.log(times.length);
return times ; 
}

然后检查到目前为止播放的时间所在的时隙,

代码语言:javascript
复制
function find_category_number (time,list) {
 var number = 0;
 for ( var i = 0, len = list.length; i<len; i++ ) {
 if ( time > list[i] && time < list[i+1] )
    number= i;
 }

return number ;
}

最后生成一个新的src值:

代码语言:javascript
复制
function find_new_src (category_number) {
var src = "/static/Slide"+category_number+".html" ;
return src ;
}

这就是我最需要做的,我猜把问题分解成小的模块部分有点帮助,我试图在同一时间做所有的逻辑,我的大脑冻结了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15322731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档