zoukankan      html  css  js  c++  java
  • 自定义滚动条Js简版

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>自定义滚动条</title>
    <style type="text/css">
    #div1 {
         20px;
        height: 400px;
        position: relative;
        background: black;
        margin: 5px auto;
        left: 200px;
    }
    
    #div2 {
         20px;
        height: 20px;
        position: absolute;
        background: green;
    }
    
    #div3 {
         300px;
        height: 300px;
        position: relative;
        overflow: hidden;
        top: -320px;
        border: 1px solid black;
        background-color:green;
    }
    
    #div4 {
        position: absolute;
        left: 0;
        top: -20px;
        padding: 4px;
    }
    </style>
    <script type="text/javascript">
        window.onload = function() {
            var oDiv = document.getElementById('div1');
            var oDiv2 = document.getElementById('div2');
            var oDiv3 = document.getElementById('div3');
            var oDiv4 = document.getElementById('div4');
            var disY = 0;
            oDiv.onmousedown = function(ev) {
                var oEvent = ev || event;
                //Div距离 ClientX-Left
                disY = oEvent.clientY - oDiv2.offsetTop;
                if (oDiv2.setCapture) {
                    //IE
                    oDiv2.onmousemove = function(ev) {
                        var oEvent = ev || event;
                        var y = oEvent.clientY - disY;
                        //下拉
                        var scale = y / (oDiv.offsetHeight - oDiv2.offsetHeight);
                        //        document.title =scale;
                        //磁铁吸附
                        if (scale < 0) {
                            scale = 0;
                        } else if (scale > 1) {
                            scale = 1;
                        }
                        if (y < 0) {
                            y = 0;
                        } else if (y > oDiv.offsetHeight - oDiv2.offsetHeight) {
                            y = oDiv.offsetHeight - oDiv2.offsetHeight;
                        }
                        oDiv2.style.top = y + 'px';
                        oDiv4.style.top = -(oDiv4.offsetHeight - oDiv3.offsetHeight)
                                * scale + 'px';
    
                    };
                    oDiv2.onmouseup = function() {
                        oDiv2.onmousemove = null;
                        oDiv2.onmouseup = null;
    
                        oDiv2.releaseCapture();
                    };
    
                    oDiv2.setCapture();
                } else {
                    //Chrome FF
                    oDiv2.onmousemove = function(ev) {
                        var oEvent = ev || event;
                        var y = oEvent.clientY - disY;
                        if (y < 0) {
                            y = 0;
                        } else if (y > Div2.offsetHeight - oDiv.offsetHeight) {
                            y = Div2.offsetHeight - oDiv.offsetHeight;
                        }
                        oDiv2.style.top = y + 'px';
                    };
                    document.onmouseup = function() {
                        document.onmousemove = null;
                        document.onmouseup = null;
    
                    };
    
                }
                //阻止浏览器的默认拖拽
                return false;
            };
    
        };
    </script>
    </head>
    <body>
        <div id="div1" title="我是素材">
            <div id="div2" title="我是下拉线"></div>
        </div>
        <div id="div3" title="我是下拉框">
            <div id="div4">来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
                Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
    
                报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
                Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
    
                报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
                Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
    
                报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。来自意大利时尚之都米兰的地标建筑“垂直森林”来到了中国。据美媒boredpanda2月6日报道,“垂直森林之父”为斯特凡诺·博埃里(Stefano
                Boeri),而南京“垂直森林”项目为亚洲首座博埃里设计在建的“垂直森林”建筑。
    
                报道称,此项建筑将由656英尺(约200米)及354英尺(约108米)的双塔楼组成,外围覆盖至少1000棵树以及约2500棵灌木类植物。“垂直森林”每天可以消化二氧化碳,并释放132磅(约60千克)的氧气。
            </div>
        </div>
    </body>
    </html>
    
  • 相关阅读:
    GIT初探
    IIS7添加虚拟目录映射另一台服务器的共享文件夹
    The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
    asp.net编码解码的两篇文章
    生成网站时提示 已预编译此应用程序
    错误 1 无法将程序集“NBear.Data.dll”复制到文件“D: ewbpmpmSureBpmBinNBear.Data.dll”。无法将“D: ewbpmpmSureSoft.WebServiceBaseLibinDebugNBear.Data.dll”添加到网站。 无法添加文件“BinNBear.Data.dll”。 拒绝访问。 D:..
    从Script到Code Blocks、Code Behind到MVC、MVP、MVVM(转载)
    HTML form表单的默认提交方式
    webapp检测手机运动方向,可实现手机摇一摇功能的触发
    手机/P各种提示框整合,纯js实现,比前端大多数框架的提示消息更好用
  • 原文地址:https://www.cnblogs.com/ChoviWu/p/6376242.html
Copyright © 2011-2022 走看看