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

    cv党:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    #out{border: 1px solid black; 600px;overflow: hidden;}
    #inner{white-space: nowrap;font-size: 0;}
    #inner div{ 400px;height: 300px;display: inline-block;text-align: center;line-height: 300px;
    outline: 1px solid blueviolet;font-size: 30px;}
    #scrollout{ 600px;height: 20px;border: 1px solid black;}
    #scrollinner{height: 100%;background-color: chartreuse;border-radius:3px;margin-left: 0;}
    </style>
    </head>
    <body>
    <div id="out"><div id="inner">
    <div>0</div>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    </div></div>
    <div id="scrollout"><div id="scrollinner"></div></div>
    </body>
    </html>
    <script src="http://cdn.bootcss.com/jquery/1.12.1/jquery.js"></script>
    <script type="text/javascript">
    myScroll($("#out"),$("#inner"),$("#scrollinner"))
    function myScroll(mainout,maininner,scrollInner){
    function countwidth(){
    return maininner.children().length*maininner.children().eq(0).width()
    }
    var thewidth =countwidth() ////拖块的宽度计算
    scrollInner.width(mainout.width()* mainout.width()/thewidth);
    var ismove = false; ////查看鼠标是否按下
    var oldX /////记录初始位置
    scrollInner.mousedown(function(e){
    ismove = true
    oldX=parseInt(e.clientX)
    })
    $(document).mouseup(function(){
    ismove = false
    })
    $(document).mousemove(function(e){
    console.log(ismove);
    if(!ismove) return
    var newX=parseInt(e.clientX)
    var distance=newX-oldX;
    if(parseInt(scrollInner.css("margin-left"))<=0&&distance<0){ ////判断是否超出左边界
    return
    }
    if(distance>0&&parseInt(scrollInner.css("margin-left"))>= mainout.width()-scrollInner.width()){////判断是否超出右边界
    return
    }
    var marginLeft=parseInt(scrollInner.css("margin-left"))+ +distance
    marginLeft = marginLeft<0?0:marginLeft;//////超出左边
    marginLeft = (marginLeft> mainout.width()-scrollInner.width())? mainout.width()-scrollInner.width():marginLeft ////超出右边
    scrollInner.css("margin-left",marginLeft);
    maininner.css("margin-left",-marginLeft*thewidth/ mainout.width())
    oldX=newX
    })
    }

    </script>

  • 相关阅读:
    bzoj2683简单题 cdq分治
    bzoj3963[WF2011]MachineWorks cdq分治+斜率优化dp
    bzoj1767[Ceoi2009]harbingers 斜率优化dp
    bzoj2753[SCOI2012]滑雪与时间胶囊 最小生成树
    bzoj1492[NOI2007]货币兑换Cash cdq分治+斜率优化dp
    刷题总结——pole(uva 1638 dp)
    刷题总结——分配笔名(51nod1526 trie树)
    刷题总结——树有几多愁(51nod1673 虚树+状压dp+贪心)
    刷题总结——book of evil(codefoeces 337D)
    刷题总结——解方程(NOIP2014)
  • 原文地址:https://www.cnblogs.com/ccgdnf/p/5438895.html
Copyright © 2011-2022 走看看