定時器在javascript中的作用
1、制作動畫
2、異步操作
3、函數(shù)緩沖與節(jié)流
定時器類型及語法
/* 定時器: setTimeout 只執(zhí)行一次的定時器 clearTimeout 關(guān)閉只執(zhí)行一次的定時器 setInterval 反復(fù)執(zhí)行的定時器 clearInterval 關(guān)閉反復(fù)執(zhí)行的定時器 */ var time1 = setTimeout(myalert,2000); var time2 = setInterval(myalert,2000); /* clearTimeout(time1); clearInterval(time2); */ function myalert(){ alert('ok!'); }
課堂練習(xí)
1、定時器制作移動動畫
2、定時器制作無縫滾動
3、定時器制作時鐘
<script type="text/javascript"> window.onload = function(){ var oDiv = document.getElementById('div1'); function timego(){ var now = new Date(); var year = now.getFullYear(); var month = now.getMonth()+1; var date = now.getDate(); var week = now.getDay(); var hour = now.getHours(); var minute = now.getMinutes(); var second = now.getSeconds(); var str = '當(dāng)前時間是:'+ year + '年'+month+'月'+date+'日 '+toweek(week)+' '+todou(hour)+':'+todou(minute)+':'+todou(second); oDiv.innerHTML = str; } timego(); setInterval(timego,1000); } function toweek(n){ if(n==0) { return '星期日'; } else if(n==1) { return '星期一'; } else if(n==2) { return '星期二'; } else if(n==3) { return '星期三'; } else if(n==4) { return '星期四'; } else if(n==5) { return '星期五'; } else { return '星期六'; } } function todou(n){ if(n<10) { return '0'+n; } else { return n; } } </script> ...... <div id="div1"></div>
4、定時器制作倒計時
簡單用法:
//定時器調(diào)用函數(shù),并給定時器命名 var time1 = setTimeout(myalert,2000); var time2 = setInterval(myalert,2000); //停止指定定時器 clearTimeout(time1); clearInterval(time2); function myalert(){ alert('ok!'); } //簡寫(匿名函數(shù)代替即可) var time1 = setTimeout( function(){ alert('ok!'); },2000);
1、 動態(tài)顯示當(dāng)前時間
效果圖:
篇語:發(fā)現(xiàn)自己隨手記下的《阿里云ECS上手動安裝LAMP環(huán)境過程詳解(純手打)》文章挺受歡迎的,十分高興可以與大家一起分享知識、分享成長,遂決定把自己在學(xué)習(xí)路上的一些體會和感悟堅持記錄下來,給自己一個復(fù)習(xí)和回憶的地方,也和大家一次分享學(xué)習(xí)的點點滴滴。朋友們,如果你正在學(xué)習(xí)編程或有意向?qū)W習(xí)編程,請記得這位過來人(當(dāng)然是我)總結(jié)的一句話:永遠不要把時間浪費在爭論什么語言有前途,什么工具好用、怎樣快速成手等等無意義的問題上,有時間多敲幾行代碼,你就能看見你的進步。
1、關(guān)于定時器
javascript中的定時器有兩個:setInterval和setTimeout。
2、基礎(chǔ)知識
設(shè)定延時:setTimeout("function",time) 設(shè)置一個超時對象
setInterval("function",time) 設(shè)置一個超時對象
兩者的區(qū)別在于setInterval設(shè)置后可以自動重復(fù)執(zhí)行,setTimeout執(zhí)行一次就結(jié)束(通常運用在延遲一段時間再進行其他操作)。
停止延時:clearTimeout(對象) 清除已設(shè)置的setTimeout對象
clearInterval(對象) 清除已設(shè)置的setInterval對象
3、基礎(chǔ)用法示例
(1)頁面每隔2秒彈出一個提示框。因為需要重復(fù)彈出,所以選擇setInterval(),代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>定時器的使用</title>
<script>
window.onload = function()
{
function show() {
alert("定時器的使用");
}
setInterval(show, 2000);
};
</script>
</head>
<body>
</body>
</html>
(2)頁面打開5秒后彈出提示框(只彈出一次)
因為延時后只彈出一次,所以選擇setTimeout()。相信大家應(yīng)該都知道怎么做了,修改上述代碼的setInterval(),改為setTimeout(show, 5000);即可,趕緊試試吧。
(3)注意事項,依舊用例子表示,只修改script中的內(nèi)容。
//該函數(shù)不需要參數(shù)
function show(){ alert("定時器的使用");}
// 每隔5秒鐘就彈出提示信息"定時器的使用",第一個參數(shù)是show,而不是show(),切記。
setInterval(show, 5000);
// 使用匿名函數(shù)作為參數(shù),每隔5秒鐘就彈出信息。
setTimeout(function(){ alert("定時器的使用"); }, 5000);
// 該函數(shù)需要兩個參數(shù)
function sayHello(name, age){ alert("我叫" + name + ",今年" + age + "歲!");}
//每隔5秒鐘就彈出提示信息"我叫CodePlayer,今年18歲!"。
setInterval(sayHello, 5000, "CodePlayer", 18);
今天工作太忙,寫的有些倉促,望見諒。明天用定時器實現(xiàn)兩個例子:頁面上顯示動態(tài)時間和圖片無縫滾動,歡迎大家關(guān)注。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。