最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS定時器用法分析【時鐘與菜單中的應用】

 更新時間:2016年12月21日 09:57:02   作者:鬼畜十三  
這篇文章主要介紹了JS定時器用法,結(jié)合時鐘與菜單中的應用分析了JS中setInterval與setTimeout操作時間的相關技巧,需要的朋友可以參考下

本文實例分析了JS定時器用法。分享給大家供大家參考,具體如下:

開啟定時器:

setInterval 間隔型    //一旦啟動就不會停,重復執(zhí)行
setTimeout 延遲型   //只執(zhí)行一次

停止定時器:

clearInterval
clearTimeout

關閉定時器如果只是clearInterval()那會關掉所有的定時器,有時我們只需要關掉一個而已,所以要定義一個變量來存放定時器

var timer=null;
btn1.onclick=function(){
  timer=setInterval(函數(shù)名,1000);
};
btn2.onclick=function(){
  clearInterval(timer);
};

例子1

時刻變化的時鐘,且數(shù)字是由圖片代替的

思路:

1.創(chuàng)建Date(日期)對象,獲取系統(tǒng)時間(注:獲取時間如果是一位數(shù),需要一個轉(zhuǎn)換成二位數(shù)的函數(shù))

2.將獲得的系統(tǒng)時間每一位數(shù)字賦給圖片地址的數(shù)字編號(charAt()方法,返回字符串指定位置的字符,所以需要一個for循環(huán)返回時分秒六位數(shù)字)

3.需要一個定時器讓它自動更新時間

function toDouble(num){ //一位數(shù)轉(zhuǎn)換成二位數(shù)
  if(num<10){
    return '0'+num;
  }else{
    return ''+num;
  }
}
window.onload=function(){
  var oimg=document.getElementsByTagName('img');
  var i;
  function updatetime(){
    var odate=new Date();
    var str=toDouble(odate.getHours())+toDouble(odate.getMinutes())+toDouble(odate.getSeconds());
    for(i=0;i<oimg.length;i++){
      oimg[i].src='images/'+str.charAt(i)+'.png';
    }
  }
  setInterval(updatetime,1000); //定時器里面應該放的是方法,而不是直接執(zhí)行函數(shù)
  updatetime(); //不執(zhí)行下函數(shù),會出現(xiàn)剛刷新頁面第一秒,時間是00時00分00秒
}

例子2

二級菜單

一級菜單和二級菜單間有縫隙,如果僅僅是移入一級菜單時二級顯示,移除時隱藏,那么移到縫隙間還是會顯示不出來(或者說來不及進入二級菜單,二級菜單就沒了),所以需要一個定時器,在離開一級菜單時,不讓二級馬上消失,而是緩慢隱藏,然后在進入二級菜單時,清除這個定時器,他就不會消失了,另外離開二級菜單時,還是要讓它消失,不然會永遠存在

window.onload=function(){
  var box1=document.getElementById('box1');
  var box2=document.getElementById('box2');
  var timer=null;
  box1.onmouseover=function(){
    box2.style.display="block";
    clearTimeout(timer);  //不清除定時器,離開二級菜單進入一級菜單時,二級菜單也會隱藏
  };
  box1.onmouseout=function(){
    timer=setTimeout(function(){
      box2.style.display="none";
    },300);
  };
  box2.onmouseover=function(){
    clearTimeout(timer);
  };
  box2.onmouseout=function(){  //如果離開二級菜單,讓他瞬間消失,IE7下移動到一級菜單時,二級菜單會閃爍
    timer=setTimeout(function(){
      box2.style.display="none";
    },300);
  };
};

簡化下代碼

window.onload=function(){
  var box1=document.getElementById('box1');
  var box2=document.getElementById('box2');
  var timer=null;
  box1.onmouseover=box2.onmouseover=function show(){
    box2.style.display="block";
    clearTimeout(timer);
  };
  box1.onmouseout=box2.onmouseout=function hide(){
    timer=setTimeout(function(){
      box2.style.display="none";
    },300);
  };
};

