Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何以适当的形式获得秒、分钟和小时?_Javascript_Html5 Audio_Reusability - Fatal编程技术网

Javascript 如何以适当的形式获得秒、分钟和小时?

Javascript 如何以适当的形式获得秒、分钟和小时?,javascript,html5-audio,reusability,Javascript,Html5 Audio,Reusability,我成功地创建了这段代码,为歌曲设置了计时器。。。。。。。问题是,正如您所看到的,我必须为两个不同的函数tiempo和duracion重复同一行代码,其中唯一的区别是,在一个函数中,我想知道.duration time,而在另一个函数中,我想知道.currentTime 所以我想隔离代码中重复的部分,稍后再调用它,但我不知道怎么做 变量totalNumberOfSeconds需要在这两个函数中更改其内容,如果我隔离重复的代码,则结果为NaN 音频是一个变量,它包含来自html的标签和歌曲,计时器是

我成功地创建了这段代码,为歌曲设置了计时器。。。。。。。问题是,正如您所看到的,我必须为两个不同的函数tiempo和duracion重复同一行代码,其中唯一的区别是,在一个函数中,我想知道.duration time,而在另一个函数中,我想知道.currentTime

所以我想隔离代码中重复的部分,稍后再调用它,但我不知道怎么做

变量totalNumberOfSeconds需要在这两个函数中更改其内容,如果我隔离重复的代码,则结果为NaN

音频是一个变量,它包含来自html的标签和歌曲,计时器是一个标签,它包含0:00/0:00作为时间计数器

** **


您可以通过创建一个接受参数的函数来实现这一点,如下所示:

函数convertTimeToString时间{ totalNumberOfSeconds=Math.floortime const hours=parseInt totalNumberOfSeconds/3600; const minutes=parseInt totalNumberOfSeconds-hours*3600/60; const seconds=Math.floortotalNumberOfSeconds-小时*3600+分钟*60; 常数结果=分钟<10?+分钟:分钟+:+秒<10?0+秒:秒; console.logresult 返回结果 } 之后,您可以使用所需的任何变量调用此函数,如下所示:

函数tiempo{ 返回ConvertTimeToString.currentTime } 功能持续时间{ 返回ConvertTimeToString.duration } 您也可以直接在getTotalItempo函数中调用它,如下所示:

函数totalTiempo{ document.getElementByIdtimer.innerHTML=convertTimeToStringUdio.currentTime+'/'+convertTimeToStringUdio.duration } 函数totalTiempo{ document.getElementByIdtimer.innerHTML=tiempoaudio.currentTime+'/'+duracionaudio.duration } 函数gettime{ totalNumberOfSeconds=Math.floortime const hours=parseInt totalNumberOfSeconds/3600; const minutes=parseInt totalNumberOfSeconds-hours*3600/60; const seconds=Math.floortotalNumberOfSeconds-小时*3600+分钟*60; 常数结果=分钟<10?+分钟:分钟+:+秒<10?0+秒:秒; console.logresult 返回结果 }
您在结果行上有一个打字错误,您将0键盘保留了几分钟。另外,我不确定parseInt是否与Math.floor做同样的事情,但是Math.floor绝对是你在数小时和数分钟内想要的东西。谢谢兄弟。。。。。。我几周前就开始学习js了,我对参数的理解还不是很好,所以撇开编码本身的问题不谈,这在这方面也帮了我很大的忙!
audio.ontimeupdate = function() {totalTiempo()};

function totalTiempo() {
    document.getElementById("timer").innerHTML = tiempo() + '/' + duracion()
}


function tiempo() {
     totalNumberOfSeconds = Math.floor(audio.currentTime)
     const hours = parseInt( totalNumberOfSeconds / 3600 );
     const minutes = parseInt( (totalNumberOfSeconds - (hours * 3600)) / 60 );
     const seconds = Math.floor((totalNumberOfSeconds - ((hours * 3600) + (minutes * 60))));
     const result = (minutes < 10 ?  + minutes : minutes) + ":" + (seconds  < 10 ? "0" + seconds : seconds);
     console.log(result)
     return result
}

function duracion() {
     totalNumberOfSeconds = Math.floor(audio.duration)
     const hours = parseInt( totalNumberOfSeconds / 3600 );
     const minutes = parseInt( (totalNumberOfSeconds - (hours * 3600)) / 60 );
     const seconds = Math.floor((totalNumberOfSeconds - ((hours * 3600) + (minutes * 60))));
     const result = (minutes < 10 ?  + minutes : minutes) + ":" + (seconds  < 10 ? "0" + seconds : seconds);
     console.log(result)
     return result
}