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

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

晚风撩人 发布于 2016-10-21 字数 1148 浏览 1306 回复 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>

发布评论

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

评论(1

归属感 2017-08-10 1 楼

你的+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才是取整数部分
取余数不需要转换了