簡體   English   中英

javascript計時

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM