[英]javascript timing
我试图在单击按钮时显示一个时钟,然后调用set timeout事件以连续显示当前时间。 但是每当我单击按钮时,它只会穿一次鞋。 如果我在一段时间后单击,它也可以工作,但不会显示持续变化的时间。
脚本
function showTime() {
var dat = new Date();
var h = dat.getHours();
var m = dat.getMinutes();
var s = dat.getSeconds();
var tim = h + " :" + m + ":" + s;
document.getElementById('MainContent_Label1').innerHTML = tim;
document.getElementById('MainContent_TextBox1').value = tim;
var t = setTimeout(showTime(), 1000);
}
function Button2_onclick() {
showTime();
}
ASP页面
asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Button2" type="button" value="button" onclick="return Button2_onclick()" /><asp:Button ID="Button1" runat="server" Text="Button"
onclientclick="showTime()" /><br />
<br />
</asp:Content>
您应该使用var t = setTimeout(showTime, 1000);
代替。
尝试这个:
var t = setTimeout("showTime()", 1000);
或者您可以使用setInterval()函数来执行重复任务。
像这样:
<input id="Button2" type="button" value="button" onclick="return Button2_onclick()" /><asp:Button ID="Button1" runat="server" Text="Button"
onclientclick="setInterval('showTime()', 1000);" />
或根据需要在功能中使用它。 然后,您无需在每次运行后设置超时。
将您的代码替换为
var t = setTimeout("showTime()", 1000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.