3

我想在显示屏上看到 CurrentTime 分钟和秒视频。

var id = $('#main_video_player');

alert(id.get(0).currentTime); //worked i see '12.324543356'

var minnow=id.get(0).currentTime.split('.')[0];   
alert(minnow); //not worked

var secnow=id.get(0).currentTime.split('.')[1].substr('0','1');   
alert(secnow); //not worked

谢谢大家的帮助=)

显示秒的正确代码:

alert(time.toString().split('.')[0]);

以小时、分钟和秒为单位显示正确时间的代码:

var id = $('#video');

timenow=id.get(0).currentTime;

if (parseInt(timenow)/60>=1) {
        var h = Math.floor(timenow / 3600);
        timenow = timenow - h * 3600;               
        var m = Math.floor(timenow / 60);
        var s = Math.floor(timenow % 60);
        if(h.toString().length<2){h='0'+h;}
        if(m.toString().length<2){m='0'+m;}
        if(s.toString().length<2){s='0'+s;}
        alert(h+' : '+m+' : '+s);          
    } else {
        var m = Math.floor(timenow / 60);
        var s = Math.floor(timenow % 60);
        if(m.toString().length<2){m='0'+m;}
        if(s.toString().length<2){s='0'+s;}
        alert(m+' : '+s);
}
4

2 回答 2

3

您需要将其转换currentTime为 aString以执行.split().substr()在其上执行,例如

var time = id.get(0).currentTime;
var minutes = time.toString().split('.')[0];   
var seconds = time.toString().split('.')[1].substr('0','1'); 

要将它们转换回float(Number) 以与数值函数一起使用,请执行以下操作:

minutes = parseFloat(minutes);

有关工作示例,请参见http://jsfiddle.net/NpgD5/23/(单击视频以获取时间)。

编辑: currentTime以秒为单位返回时间,因此您的minnow变量实际上是秒和secnow毫秒,获取分钟和秒的更好方法currentTime是:

var time = id.get(0).currentTime;
var minutes = Math.floor(time / 60);   
var seconds = Math.floor(time); 
于 2012-10-16T12:54:16.630 回答
1

你可以这样编码:

var id = $('#main_video_player');
var idn = 'VideoBar_wrap';

alert(id.get(0).currentTime); //worked i see '12.324543356'

var minnow=String(id.get(0).currentTime).split('.')[0];   
alert(minnow);

var secnow=String(String(id.get(0).currentTime).split('.')[1]).substr(0,1);   
alert(secnow);

您必须将 currentTime 值转换为 String 对象

于 2012-10-16T12:58:16.723 回答