zoukankan      html  css  js  c++  java
  • 模拟垂直滚动条

    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
    .box {
    300px;
    height: 500px;
    border: 1px solid red;
    margin:100px;
    position: relative;
    }
    .content {
    height: auto;
    padding: 5px 18px 5px 5px;
    position: absolute;
    top: 0;
    left: 0;
    }
    .scroll {
    18px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-color: #eee;
    }
    .bar {
    100%;
    height: 100px;
    background-color: red;
    cursor: pointer;
    border-radius: 10px;
    position: absolute;
    top: 0;
    left: 0;
    }
    </style>
    </head>
    <body>
    <div class="box" id="box"><!--内容可视区-->
    <div id="content" class="content" ><!--内容区-->
    你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的
         小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你
         是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小
         苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果
         你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的
         小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你
         是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小
         苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果
         你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的
         小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你
         是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小
         苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果
         你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的
         小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你
         是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小
         苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果
         你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的
         小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你
         是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小
         苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果你是我的小苹果
    </div>
    <div id="scroll" class="scroll"><!--滚动条所在区域-->
    <div id="bar" class="bar"></div><!--滚动条-->
    </div>
    </div>
    </body>
    </html>
    <script src="public.js"></script>
    <script type="text/javascript">
        var bar = $id("bar"),
            scroll = $id("scroll"),
            content = $id("content"),
            box = $id("box");
        bar.onmousedown = function(e){
            var e = e || event;
            var disy = e.offsetY;
            document.onmousemove = function(e){
                var e = e || event;
                var y = e.pageY - disy - box.offsetTop;
                var maxT = scroll.offsetHeight-bar.offsetHeight;
                if( y < 0 ){
                    y = 0;
                }else if( y > maxT ){
                    y = maxT;
                }
                bar.style.top = y + "px";
                
                //获取内容向上滚走的距离
                //通过下面的比例关系完成:
                //内容向上滚走距离/滚动条向下移动距离 =(内容高度-box高度)/ (scroll的高度-bar的高度)
                var conTop = y*(content.offsetHeight-box.offsetHeight)/(scroll.offsetHeight-bar.offsetHeight);
                //设置内容向上移动的top
                content.style.top = -conTop + "px";
            }
            document.onmouseup = function(){
                document.onmousemove = null;
                document.onmouseup = null;
            }
            
            return false;
        }
    </script>
  • 相关阅读:
    vue生命周期简介和钩子函数
    vue.js 笔记
    vue-cli安装以及搭建vue项目详细步骤
    nodejs 报错
    线程池 一 ThreadPoolExecutor
    JUC 一 线程池
    线程八锁
    JUC 一 ReentrantReadWriteLock
    JUC 一 ReentrantLock 可重入锁
    JUC 一 CountDownLatch(闭锁)
  • 原文地址:https://www.cnblogs.com/tis100204/p/10319191.html
Copyright © 2011-2022 走看看