美文网首页
楼层---兼容ie

楼层---兼容ie

作者: zjxl | 来源:发表于2017-06-01 09:33 被阅读0次
      <!doctype html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>Document</title>
          <style>
                 *{
                    margin: 0;
                    padding: 0;
                    list-style: none;
               }
             .main{
                  width: 800px;
                  margin: 0 auto;
               }
               main li{
                 width: 800px;
                 height: 500px;
                font-size: 100px;
             }
           .floor{
                 position:fixed;
                 left: 50px;
                 top:200px;
                 display: none;
           }
           .floor ul{
              width: 40px;          
              background: red;
           }
          .floor ul li{
              width: 40px;
              height: 40px;
              background: yellow;
              line-height: 40px;
              text-align: center;
              cursor: pointer;
              font-family: 微软雅黑;
              font-size: 12px;
              color:#666;
           }      
      </style>
    </head>
    <body>
    <ul class="main">
        <li>banner</li>
        <li id="text" style="background:pink">1</li>
        <li style="background:yellow">2</li>
        <li style="background:#f5f5f5">3</li>
        <li style="background:#abcdef">4</li>
        <li style="background:red">5</li>
        <li style="background:green">6</li>     
        <li style="background:#f90">7</li>     
    </ul>
    <div class="floor" id="floors">
         <ul>
             <li>1F</li>
             <li>2F</li>
             <li>3F</li>
             <li>4F</li>
             <li>5F</li>
             <li>6F</li>
             <li>7F</li>
         </ul>
    </div>
    
    <script>
        // 获取li集合
        var li = document.getElementById('floors').getElementsByTagName('li');
         
         // 定义数组
        var arr = ['服装','手机','家具','游戏','电器','通信','冰箱'];
        var arr1 = ['1F','2F','3F','4F','5F','6F','7F'];
        var arr2=['500','1000','1500','2000','2500','3000','3500']
        var goS,nowS,timer;
        // 遍历
        
         for( var i=0;i<li.length;i++){
             
            // 存下标
            li[i].i=i;
    
            li[i].onmouseover=function(){
    
                this.innerHTML=arr[this.i];
                this.style.background="red";
                this.style.color='#fff';
    
            }
    
            li[i].onmouseout=function(){
    
                this.innerHTML=arr1[this.i];
                this.style.background="yellow";
                this.style.color="#666";
            }
    
            li[i].onclick=function(){
    
                // 拿到要去的楼层高度
                 goS = arr2[this.i];
    
                 if (timer){
                        clearInterval(timer);
                 }
    
               //如果当前滚轮的高度大于你要去的楼层高度,就执行runY函数 
             
                if (scroll()>goS){
                    // 每一毫秒都执行一次定时函数,每一次都要把滚轮高度减10
                    timer = setInterval(runY,1);
    
                 }
                           
               //如果当前滚轮的高度小于你要去的楼层高度,就执行runX函数
            
                  
                    if (scroll() < goS) {
    
                        // 每一毫秒都执行一次定时函数,每一次都要把滚轮高度加10
    
                        timer = setInterval(runX,1);  
                    }
             
                
    
    
    
            }
    
            function runY(){
                // 滚动高度要不断的减少,才能到达你要去的楼层高度
                if(document.body.scrollTop){
                    document.body.scrollTop=document.body.scrollTop-10;
                    // 假如滚轮高度小于等于你要去的楼层高度,清楚定时函数就停止了
                    if (document.body.scrollTop <= goS ) {
                        document.body.scrollTop = goS
                        clearInterval(timer);
                    }
                }else{
                   document.documentElement.scrollTop=document.documentElement.scrollTop-10;
                   if(document.documentElement.scrollTop<=goS){
                      document.documentElement.scrollTop=goS;
                      clearInterval(timer);
                   }
                }
             
    
            }
    
            function runX(){
                // 滚动高度要不断的增加,才能到达你要去的楼层高度
                if(document.body.scrollTop){
                     document.body.scrollTop=document.body.scrollTop+10;
                                   
                    if (document.body.scrollTop >= goS  || document.body.scrollTop >=3201) {
                        document.body.scrollTop = goS;
                        clearInterval(timer);
                     }
                }else{
    
                   document.documentElement.scrollTop=document.documentElement.scrollTop+10;
                    if(document.documentElement.scrollTop>=goS||document.documentElement.scrollTop>=3199){
                      document.documentElement.scrollTop=goS;
                      clearInterval(timer);
                   } 
                }
               
            }
    
         }
            console.log(document.body.scrollTop);
          
         // 滚动执行的函数,检测滚动条的距离
         
    
         window.onscroll=function(){
    
            var floors = document.getElementById('floors');
           console.log(document.body.scrollTop);
           console.log(document.documentElement.scrollTop)
           var top=document.body.scrollTop||document.documentElement.scrollTop;
    
          if(top<=10){
                
                floors.style.display="none";
               
            }else{
                floors.style.display="block";              
            }
            
         }
    
         function scroll(){
            if(document.body.scrollTop){
                return document.body.scrollTop;
            }else{
                return document.documentElement.scrollTop;
            }
         }
    
    </script>
    </body>
    </html>

    相关文章

      网友评论

          本文标题:楼层---兼容ie

          本文链接:https://www.haomeiwen.com/subject/qxpsfxtx.html