基本上我是 JavaScript 的新手,试图创建一个数字手表,我几乎已经用它来了,但是时间只是每秒写一遍,而不是取代之前的时间,这是我的代码的一部分,你能指出我出错的地方!感谢
P.S:我正在使用raphael库
setInterval(function(){
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
if (h<10){h="0"+h};
if (m<10){m="0"+m};
if (s<10){s="0"+s};
time = h+":"+m+":"+s;
var digi = paper.text(110, 250, time).attr({"font-size": 15, "fill": "#000080"});
}, 1000);
我试过把这行
digi.attr({'text': time});
在函数关闭之前,但这没有用。任何帮助都会很棒!
答案 0 :(得分:0)
您需要删除旧元素,或者只是更改其属性(我认为您的更新版本可能不起作用,因为您将digi作为带有功能范围的变量,您可以尝试将其作为全局范围或其他内容。否则这是一个解决方案......
var digi;
...
digi && digi.remove();
答案 1 :(得分:0)
在开始打印时间之前清除画布。
添加以下行:
paper.clear();
在您打印时间之前。