JavaScript-如何编写一个自动的时间累加?
编写一个计时的时间,我写了但是有问题。
<!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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(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才是取整数部分
取余数不需要转换了