• 全屏滚动


      1 <!DOCTYPE html>
      2 <html>
      3 
      4     <head>
      5         <meta charset="UTF-8">
      6         <title>tab</title>
      7 
      8         <style type="text/css">
      9             html,
     10             body {
     11                 height: 100%;
     12             }
     13             
     14             body,
     15             ul,
     16             li,
     17             a,
     18             p,
     19             div {
     20                 padding: 0px;
     21                 margin: 0px;
     22                 font-size: 14px;
     23             }
     24             
     25             #wrap {
     26                 overflow: hidden;
     27                 width: 100%;
     28             }
     29             
     30             #main {
     31                 height: 2944px;
     32                 top: 0;
     33                 position: relative;
     34             }
     35             
     36             .page {
     37                 width: 100%;
     38                 margin: 0;
     39             }
     40             
     41             #page1 {
     42                 background: #E4E6CE;
     43             }
     44             
     45             #page2 {
     46                 background: #6CE26C;
     47             }
     48             
     49             #page3 {
     50                 background: #BF4938;
     51             }
     52             
     53             #page4 {
     54                 background: #2932E1;
     55             }
     56         </style>
     57     </head>
     58 
     59     <body>
     60         <div id="wrap">
     61             <div id="main">
     62                 <div id="page1" class="page"></div>
     63                 <div id="page2" class="page"></div>
     64                 <div id="page3" class="page"></div>
     65                 <div id="page4" class="page"></div>
     66             </div>
     67         </div>
     68         <script type="text/javascript">
     69             var wrap = document.getElementById("wrap");
     70             var main = document.getElementById("main");
     71             var hei = document.body.clientHeight;
     72             wrap.style.height = hei + "px";
     73             var obj = document.getElementsByTagName("div");
     74             for(var i = 0; i < obj.length; i++) {
     75                 if(obj[i].className == 'page') {
     76                     obj[i].style.height = hei + "px";
     77                 }
     78             }
     79             //如果不加时间控制,滚动会过度灵敏,一次翻好几屏
     80             var startTime = 0, //翻屏起始时间  
     81                 endTime = 0,
     82                 now = 0;
     83             //浏览器兼容      
     84             if((navigator.userAgent.toLowerCase().indexOf("firefox") != -1)) {
     85                 document.addEventListener("DOMMouseScroll", scrollFun, false);
     86             } else if(document.addEventListener) {
     87                 document.addEventListener("mousewheel", scrollFun, false);
     88             } else if(document.attachEvent) {
     89                 document.attachEvent("onmousewheel", scrollFun);
     90             } else {
     91                 document.onmousewheel = scrollFun;
     92             }
     93 
     94             //滚动事件处理函数
     95             function scrollFun(event) {
     96                 startTime = new Date().getTime();
     97                 var delta = event.detail || (-event.wheelDelta);
     98                 //mousewheel事件中的 “event.wheelDelta” 属性值:返回的如果是正值说明滚轮是向上滚动
     99                 //DOMMouseScroll事件中的 “event.detail” 属性值:返回的如果是负值说明滚轮是向上滚动
    100                 if((endTime - startTime) < -1000) {
    101                     if(delta > 0 && parseInt(main.offsetTop) > -(hei * 3)) {
    102                         //向下滚动
    103                         now = now - hei;
    104                         toPage(now);
    105                     }
    106                     if(delta < 0 && parseInt(main.offsetTop) < 0) {
    107                         //向上滚动
    108                         now = now + hei;
    109                         toPage(now);
    110                     }
    111                     endTime = new Date().getTime();
    112                 } else {
    113                     event.preventDefault();
    114                 }
    115             }
    116 
    117             function toPage(now) {
    118                 //$("#main").animate({ top: (now + 'px') }, 1000); //jquery实现动画效果
    119                 setTimeout("main.style.top = now + 'px'",1000);     //javascript 实现动画效果
    120             }
    121         </script>
    122     </body>
    123 
    124 </html>
  • 相关阅读:
    Linux内核同步方法
    C++11写轻量级AOP框架
    Typora夜樱主题
    MySQL添加主键和外键
    命题连接词和命题逻辑
    打印一个类全部信息的方法
    getClass()和instanceof以及类的equals方法
    多态
    在构造函数中调用另一个构造函数
    参数传递
  • 原文地址:https://www.cnblogs.com/panda-ling/p/6699942.html
Copyright © 2020-2023  润新知