詳細な JavaScript タイマー

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-13 13:26:381487ブラウズ

今回は JavaScript タイマーについて詳しくご紹介します JavaScript タイマーを使用する際の注意事項 は何ですか? 実際の事例を見てみましょう。 年、月、日、週、時、分、秒を取得します

<script>
    var date = new Date()
    date.getFullYear(); //2017 年
    date.getMonth(); // 5 注意:月份是个诡异的东西,他是从0开始计算的,故+1才等于正常的月份
    date.getDate(); //11 日
    date.getDay(); //星期 美国的星期是从星期日开始的,故0为星期日,1为星期一,...6为星期六
    date.getHours(); //时
    date.getMinutes(); //分
    date.getSeconds(); //秒
</script>

2. Timer

setInterval 間隔タイプ: 毎回の実行に必要なミリ秒数

setTimeout 遅延タイプ: 遅延時間は何ミリ秒ですか


2 つのタイマーの違い:

setInterval 間隔タイプ、複数回実行可能

setTimeout 遅延タイプ、1 回のみ実行

<script>
        function show() {
            alert(&#39;定时器&#39;);
        }//        setInterval(show,1000); // 一秒执行一次
        setTimeout(show,1000);  //延时一秒执行
</script>

オープン タイマー setInterval()

var btn1 = document.getElementById(&#39;btn1&#39;);var btn2 = document.getElementById(&#39;btn2&#39;);var i = 0;var timer = null;
btn1.onclick = function () {       //开启定时器
       timer = setInterval(function () {
           i++;
           alert(i);
      },1000);
}

クローズ タイマー clearInterval(timer);

btn2.onclick = function () {
       i = 0;
       clearInterval(timer);
}

3. 文字列をインターセプト

str[0];不兼容低版本浏览器,如IE7等;
var a = &#39;abcdef&#39;;alert(a[0]);
str.charAt(0); 兼容各种浏览器
var a = &#39;abcdef&#39;;a.charAt(0); //兼容各种浏览器

4. 数値時計の練習

<html lang="en"><head>
    <meta charset="UTF-8">
    <title>数字时钟</title>
    <style>
        body{            background-color: black;            font-size: 50px;            color: white;
        }    </style>
    <script>
        window.onload = function () {            var aImg = document.getElementsByTagName(&#39;img&#39;);            function tick() {                var date = new Date();                //把时间拼接成一个字符串,如:212835;
                //toDouble()这个函数,是为了把单数转换成双位数,如,9转换成09
                var sTime = toDouble(date.getHours()) + toDouble(date.getMinutes()) + toDouble(date.getSeconds());                for (var i=0;i<aImg.length;i++){
                    aImg[i].src = &#39;image/&#39;+sTime.charAt(i)+&#39;.png&#39;;
                }
            }
            setInterval(tick,1000);
            tick(); //由于setInterval会延时1000ms执行,所以为了防止每次刷新页面时,页面上显示00:00:00的情况,调用下此函数
        }        //把获取的时/分/秒 转换成双位数
        function toDouble(n) {            if (n<10){                return &#39;0&#39; + n;
            }else {                return &#39;&#39; +n;//前面的&#39;&#39;,是为了把数字转换成字符串
            }
        }    </script></head><body>![](image/0.png)
![](image/0.png)
:
![](image/0.png)
![](image/0.png)
:
![](image/0.png)
![](image/0.png)</body></html>

遅延プロンプトボックス詳細な JavaScript タイマー

<html lang="en"> <head>     <meta charset="UTF-8">     <title>07-延时提示框</title>     <style>         div{float: left;margin-left: 20px;}         #div1{width: 50px;height: 50px;background-color: red;}         #div2{ width: 200px;height: 200px;background-color: #ccc;display: none;}     </style>     <script>         window.onload = function () {             var oDiv1 = document.getElementById(&#39;div1&#39;);             var oDiv2 = document.getElementById(&#39;div2&#39;);             var timer = null;             oDiv1.onmouseover = function () {                 oDiv2.style.display = &#39;block&#39;;                 clearTimeout(timer); //清除延时器             }             oDiv1.onmouseout = function () {                 timer = setTimeout(function () {                     oDiv2.style.display = &#39;none&#39;;                 },500);             }             oDiv2.onmouseover = function () {                 clearTimeout(timer);             }             oDiv2.onmouseout = function () {                 timer = setTimeout(function () {                     oDiv2.style.display = &#39;none&#39;;                 },500);             }         }     </script> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> </html>

2 つの同一のマウスオーバーとマウスアウトをマージします

<html lang="en"> <head>     <meta charset="UTF-8">     <title>07-延时提示框</title>     <style>         div{float: left;margin-left: 20px;}         #div1{width: 50px;height: 50px;background-color: red;}         #div2{ width: 200px;height: 200px;background-color: #ccc;display: none;}     </style>     <script>         window.onload = function () {             var oDiv1 = document.getElementById(&#39;div1&#39;);             var oDiv2 = document.getElementById(&#39;div2&#39;);             var timer = null;             //简化代码,合并两个相同的mouseover             oDiv2.onmouseover = oDiv1.onmouseover = function () {                 oDiv2.style.display = &#39;block&#39;;                 clearTimeout(timer);             }             //简化代码,合并两个相同的mouseout             oDiv2.onmouseout = oDiv1.onmouseout = function () {                 timer = setTimeout(function () {                     oDiv2.style.display = &#39;none&#39;;                 },500);             }         }     </script> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> </html>

6.この記事の事例を読んだ後、方法を詳しく見てください。php 中国語 Web サイトの他の関連記事にもご注目ください。

推奨読書:

JavaScriptの基本的な応用を深く理解する

JSで注意すべき8つの基礎知識

以上が詳細な JavaScript タイマーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。