JavaScript-如何编写一个自动的时间累加?

发布于 2016-10-21 20:03:58 字数 1097 浏览 1425 评论 1

编写一个计时的时间,我写了但是有问题。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> bar</title>
<style type="text/css">
*{padding:0;margin:0;}
</style>
</head>
<body>
<span id="text1">0:00</span>
</body>
</html>
<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
Timer=setInterval(function(){
$('#text1').html(changeToClock(changeToDecimal($('#text1').html()+1)));
},1000)

//decimal to clock把十进制秒数转换成时钟进制显示
function changeToClock(x) {
var x_1=Math.round(x/60);
var x_2=Math.round(x%60);
if(x_2<10){
x_2='0'+x_2;
}
return x_1+':'+x_2;
}

//把时钟进制的字符串转换成十进制秒数
function changeToDecimal(x){
var a=x.split(':');
return a[0]*60+parseInt(a[1]);
}
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-08-10 01:26:59

你的+1写的位置不对, 看仔细点就行
$('#text1').html(changeToClock(changeToDecimal($('#text1').html())+1));
转换为数字的最后一句
return a[0]*60+parseInt(a[1],10);

否则以0开头的字符串会作为8进制转换

转换为字串的函数

var x_1=Math.floor(x/60);

var x_2=x%60;

round()是四舍五入, floor才是取整数部分
取余数不需要转换了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文