Day09(計(jì)時(shí)器,定時(shí)器,無(wú)縫輪播圖)

計(jì)時(shí)器函數(shù) setInterval()

setInterval()        //計(jì)時(shí)器函數(shù)
setInterval(要執(zhí)行的函數(shù),執(zhí)行間隔(以毫秒為單位,1000毫秒就是一秒)
setInterval(function(){
   console.log(111)
},1000)

定時(shí)器函數(shù) setTimeout()

setTimeout();類似于定時(shí)炸彈,規(guī)定多久以后執(zhí)行一次內(nèi)部的函數(shù)
用法:與setInterval()相同

setTimeout(“函數(shù)”,執(zhí)行時(shí)間);
setInterval(“函數(shù)”,10);每隔十秒執(zhí)行一次;
setTimeout(“函數(shù)”,10);十秒以后執(zhí)行函數(shù),并且只執(zhí)行一次;
函數(shù)自己調(diào)用自己的過(guò)程,叫做:遞歸調(diào)用;

所以,要記住,遞歸調(diào)用一定要有跳出的條件;

清除計(jì)時(shí)器 clearInterval()

聲明一個(gè)變量,把計(jì)時(shí)器存起來(lái),然后,用清除語(yǔ)句:
var a=setInterval (function(){},1);
clearInterval(a); //清除計(jì)時(shí)器

setInterval(function(){},1000);//計(jì)時(shí)器
function fun(){
    console.log(“a”)
}

setInterval(fun,1000)
setInterval(‘fun()’,1000)

小案例(倒計(jì)時(shí)跳轉(zhuǎn))

<p id="p">5秒后跳轉(zhuǎn)到百度</p>


<script>
    var p = document.getElementById("p");
    var i = 5;
    setTimeout(fun,1000);
    function fun(){
        i--;
        p.innerHTML = i + "秒后跳轉(zhuǎn)到百度";
        if(i<=0){
            window.location.;
        }else{
            setTimeout(fun,1000)
        }
    }
</script>

小案例(無(wú)縫滾動(dòng)輪播圖)

<style>
        *{
            margin: 0;
            padding: 0;
        }
        #div{
            width: 800px;
            height: 300px;
            position: relative;
            margin: 50px auto;
            border: 5px solid silver;
            overflow: hidden;
        }
        ul{
            list-style: none;
            position: absolute;
            width: 2400px;
        }
        li{
            width: 400px;
            height: 300px;
            line-height: 300px;
            text-align: center;
            font-size: 40px;
            float: left;
        }
        .a1{
            background-color: pink;
        }
        .a2{
            background-color: aqua;
        }
        .a3{
            background-color: blueviolet;
        }
        .a4{
            background-color: yellow;
        }
    </style>
<div id="div">
    <ul id="ul">
        <li class="a1">1</li>
        <li class="a2">2</li>
        <li class="a3">3</li>
        <li class="a4">4</li>
        <li class="a1">1</li>
        <li class="a2">2</li>
    </ul>
</div>
<script>
    var ul = document.getElementById("ul");
    var i = 0;
    var t = setInterval(fn,1);
    function fn(){
        i--;
        ul.style.left = i+"px";
        if(i<=-1600){
            i=0;
        }
    }
    ul.onmouseover = function (){
        clearInterval(t);
    };
    ul.onmouseout = function(){
        t = setInterval(fn,1);
    }
</script>

小案例(圖片無(wú)縫滾動(dòng)輪播圖)

    <style>
        *{
            margin: 0;padding: 0;
        }
        .box{
            width: 100%;
            height: 470px;
            position: relative;
            overflow: hidden;
          }
        ul{
            list-style: none;
            position: absolute;
        }
        li{
            width: 13440px;
        }
        img{
            height: 470px; float: left;
        }

    </style>


<div class="box">
    <ul id="ul">
        <li>![](images/banner_1.jpg)</li>
        <li>![](images/banner_2.jpg)</li>
        <li>![](images/banner_3.jpg)</li>
        <li>![](images/banner_4.jpg)</li>
        <li>![](images/banner_5.jpg)</li>
        <li>![](images/banner_6.jpg)</li>
        <li>![](images/banner_1.jpg)</li>
    </ul>
</div>
<script>
    var ul = document.getElementById("ul");
    var time = null;
    var n = 0;     //  圖片索引
    var left = 0;  //  向右動(dòng)的距離
    setTimeout(fun,3000);
    function fun(){
        n--;
        if(n<-6){
            n = -1;
            left = 0;    // 重置
            ul.style.left = "0px";   //  重置
        }
        time = setInterval(function(){
            left--;
            ul.style.left = left + "px";
            if(left <= n*1920){
                clearInterval(time);
                setTimeout(fun,3000);
            }
        },1);
    }

</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容