自定义滚动条

<style>
#bar {height:600px; width:20px; background:#CCC; position:absolute;right:10px;}
#btn {width:20px; height:20px; background:red; position:absolute; left:0; top:0;}
#warp {width:800px; height:300px; border:1px solid black; overflow:hidden; position:relative;margin:0 auto;}
#cont {position:absolute; left:0; top:0; padding:4px;}
</style>

<div id="bar">
    <div id="btn"></div>
</div>
<div id="warp">
    <div id="cont">
    </div>
</div>

<script>
window.onload = function ()
{
    var oBar = document.getElementById('bar');
    var oBtn = document.getElementById('btn');
    var oWarp = document.getElementById('warp');
    var oCont = document.getElementById('cont');

    var disY = 0;

    if ( oBtn.setCapture ) {    
        oBtn.setCapture();   
    }
oBtn.onmousedown
= function(ev) { var oEv = ev || event; disY = oEv.clientY - oBtn.offsetTop; document.onmousemove = function(ev) { var oEvent = ev || event; var Top = oEvent.clientY - disY; if(Top < 0){ Top = 0; }else if(Top > oBar.offsetHeight - oBtn.offsetHeight){ Top = oBar.offsetHeight - oBtn.offsetHeight; } oBtn.style.top = Top + 'px'; var scale = Top / (oBar.offsetHeight - oBtn.offsetHeight); oCont.style.top = -scale * (oCont.offsetHeight - oWarp.offsetHeight) + 'px'; }; document.onmouseup = function() { document.onmousemove = null; document.onmouseup = null;
        if ( oBtn.releaseCapture ) {
                oBtn.releaseCapture();
            } };
return false; }; }; </script>

 

posted @ 2017-04-09 18:09  Booo  阅读(149)  评论(0编辑  收藏  举报