• 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery


    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
    <meta charset="utf-8">
    <title>分隔栏动态改变div大小—基于jQuery</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="renderer" content="webkit"/>
    <meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no"/>
    <meta name="author" content="wind"/>
    <meta name="robots" content="index,follow"/>
    <meta name="keywords" content=""/>
    <meta name="description" content=""/>

    <style>
    *{margin:0;padding:0;}
    ul,ol,li{list-style: none;}
    #hj_wrap{1200px;height: 250px;margin:10px auto;clear:both;border:1px solid red;overflow: hidden;}
    #hj_wrap div{200px;float: left;height: 250px;padding:10px;background: #0099EE;overflow: hidden;border:0px solid #0099ff;}
    #hj_wrap label{float: left; 10px;height: 250px;display:block;cursor: e-resize;}
    </style>
    </head>
    <body>
    <div id='hj_wrap'>
    <div>左</div>
    <label>1</label>
    <div>中</div>
    <label>2</label>
    <div>右</div>
    <label>3</label>
    <div>右1</div>
    <label>4</label>
    <div>右2</div>
    </div>


    <script src="jquery-1.8.0.min.js"></script>

    <script>
    $(function(){
    var leftOffset, inx, nextW2, nextW ,thisObject;
    var dragging = false;
    var doc = document;
    var labBtn = $("#hj_wrap").find('label');
    var wrapWidth = $("#hj_wrap").width();
    //定义一个对象
    function PointerObject(){
    this.el = null;
    this.grabx = null;
    this.left = null;
    this.pointerPosition =0;
    this.clickX =0;
    }

    labBtn.bind('mousedown',function(e){
    dragging = true;
    thisObject = new PointerObject();
    thisObject.el = this;
    thisObject.pointerPosition = $(this).offset().left;
    thisObject.clickX = e.pageX;
    }
    );

    doc.onmousemove = function(e){
    if (dragging) {
    if(thisObject != null){
    var changeDistance = 0;
    var nextWidth = $(thisObject.el).next().width();
    var prevWidth = $(thisObject.el).prev().width();
    if(thisObject.clickX>=e.pageX){
    //鼠标向左移动
    changeDistance = Number(thisObject.clickX)-Number(e.pageX);
    if($(thisObject.el).prev().width()-changeDistance<20){

    }else{
    $(thisObject.el).prev().width($(thisObject.el).prev().width()-changeDistance);
    $(thisObject.el).next().width($(thisObject.el).next().width()+changeDistance);
    thisObject.pointerPosition = (thisObject.pointerPosition - changeDistance);
    thisObject.clickX=e.pageX;
    $(thisObject.el).offset({left:e.pageX-2});
    }

    }else{
    //鼠标向右移动
    changeDistance = Number(e.pageX)-Number(thisObject.clickX);
    if($(thisObject.el).next().width()-changeDistance<20){

    }else{
    $(thisObject.el).prev().width($(thisObject.el).prev().width()+changeDistance);
    $(thisObject.el).next().width($(thisObject.el).next().width()-changeDistance);
    thisObject.pointerPosition = (thisObject.pointerPosition + changeDistance);
    thisObject.clickX=e.pageX;
    $(thisObject.el).offset({left:e.pageX-2});
    }
    }
    }
    }
    };

    $(doc).mouseup(function(e) {
    if (thisObject != null) {
    thisObject = null;
    }
    dragging = false;
    e.cancelBubble = true;
    })
    })
    </script>
    </div>
    </body>
    </html>

  • 相关阅读:
    闭包
    内置函数
    595926265989859
    C错题集锦
    C中改变指针的指向
    /dev/zero
    define的高级用法
    (转)Linux ./configure --prefix命令
    (转)linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解
    内核驱动模块的Makefile模板
  • 原文地址:https://www.cnblogs.com/herd/p/5996267.html
Copyright © 2020-2023  润新知