在很多應用場景中,都需要用戶進行簽到或簽退操作,比如公司打卡,健身房入場記錄等等。而javascript作為網頁開發中的重要工具,可以很好的實現簽到/簽退功能。下面我們來看看如何使用javascript實現這個功能。
我們首先需要在頁面中創建兩個按鈕,一個用于簽到,一個用于簽退。按鈕的樣式可以根據具體情況進行自定義設計。代碼如下:
<button onclick="signIn()">簽到</button> <button onclick="signOut()">簽退</button>
接下來就是javascript的時間處理部分。我們可以使用Date對象獲取當前時間,然后再將簽到/簽退時間存儲到本地localStorage中。簽到時間和簽退時間可以用兩個不同的變量存儲。代碼如下:
function signIn() { var currentTime = new Date(); localStorage.setItem('signInTime', currentTime); } function signOut() { var currentTime = new Date(); localStorage.setItem('signOutTime', currentTime); }
為了保證簽到/簽退的準確性,我們可以通過判斷本地localStorage中存儲的簽到/簽退時間來避免用戶重復簽到/簽退。如果用戶重復點擊簽到按鈕,則不會另外存儲簽到時間;如果用戶重復點擊簽退按鈕,則不會另外存儲簽退時間。代碼如下:
function signIn() { var currentTime = new Date(); var existingSignInTime = localStorage.getItem('signInTime'); if (!existingSignInTime) { localStorage.setItem('signInTime', currentTime); } else { alert('您已經簽到過了!'); } } function signOut() { var currentTime = new Date(); var existingSignOutTime = localStorage.getItem('signOutTime'); if (!existingSignOutTime) { localStorage.setItem('signOutTime', currentTime); } else { alert('您已經簽退過了!'); } }
最后,我們可以將簽到/簽退時間顯示在頁面中,方便用戶查看。代碼如下:
function showTime() { var signInTime = localStorage.getItem('signInTime'); var signOutTime = localStorage.getItem('signOutTime'); if (signInTime) { document.getElementById('signInTime').innerHTML = '簽到時間:' + signInTime; } if (signOutTime) { document.getElementById('signOutTime').innerHTML = '簽退時間:' + signOutTime; } }
通過上述代碼的實現,我們成功的實現了javascript簽到/簽退的功能。這個功能還可以進一步擴展,比如添加更多的錯誤提示,記錄簽到/簽退的位置等等。