å¨javascritpä¸ï¼æ两个å
³äºå®æ¶å¨çä¸ç¨å½æ°ï¼å®ä»¬æ¯ï¼
1.å计å®æ¶å¨ï¼timename=setTimeout("function();",delaytime);
2.循ç¯å®æ¶å¨ï¼timename=setInterval("function();",delaytime);
1ãå®æ¶å¨æ¦è¿°
window对象æä¾äºä¸¤ä¸ªæ¹æ³æ¥å®ç°å®æ¶å¨çææï¼åå«æ¯window.setTimeout()åwindow.setIntervalãå
¶ä¸åè
å¯ä»¥ä½¿ä¸æ®µä»£ç å¨æå®æ¶é´åè¿è¡ï¼èåè
åå¯ä»¥ä½¿ä¸æ®µä»£ç æ¯è¿æå®æ¶é´å°±è¿è¡ä¸æ¬¡ãå®ä»¬çååå¦ä¸ï¼
window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds);
å
¶ä¸ï¼expressionå¯ä»¥æ¯ç¨å¼å·æ¬èµ·æ¥çä¸æ®µä»£ç ï¼ä¹å¯ä»¥æ¯ä¸ä¸ªå½æ°åï¼å°äºæå®çæ¶é´ï¼ç³»ç»ä¾¿ä¼èªå¨è°ç¨è¯¥å½æ°ï¼å½ä½¿ç¨å½æ°åä½ä¸ºè°ç¨å¥ææ¶ï¼ ä¸è½å¸¦æä»»ä½åæ°ï¼è使ç¨å符串æ¶ï¼åå¯ä»¥å¨å
¶ä¸åå
¥è¦ä¼ éçåæ°ã两个æ¹æ³ç第äºä¸ªåæ°æ¯millisecondsï¼è¡¨ç¤ºå»¶æ¶æè
éå¤æ§è¡ç毫ç§æ°ãä¸ é¢åå«ä»ç»ä¸¤ç§æ¹æ³ã
使ç¨SetIntervalå设å®å»¶æ¶å½æ°setTimeout å¾ç±»ä¼¼ãsetTimeout è¿ç¨å¨å»¶è¿ä¸æ®µæ¶é´ï¼åè¿è¡æ项æä½ã
setTimeout("function",time) 设置ä¸ä¸ªè¶
æ¶å¯¹è±¡
setInterval("function",time) 设置ä¸ä¸ªè¶
æ¶å¯¹è±¡
setInterval为èªå¨éå¤ï¼setTimeoutä¸ä¼éå¤ã
clearTimeout(对象) æ¸
é¤å·²è®¾ç½®çsetTimeout对象
clearInterval(对象) æ¸
é¤å·²è®¾ç½®çsetInterval对象
使ç¨å®æ¶å¨å®ç°JavaScriptç延ææ§è¡æéå¤æ§è¡ .
2ãå
·ä½ä½¿ç¨
1ï¼window.setTimeoutæ¹æ³
该æ¹æ³å¯ä»¥å»¶æ¶æ§è¡ä¸ä¸ªå½æ°ï¼ä¾å¦ï¼
function hello(){ alert("hello"); } window.setTimeout(hello,5000);
è¿æ®µä»£ç å°ä½¿å¾é¡µé¢æå¼5ç§éåæ¾ç¤ºå¯¹è¯æ¡âhelloâãå
¶ä¸æåä¸å¥ä¹å¯ä»¥å为ï¼
window.setTimeout("hello()",5000);
读è
å¯ä»¥ä½ä¼å®ä»¬çå·®å«ï¼å¨window.setIntervalæ¹æ³ä¸ä¹æè¿æ ·çæ§è´¨ã
å¦æå¨å»¶æ¶æéå°è¾¾ä¹ååæ¶å»¶æ§è¡ï¼å¯ä»¥ä½¿ç¨window.clearTimeout(timeoutId)æ¹æ³ï¼è¯¥æ¹æ³æ¥æ¶ä¸ä¸ªidï¼è¡¨ç¤ºä¸ä¸ªå®æ¶å¨ãè¿ä¸ªidæ¯ç±setTimeoutæ¹æ³è¿åçï¼ä¾å¦ï¼
function hello(){ alert("hello"); } var id=window.setTimeout(hello,5000); document.onclick=function(){ window.clearTimeout(id); }
è¿æ ·ï¼å¦æè¦åæ¶æ¾ç¤ºï¼åªéåå»é¡µé¢ä»»ä½ä¸é¨åï¼å°±æ§è¡äºwindow.clearTimeoutæ¹æ³ï¼ä½¿å¾è¶
æ¶æä½è¢«åæ¶ã
2ï¼window.setIntervalæ¹æ³
该æ¹æ³ä½¿å¾ä¸ä¸ªå½æ°æ¯éåºå®æ¶é´è¢«è°ç¨ä¸æ¬¡ï¼æ¯ä¸ä¸ªå¾å¸¸ç¨çæ¹æ³ãå¦ææ³è¦åæ¶å®æ¶æ§è¡ï¼åclearTimeoutæ¹æ³ç±»ä¼¼ï¼å¯ä»¥è°ç¨ window.clearIntervalæ¹æ³ãclearIntervalæ¹æ³åæ ·æ¥æ¶ä¸ä¸ªsetIntervalæ¹æ³è¿åçå¼ä½ä¸ºåæ°ãä¾å¦ï¼
//å®ä¹ä¸ä¸ªåå¤æ§è¡çè°ç¨ var id=window.setInterval("somefunction",10000); //åæ¶å®æ¶æ§è¡ window.clearInterval(id);
3. Demoå°ç»ä¹
ä¸é¢ç代ç ä»
ç¨äºè¯´æææ ·åæ¶ä¸ä¸ªå®æ¶æ§è¡ãå®é
ä¸å¨å¾å¤åºåé½éè¦ç¨å°setIntervalæ¹æ³ï¼ä¸é¢å°è®¾è®¡ä¸ä¸ªç§è¡¨ï¼æ¥ä»ç»setInterval å½æ°çç¨éï¼è¯¥ç§è¡¨å°å
æ¬ä¸¤ä¸ªæé®åä¸ä¸ªç¨äºæ¾ç¤ºæ¶é´çææ¬æ¡ãå½åå»å¼å§æé®æ¶å¼å§è®¡æ¶ï¼æå°åä½ä¸º0.01ç§ï¼æ¤æ¶å次åå»æé®ååæ¢è®¡æ¶ï¼ææ¬æ¡æ¾ 示ç»è¿çæ¶é´ãå¦å¤ä¸ä¸ªæé®ç¨äºå°å½åæ¶é´æ¸
é¶ãå
¶å®ç°ä»£ç å¦ä¸ï¼
<html> <head> <title> New Document </title> </head> <body> <form action="somepage.asp"> <input type="text" value="0" name="txt1"/> <input type="button" value="å¼å§" name="btnStart"/> <input type="button" value="éç½®" name="btnReset"/> </form> </body> </html> <script language="JavaScript" type="text/javascript"> <!-- //è·å表åä¸ç表åå var txt=document.forms[0].elements["txt1"]; var btnStart=document.forms[0].elements["btnStart"]; var btnReset=document.forms[0].elements["btnReset"] //å®ä¹å®æ¶å¨çid var id; //æ¯10毫ç§è¯¥å¼å¢å 1 var seed=0; btnStart.onclick=function(){ //æ ¹æ®æé®ææ¬æ¥å¤æå½åæä½ if(this.value=="å¼å§"){ //使æé®ææ¬å为åæ¢ this.value="åæ¢"; //使éç½®æé®ä¸å¯ç¨ btnReset.disabled=true; //设置å®æ¶å¨ï¼æ¯0.01sè·³ä¸æ¬¡ id=window.setInterval(tip,10); }else{ //使æé®ææ¬å为å¼å§ this.value="å¼å§"; //使éç½®æé®å¯ç¨ btnReset.disabled=false; //åæ¶å®æ¶ window.clearInterval(id); } } //éç½®æé® btnReset.onclick=function(){ seed=0; } //让ç§è¡¨è·³ä¸æ ¼ function tip(){ seed++; txt.value=seed/100; } //--> </script>
3. ç»å®æ¶å¨è°ç¨ä¼ éåæ°
æ 论æ¯window.setTimeoutè¿æ¯window.setIntervalï¼å¨ä½¿ç¨å½æ°åä½ä¸ºè°ç¨å¥ææ¶é½ä¸è½å¸¦åæ°ï¼èå¨è®¸å¤åºåå¿
é¡»è¦å¸¦åæ°ï¼è¿å°±éè¦æ³æ¹æ³è§£å³ãä¾å¦å¯¹äºå½æ°hello(_name)ï¼å®ç¨äºé对ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯ï¼
var userName="jack"; //æ ¹æ®ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯ function hello(_name){ alert("hello,"+_name); }
è¿æ¶ï¼å¦æä¼å¾ä½¿ç¨ä»¥ä¸è¯å¥æ¥ä½¿helloå½æ°å»¶è¿3ç§æ§è¡æ¯ä¸å¯è¡çï¼
window.setTimeout(hello(userName),3000);
è¿å°ä½¿helloå½æ°ç«å³æ§è¡ï¼å¹¶å°è¿åå¼ä½ä¸ºè°ç¨å¥æä¼ éç»setTimeoutå½æ°ï¼å
¶ç»æ并ä¸æ¯ç¨åºéè¦çãè使ç¨å符串形å¼å¯ä»¥è¾¾å°æ³è¦çç»æï¼
window.setTimeout("hello(userName)",3000);
è¿éçå符串æ¯ä¸æ®µJavaScript代ç ï¼å
¶ä¸çuserName表示çæ¯åéãä½è¿ç§åæ³ä¸å¤ç´è§ï¼èä¸æäºåºåå¿
须使ç¨å½æ°åï¼ä¸é¢ç¨ä¸ä¸ªå°æå·§æ¥å®ç°å¸¦åæ°å½æ°çè°ç¨ï¼
var userName="jack"; //æ ¹æ®ç¨æ·åæ¾ç¤ºæ¬¢è¿ä¿¡æ¯ function hello(_name){ alert("hello,"+_name); } //å建ä¸ä¸ªå½æ°ï¼ç¨äºè¿åä¸ä¸ªæ åæ°å½æ° function _hello(_name){ return function(){ hello(_name); } } window.setTimeout(_hello(userName),3000); </script>
è¿éå®ä¹äºä¸ä¸ªå½æ°_helloï¼ç¨äºæ¥æ¶ä¸ä¸ªåæ°ï¼å¹¶è¿åä¸ä¸ªä¸å¸¦åæ°çå½æ°ï¼å¨è¿ä¸ªå½æ°å
é¨ä½¿ç¨äºå¤é¨å½æ°çåæ°ï¼ä»è对å
¶è°ç¨ï¼ä¸éè¦ä½¿ç¨åæ°ãå¨ window.setTimeoutå½æ°ä¸ï¼ä½¿ç¨_hello(userName)æ¥è¿åä¸ä¸ªä¸å¸¦åæ°çå½æ°å¥æï¼ä»èå®ç°äºåæ°ä¼ éçåè½ã
4. æ£ç¡®è®¤è¯å®æ¶å¨çâå®æ¶âåè½
é¦å
çä¸æ®µä»£ç
function display(){ alert(hello); } setTimeout("display()", 3000); alert("ä½ é¦å
çå°çæ¯æï¼")
代ç å
è¾åºåªä¸ªï¼çæ¡å¨ç¨åºä¸å¾ææ¾ã为ä»ä¹å¢ï¼
åå¦è
å¯è½å¯¹Javascriptçå®æ¶å¨æ误解ï¼è®¤ä¸ºå®ä»¬æ¯çº¿ç¨ï¼å
¶å®Javascriptæ¯è¿è¡äºå线ç¨ä¸çï¼èå®æ¶å¨ä»
ä»
æ¯è®¡åå¨æªæ¥çæ个æ¶é´æ§è¡ï¼èå
·ä½çæ§è¡æ¶é´æ¯ä¸è½ä¿è¯çï¼å 为å¨é¡µé¢ççå½å¨æä¸ï¼ä¸åçæ¶é´å¯è½æå
¶å®ä»£ç å¨æ§å¶Javascriptçéè¿ç¨ãæµè§å¨åªæ¯è´è´£è¿è¡æåºï¼ææ´¾æ个代ç å¨æ个æ¶é´ç¹è¿è¡ã
ä¸é¢è¯´ä¸Javascript线ç¨ï¼ä¸å¾è¡¨ç¤ºjavascriptè¿ç¨æ¶é´çº¿ã
é¤äºjavascriptæ§è¡è¿ç¨å¤ï¼è¿æä¸ä¸ªéè¦å¨è¿ç¨ä¸ä¸æ¬¡ç©ºé²æ¶é´æ§è¡ç代ç éåï¼éç页é¢å¨å
¶çå½å¨æå
çæ¨ç§»ï¼ä»£ç ä¼æç
§æ§è¡é¡ºåºæ·»å å°å¯¹åä¸ï¼ä¾å¦ï¼å½ä¸ä¸ªæé®è¢«æä¸æ¶ï¼å®çäºä»¶å¤çå°±ä¼æ·»å å°éåä¸ï¼å¹¶å¨ä¸ä¸ä¸ªå¯è½çæ¶é´å
æ§è¡ã
å®æ¶å¨å¯¹éåçå·¥ä½æ¹å¼æ¯ï¼å½ç¹å®çæ¶é´è¿å»åï¼å°ä»£ç æå
¥ï¼æ³¨ææ·»å å°éå并ä¸æå³çå®ä¼é©¬ä¸æ§è¡ï¼èåªè½è¯´å®ä¼å°½å¿«æ§è¡ï¼è®¾å®ä¸ä¸ª250msåæ§è¡çå®æ¶å¨ï¼ä¸ä»£è¡¨250msåå®ä¼é©¬ä¸æ§è¡ï¼å®åªä¼è¡¨ç¤ºå¨250mså被å å
¥å°éåä¸ï¼å¦æè¿ä¸ªæ¶é´ç¹éåæ¯ç©ºé²çï¼é£ä¹è¿æ®µä»£ç å°±ä¼è¢«æ§è¡ã
请ç以ä¸ä»£ç ï¼
var btn = document.getElementById("mybtn"); btn.onclick = function () { setTimeout(function () { document.getElementById("message").nodeName = "mymessage"; //å
¶å®ä»£ç }, 250); }
对äºå®æ¶å¨æè¦æ³¨æçæ¯ï¼æå®çæ¶é´é´é表示ä½æ¶å°å®æ¶å¨ç代ç æ·»å å°éåä¸ï¼èä¸æ¯ä½æ¶æ§è¡ä»£ç ãå
³äºè¿ä¸ªonclickäºä¼¯å¤ççè¿ç¨æ¶é´çº¿è¯·çä¸å¾ï¼
温馨提示:答案为网友推荐,仅供参考