我希望以下列两种格式显示视频长度:
如果少于59秒:
{no_of_sec}
如果超过59秒:
{no_of_sec}:{no_of_sec}
目前这段代码:
document.getElementById("video2").duration
返回以下值:
18.133313
我只需要以最接近的秒数然后以上面的格式获得它。没有过度思考,我认为我需要绕过它。这可以使用Math.round()来完成,但是当数字超过59秒时,我就是在努力的地方。
我打算将它放入一个函数中,该函数将使用一个名为:
的类循环遍历视频元素.has--videoDuration
有什么想法吗?
答案 0 :(得分:0)
考虑到总秒数,您可以计算分/秒组件,如下面的代码段所示:
var totalSeconds = 18.133313;
var minutes = Math.floor(totalSeconds / 60);
var seconds = Math.floor(totalSeconds % 60);
alert(minutes + ':' + seconds);

答案 1 :(得分:0)
以您的代码为基础:
var duration = Math.round(document.getElementById("video2").duration);
var minutes = ~~(duration / 60); // 1 minute every 60 seconds
var seconds = duration - 60 * minutes; // Remaining seconds
var timeString = minutes ? (minutes + ':' + seconds) : seconds;
我想timeString
就是你要找的。 p>
BTW:我宁愿在持续时间内使用Math.floor
(或~~
),但持续时间归一化的确切选择与其余部分无关。