更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript時間與日期操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

  • JS和JQuery實現(xiàn)雪花飄落效果

    JS和JQuery實現(xiàn)雪花飄落效果

    本文主要給大家講述了如何用JS和JQuery兩種方式實現(xiàn)雪花飄落的動畫效果,有需要的朋友收藏一下吧。
    2017-11-11
  • es6基礎學習之解構(gòu)賦值

    es6基礎學習之解構(gòu)賦值

    解構(gòu)賦值語法是一個 Javascript 表達式,這使得可以將值從數(shù)組或?qū)傩詮膶ο筇崛〉讲煌淖兞恐?。這篇文章主要給大家介紹了關于es6基礎學習之解構(gòu)賦值的相關資料,需要的朋友可以參考下
    2018-12-12
  • 關于微信小程序?qū)崿F(xiàn)云支付那些事兒

    關于微信小程序?qū)崿F(xiàn)云支付那些事兒

    我們在做小程序支付相關的開發(fā)時,總會遇到這些難題,下面這篇文章主要給大家介紹了關于微信小程序?qū)崿F(xiàn)云支付那些事兒,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • BootStrap中Datetimepicker和uploadify插件應用實例小結(jié)

    BootStrap中Datetimepicker和uploadify插件應用實例小結(jié)

    這篇文章主要介紹了BootStrap中Datetimepicker和uploadify插件應用實例小結(jié)的相關資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • IE和Firefox之間在JavaScript語法上的差異

    IE和Firefox之間在JavaScript語法上的差異

    這篇文章主要為大家詳細介紹了IE和Firefox之間在JavaScript語法上的差異,在JavaScript語法上不同的7個方面,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript實現(xiàn)簡單日期特效

    JavaScript實現(xiàn)簡單日期特效

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)簡單日期特效,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JavaScript中alert的使用方法超詳細介紹

    JavaScript中alert的使用方法超詳細介紹

    JS中的alert作用是在瀏覽器中彈出一個警告框,而使用alert有三種方式,不同的方式所呈現(xiàn)的效果也不相同,這篇文章主要給大家介紹了關于JavaScript中alert使用方法的相關資料,需要的朋友可以參考下
    2024-01-01
  • JavaScript中繼承用法實例分析

    JavaScript中繼承用法實例分析

    這篇文章主要介紹了JavaScript中繼承用法,以實例形式較為詳細的分析了javascript實現(xiàn)繼承的相關技巧,需要的朋友可以參考下
    2015-05-05
  • 如何使用JS在HTML中自定義字符串格式化

    如何使用JS在HTML中自定義字符串格式化

    在JavaScript中雖沒有類似的方法,但我們可以利用字符串的replace方法自定義字符串的格式化方法。下面通過本文給大家分享使用JS在HTML中自定義字符串格式化的方法,需要的的朋友參考下吧
    2017-07-07
  • 瀏覽器環(huán)境下JavaScript腳本加載與執(zhí)行探析之動態(tài)腳本與Ajax腳本注入

    瀏覽器環(huán)境下JavaScript腳本加載與執(zhí)行探析之動態(tài)腳本與Ajax腳本注入

    這篇文章主要介紹了瀏覽器環(huán)境下JavaScript腳本加載與執(zhí)行探析之動態(tài)腳本與Ajax腳本注入 的相關資料,需要的朋友可以參考下
    2016-01-01

最新評論

盘锦市| 榆林市| 山丹县| 大悟县| 江孜县| 蒙自县| 安康市| 普陀区| 普陀区| 昔阳县| 凤台县| 女性| 凤台县| 团风县| 崇仁县| 南阳市| 岑溪市| 泉州市| 柘荣县| 新乐市| 八宿县| 浦北县| 江川县| 穆棱市| 夹江县| 孝义市| 宁化县| 梅河口市| 陆川县| 南华县| 临城县| 定陶县| 永德县| 长白| 方山县| 林口县| 大关县| 新安县| 南乐县| 永城市| 富锦市|