Javascript的setTimeOut()和setInterval()的定時器用法

Javascript用來處理延時和定時任務的setTimeOut和setInterval函數應用非常廣泛,它們都用來處理延時和定時任務,比如打開網頁一段時間后彈出一個登錄框,頁面每隔一段時間發送異步請求獲取最新數據等等。但它們的應用是有區別的。

setTimeout() 方法用于在指定的毫秒數后調用函數或計算表達式,而setInterval()則是在每隔指定的毫秒數循環調用函數或表達式,直到clearInterval把它清除。也就是說setTimeout()只執行一次,setInterval()可以執行多次。兩個函數的參數也相同,第一個參數是要執行的code或句柄,第二個是延遲的毫秒數。

setTimeOut用法

setTimeout函數的用法如下:

var timeoutID = window.setTimeout(func, [delay, param1, param2, ...]);  var timeoutID = window.setTimeout(code, [delay]); 

timeoutID:定時器ID號,它可以在clearTimeout()函數中被用來清除定時器。

func:被執行的函數。

code:(替代的語法)一個被執行的代碼串。

delay:延遲的時間,單位毫秒。如果沒有指定,默認為0。

我們可以使用window.setTimeout或setTimeout,兩個寫法基本一樣,只不過window.setTimeout將setTimeout函數作為全局window對象的一個屬性來引用。

應用示例:

function timeout(){      document.getElementById('res').innerHTML=Math.floor(Math.random()*100 + 1);  }  setTimeout("timeout()",5000);  

代碼執行時,5秒后調用timeout()函數.

?

setInterval用法

setInterval函數的參數及用法和setTimeout函數一樣,請參照上文的setTimeout函數的用法介紹。不同的是,setInterval每隔一定的時間執行當中的func或code代碼。

應用示例:

var tt = 10;  function timego(){
tt--; document.getElementById("tt").innerHTML = tt;if(tt==0){window.location.href='/';return false; }  }  
var timer = window.setInterval("timego()",1000);  

函數timego()定義了頁面元素#tt顯示的內容,當tt等于0時,頁面定向到首頁。然后我們定義一個定時器timer,使用setInterval()每隔1秒調用一次timego()。這樣timego會執行10次,每次數字tt會減1,直到為0。那么如果想停止定時器,可以使用以下代碼:

window.clearInterval(timer);  

代碼執行時,10秒后頁面跳轉到首頁。


本文轉自寒意博客園博客,原文鏈接:http://www.cnblogs.com/hnyei/p/4609964.html,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392264.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392264.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392264.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php隨機生成車牌號,生成汽車牌照

