JavaScript显示持续时间
我试着制作一个小计数器来显示一部电影的播放量,就像在YouTube上一样 我希望有时间像这样输出:JavaScript显示持续时间,javascript,html5-audio,Javascript,Html5 Audio,我试着制作一个小计数器来显示一部电影的播放量,就像在YouTube上一样 我希望有时间像这样输出: <div id="timeInfo">00:23</div> var timeInfo = document.getElementById('timeInfo'); 您通过两次指定给“innerHTML”来覆盖内容。第二个表达式可以用“+=”编写,或者(更好)可以单独构建字符串: infTime: function() { var info = formatTime
<div id="timeInfo">00:23</div>
var timeInfo = document.getElementById('timeInfo');
您通过两次指定给“innerHTML”来覆盖内容。第二个表达式可以用“+=”编写,或者(更好)可以单独构建字符串:
infTime: function() {
var info = formatTime(video.currentTime) + (video.duration ? ' ' + formatTime(video.duration) : '');
timeInfo.innerHTML = info;
}
当然,现在假定“timeInfo”实际上是对适当DOM元素的引用,可能是这样获得的:
<div id="timeInfo">00:23</div>
var timeInfo = document.getElementById('timeInfo');
此外,请记住通过在“formatTime”函数中首次使用var
关键字,使“minutes”成为局部变量:
var minutes = Math.floor(seconds / 60);
这一行有问题:
seconds = Math.round(seconds);
您想在此处使用Math.floor
获得正确的结果
现场演示:除了应该用
var
关键字声明“分钟”这一事实之外,这在我看来还行。那它不成功呢?哦,等等,我明白了。@Jeremy,你不认为准确地描述问题可能有助于我提供帮助吗?不要把不想描述问题与不知道如何描述它或者甚至不知道需要更好的描述混为一谈:)
哈哈。好吧,@Jeremy,这里有一些猜测:是否报告了JavaScript错误?时间是否更新但看起来不正确?更新根本不会发生吗?这个“infTime”函数到底是什么样的结构的一部分?最坏的情况是它会关闭一秒钟,不是吗?@Pointy使用Math.round
生成一个关闭半秒钟的结果(因为值[0.5,1>导致“00:01”而不是“00:00”,值[1.5,2>导致“00:02”而不是“00:01”,等等).如果你是指我的演示,最坏的情况是100毫秒。