[英]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.