用戶隨機50選1。好的車牌用戶選不到。我目前的做法是這樣的。所有車牌入庫。別人選了狀態就修改為1。下面是入庫程序,想跟大家討論一下,有沒有更好的方式。use Illuminate\Database\Seeder;class LicensePlatesTableSeeder extends Seeder{public functi…

Go_ go mod 命令解決墻的問題

簡介 由于眾所周知的原因,在下載一些庫的時候會下載不了,比如 golang.org/x/... 相關的庫。為此,網上出現了很多解決方案。 從 Go1.11 開始,Go 引入了 module,對包進行管理,通過 go mod 命令來進行相關操作…

leetcode 1319. 連通網絡的操作次數(并查集)

用以太網線纜將 n 臺計算機連接成一個網絡,計算機的編號從 0 到 n-1。線纜用 connections 表示,其中 connections[i] [a, b] 連接了計算機 a 和 b。 網絡中的任何一臺計算機都可以通過網絡直接或者間接訪問同一個網絡中其他任意一臺計算機。 給你這個…

MySQL中choose標簽的用法

先給大家來個SQL語句&#xff1a; choose (when,otherwize) ,相當于java 語言中的 switch ,與 jstl 中 的 choose 很類似。 <select id"getMemberInfo" resultType"java.util.Map" parameterType"java.util.Map" > SELECT …

php hsetnx,HSETNX命令_視頻講解_用法示例-redis編程詞典-php中文網

set英 [set] 美 [s?t]vt.設置;放置&#xff0c;安置;使處于某種狀況;擺放餐具vi.落山;出發;凝結n.集合;一套&#xff0c;一副;布景;電視機adj.固定的;位于…的;頑固的;安排好的第三人稱單數&#xff1a; sets 復數&#xff1a; sets 現在分詞&#xff1a; setting 過去式&am…

用導函數的圖像判斷原函數的單調性

前言 典例剖析 例1(給定\(f(x)\)的圖像&#xff0c;確定\(f(x)\)的單調性&#xff0c;最簡單層次) 題目暫略。 例2(用圖像確定\(f(x)\)的正負&#xff0c;確定\(f(x)\)的單調性&#xff0c;2017聊城模擬) 已知函數\(yxf(x)\)的圖像如圖所示(其中\(f(x)\)是函數\(f(x)\)的導函數…

樸素貝葉斯 半樸素貝葉斯_使用樸素貝葉斯和N-Gram的Twitter情緒分析

樸素貝葉斯 半樸素貝葉斯In this article, we’ll show you how to classify a tweet into either positive or negative, using two famous machine learning algorithms: Naive Bayes and N-Gram.在本文中&#xff0c;我們將向您展示如何使用兩種著名的機器學習算法&#xff…

python3:面向對象(多態和繼承、方法重載及模塊)

1、多態 同一個方法在不同的類中最終呈現出不同的效果&#xff0c;即為多態。 class Triangle:def __init__(self,width,height):self.width widthself.height heightdef getArea(self):areaself.width* self.height / 2return areaclass Square:def __init__(self,size):sel…

蠕變斷裂 ansys_如何避免范圍蠕變,以及其他軟件設計課程的辛苦學習方法

蠕變斷裂 ansysby Dror Berel由Dror Berel 如何避免范圍蠕變&#xff0c;以及其他軟件設計課程的辛苦學習方法 (How to avoid scope creep, and other software design lessons learned the hard way) 從數據科學的角度來看。 (From a data-science perspective.) You’ve got…

leetcode 674. 最長連續遞增序列

給定一個未經排序的整數數組&#xff0c;找到最長且 連續遞增的子序列&#xff0c;并返回該序列的長度。 連續遞增的子序列 可以由兩個下標 l 和 r&#xff08;l < r&#xff09;確定&#xff0c;如果對于每個 l < i < r&#xff0c;都有 nums[i] < nums[i 1] &a…

深入單例模式 java,深入單例模式四

Java代碼 privatestaticClass getClass(String classname)throwsClassNotFoundException {ClassLoader classLoader Thread.currentThread().getContextClassLoader();if(classLoader null)classLoader Singleton.class.getClassLoader();return(classLoader.loadClass(class…

linux下配置SS5(SOCK5)代理服務

SOCK5代理服務器 官網: http://ss5.sourceforge.net/ yum -y install gcc gcc-c automake make pam-devel openldap-devel cyrus-sasl-devel 一、安裝 # tar xvf ss5-3.8.9-5.tar.gz # cd ss5-3.8.9-5 # ./configure && make && make install 二、修改配置文…

劉備和諸葛亮鬧翻:無意說出蜀國滅亡的根源?

導讀&#xff1a;身為管理者&#xff0c;一件事情&#xff0c;自己做是滿分&#xff0c;別人做是八十分&#xff0c;寧可讓人去做八十分&#xff0c;自己也得跳出來看全局。緊抓大權不放&#xff0c;要么自己干到死&#xff0c;要么是敗于戰略&#xff01;&#xff01; 諸葛亮去…

mysql 時間推移_隨著時間的推移可視化COVID-19新案例

mysql 時間推移This heat map shows the progression of the COVID-19 pandemic in the United States over time. The map is read from left to right, and color coded to show the relative numbers of new cases by state, adjusted for population.該熱圖顯示了美國COVID…

leetcode 959. 由斜杠劃分區域(并查集)

在由 1 x 1 方格組成的 N x N 網格 grid 中&#xff0c;每個 1 x 1 方塊由 /、\ 或空格構成。這些字符會將方塊劃分為一些共邊的區域。 &#xff08;請注意&#xff0c;反斜杠字符是轉義的&#xff0c;因此 \ 用 “\” 表示。&#xff09;。 返回區域的數目。 示例 1&#x…

rcu寬限期_如何處理寬限期錯誤:靜默失敗不是一種選擇

rcu寬限期by Rina Artstain通過麗娜阿斯特斯坦 I’ve never really had much of an opinion about error handling. This may come as a shock to people who know me as quite opinionated (in a good way!), but yeah. If I was coming into an existing code base I just d…

描述符、迭代器、生成器

描述符&#xff1a;將某種特殊類型的類的實例指派給另一個類的屬性。 此處特殊類型的要求&#xff0c;至少實現”__set__(self , instance , owner)“、”__get__(self , instance , value)“、”__delete__(self , instance )“三個方法中的一個。 >>> class MyDecri…

php模擬表單提交登錄,PHP模擬表單的post請求實現登錄

stuid > $stuid,pwd > $pwd);$ch curl_init (); //初始化curlcurl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 ); //使用post請求curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $…

去除list集合中重復項的幾種方法

因為用到list&#xff0c;要去除重復數據&#xff0c;嘗試了幾種方法。記錄于此。。。 測試數據&#xff1a; List<string> li1 new List<string> { "8", "8", "9", "9" ,"0","9"};List<string&g…

Crystal Reports第一張報表

新建一個網站項目&#xff0c;1. 設置數據庫 從服務器資源管理器中&#xff0c;數據連接中添加新連接&#xff0c;用Microsoft Access數據庫文件作為數據提供程序&#xff0c;連接上Crystal Reports的用例的數據庫Xtreme2. 創建新Crystal Reports報表 在工程項目中添加一個…