• jquery横向滚动条


    此代码献给wendy

    由于工作太忙,下次再整理成插件调用,先记录下来,欢迎同学们提意见。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>jQuery 模拟横向滚动条</title>
    
    <script type="text/javascript" src="http://mat1.gtimg.com/www/js/tcomment/jquery-1.6.2.min.js"></script>
    <style>
    
    /* 主体 */
    #lk_scrollBox {width:600px; height:320px; border:1px solid black; position:relative; overflow:hidden;  }
    /* 滚动条 */
    #lk_scrollbar {width:560px; height:20px; background:#CCC;  position: absolute; left:20px; bottom:0;}
    #lk_handle {width:20px; height:20px; background:red; position:absolute; cursor:pointer;left:0px}
    /* 内容区 */
    #lk_scrollInner { width:600px; height:320px; overflow:hidden; padding-bottom:20px;overflow-y:hidden;overflow-x:scroll}
    #lk_scrollInner #lk_content{ width:1800px;}
    #lk_scrollInner #lk_content div{ }
    /* 开始、结束按钮 */
    #lk_begin{ position:absolute; height:20px; width:20px; background:#666; left:-20px;}
    #lk_end{ position:absolute; height:20px; width:20px; background:#666; right:-20px;}
    
    
    
    table{ width:100%; border:2px solid #CCC }
    table td{ border:1px solid #ccc; padding:10px}
    
    
    </style>
    </head>
    <body>
    
    
    <div id='lk_scrollBox'>
        
        <div id="lk_scrollInner">
            <div id="lk_content">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                </tr>
                <tr>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                    <td>aaa</td>
                </tr>
            </table>
          </div>
        </div>
        
        <div id="lk_scrollbar">
            <div id="lk_begin"></div>
            <div id="lk_handle"></div>
            <div id="lk_end"></div>
        </div>
    
    </div>
    
    
     <script type="text/javascript">
     //20131114 link by
     
     jQuery(function(){
                                    
        oParent=$('#lk_scrollbar');
        oDiv1 = $('#lk_handle');
        oDiv2 = $('#lk_scrollBox');
        oDiv3 = $('#lk_scrollInner');
        $begin = $('#lk_begin');
        $end = $('#lk_end');
        
        oDiv1.width(30);
        setTimeout(function(){
            reScrollBox()
        },1000)
        //
        reScrollBox=function (){
            maxW = oDiv3[0].scrollWidth;
            minW =oDiv2.width();
            scale = minW/maxW;
            oDiv1.width(oParent.width()*scale+30);
            
        }
        //拖动事件方法
        function moveDownSlide(l){
            if(l<0){
                l=0;
            }else if(l > oParent.width()-oDiv1.width()){
                l=oParent.width()-oDiv1.width();
            }
            oDiv1.css('left',l);
            var scale=l/(oParent.width()-oDiv1.width());
            oDiv3.scrollLeft((oDiv3[0].scrollWidth-oDiv2.width())*scale);
            
        }
    
        //鼠标滚轮事件
        oDiv3.bind('scroll',function(){
            var scale=(oDiv3[0].scrollWidth-oDiv2.width())/(oParent.width()-oDiv1.width());
            var t = $(this).scrollLeft()/scale;
            oDiv1.css('left',t)
            
        });
        //鼠标拖动事件
        oDiv1[0].onmousedown=function (ev){
            ev=ev||window.event;
            var disX=ev.clientX - oDiv1.position().left;
    
            document.onmousemove=function (ev){
                ev=ev||window.event;
                var l=ev.clientX-disX;
                moveDownSlide(l);
            };
            document.onmouseup=function (){
                document.onmousemove=null;
                document.onmouseup=null;
            };
            $(document).bind('selectstart',function(ev){  // 防止页面内容被选中 IE 
                return false;
            });
        };
        //键盘上下事件
        $(window).keydown(function(ev){
            
            var sLeft = oDiv3.scrollLeft();
            var maxW = oDiv3[0].scrollWidth - oDiv3.width();
            
            switch(ev.keyCode) {
                case 37:
                        funLeft(sLeft - 50 > 0 ? sLeft - 50 : 0);
                        break;
                case 39:
                        funLeft(sLeft + 50 < maxW ? sLeft + 50 : maxW);
                        break;
            }
            function funLeft(sLeft){
                oDiv3.scrollLeft(sLeft)
                var t = oDiv3.scrollLeft()*scale;
                var maxT = oParent.width() - oDiv1.width();
                oDiv1.css('left',(t < maxT ? t : maxT) );
                
            }
            
        })
        $begin.click(function(){
            
            moveDownSlide(0);
            
        })
        $end.click(function(){
            
            moveDownSlide(1000);//1000为大于宽度的值
            
        })
     });
     
     
    </script>
            
    
    </body>
    </html>
    cssfirefly http://cssfirefly.cnblogs.com
  • 相关阅读:
    linux /usr/bin/ld: cannot find -lxxx
    chm手册显示已取消到该网页的导航
    安装 composer SSL operation failed with code 1
    protoc-gen-php --php_out: protoc-gen-php: Plugin output is unparseable.
    Lamp 安装(CentOS6.6, php-5.4.39, httpd-2.4.12, mysql-5.6.24)
    SUSE Linux Enterprise Server 11 软件源
    vmware 下linux 共享文件夹消失
    thrift 安装历程
    隐藏apache服务器信息
    固定总金额、还款天数、还款次数,计算每日每次的还款金额
  • 原文地址:https://www.cnblogs.com/cssfirefly/p/3423538.html
Copyright © 2020-2023  润新知