国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

原生javascript實(shí)現(xiàn)的全屏滾動(dòng)功能示例

2024-05-06 16:39:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了原生javascript實(shí)現(xiàn)的全屏滾動(dòng)功能。分享給大家供大家參考,具體如下:

原理:

1. 計(jì)算當(dāng)前瀏覽器屏幕高度,每次翻頁(yè)顯示的內(nèi)容高度即為屏幕高度

2. 對(duì)鼠標(biāo)滾輪事件進(jìn)行監(jiān)聽(tīng),注意滾輪事件的瀏覽器兼容問(wèn)題。

廢話不多說(shuō),直接上代碼

html代碼:

<div id="wrap">  <div id="main" style="top: 0;">    <div class="content num1">      <img src="https://www.bing.com/az/hprichbg/rb/SingingRingingTree_ZH-CN12497946624_1920x1080.jpg" width="100%" height="100%">    </div>    <div class="content num2">      <img src="https://www.bing.com/az/hprichbg/rb/ShenandoahNP_ZH-CN9981989975_1920x1080.jpg" width="100%" height="100%">    </div>    <div class="content num3">      <img src="https://www.bing.com/az/hprichbg/rb/GareSaintLazare_ZH-CN6611772290_1920x1080.jpg" width="100%" height="100%">    </div>    <div class="content num4">      <img src="https://www.bing.com/az/hprichbg/rb/FriendshipSquare_ZH-CN8820626148_1920x1080.jpg" width="100%" height="100%">    </div>  </div></div>

css代碼:

#wrap{overflow: hidden;width: 100%;}#main{top: 0;position: relative;}.content{width: 100%;margin: 0;height: 100%;}.num1{background: #e8e8e8;}.num2{background: pink;}.num3{background: yellow;}.num4{background: orange;}

js代碼:

<script type="text/javascript">  var wrap = document.getElementById("wrap");  var divHeight = window.innerHeight;  wrap.style.height = divHeight + "px";  var content = $(".content");//懶得寫獲取類的原生js代碼了,直接用了jquery,=。=  content.height(divHeight);  var startTime = 0, //開(kāi)始翻屏?xí)r間    endTime = 0,    now = 0;  if ((navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)){    //for firefox;    document.addEventListener("DOMMouseScroll",scrollFun,false);  }  else if (document.addEventListener) {    document.addEventListener("mousewheel",scrollFun,false);  }  else if (document.attachEvent) {    document.attachEvent("onmousewheel",scrollFun);  }  else{    document.onmousewheel = scrollFun;  }  //滾動(dòng)事件處理函數(shù)  function scrollFun(event){      startTime = new Date().getTime();      var delta = event.detail || (-event.wheelDelta);      if ((endTime - startTime) < -1000) {        //1秒內(nèi)執(zhí)行一次翻頁(yè)        if (delta > 0 && parseInt(main.style.top) > -divHeight * ( content.length - 1)) { //向下翻頁(yè)          now += divHeight ;          turnPage(now);        }        if (delta < 0 && parseInt(main.style.top) < 0) { //向上翻頁(yè)          now -= divHeight ;          turnPage(now);        }        endTime = new Date().getTime();      }      else{        event.preventDefault();      }  }  //翻頁(yè)函數(shù)  function turnPage(now){    $("#main").animate({top:(-now+'px')},1000);    //懶得寫動(dòng)畫代碼了,直接用了jquery,=。=  }</script>

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南岸区| 定陶县| 依兰县| 桂平市| 海丰县| 彭泽县| 淳安县| 翁牛特旗| 紫金县| 贵州省| 边坝县| 黔西| 青铜峡市| 长汀县| 得荣县| 七台河市| 千阳县| 大洼县| 山西省| 越西县| 临沭县| 崇礼县| 静安区| 渝中区| 定兴县| 东阿县| 曲沃县| 华安县| 栾城县| 平邑县| 乌鲁木齐县| 湘潭市| 马关县| 句容市| 孝感市| 双辽市| 石门县| 阜南县| 浪卡子县| 玛多县| 罗甸县|