Created by Marydon on
1.定義
語法:setInterval(param1,param2)
param1 要調用的函數或要執行的代碼串。
param2 周期性調用param1的時間間隔,單位:毫秒
表示每隔多少毫秒執行一次param1。
停止執行需要使用clearInterval()。
2.情景展示
設置指定時間后,同意按鈕才可以使用,並顯示剩余時間
3.代碼實現
使用計時器setInterval()方法可以實現
html
<body> <div style="width:500px;">您通過本網站下使用或獲取任何材料、信息、產品或服務之前,請先仔細閱讀本 cookie 聲明。我們有權隨時更改、更新或更正任何本 cookie 聲明或本網站所載任何信息,並將經修訂條款公布於本網站,恕不另行通知。請不時審閱本 cookie 聲明,確保您了解任何變更。如果本 cookie 聲明有任何重大的變更,我們將會在本網站上的主頁清楚說明這些變更。</div> <input type="button" value="我同意" disabled="disabled"/> </body>
javascript
<script type="text/javascript"> (function(i){// 閉包 var countDown; // 對按鈕進行操作 function change(i) { var text = "我同意"; if (i > 0) { text += "(" + i + "秒)"; } else { $(':button').prop('disabled', false); // 不再調用 clearInterval(countDown); } $(':button').val(text); }; // 頁面加載完畢執行 $(function(){ // 計時器(1秒調用一次) countDown = setInterval(function () { change(i); i--; }, 1 * 1000);// 1000毫秒 }); })(60);// 60s </script>
4.效果展示
60秒后
5.小結
使用閉包的原因,是為了避免全局污染,不讓外界訪問到變量i;
閉包語法:(function(){//具體要執行的代碼})()。