美文网首页
2列布局, 拖动改变宽度

2列布局, 拖动改变宽度

作者: yisky | 来源:发表于2016-11-10 17:34 被阅读509次

最终效果

代码:

html:

<body>
        <section id="layoutcontent" class="ui grid">
            <div class="ui ten wide column">
                <div class="ui-header">
                        <h3 class="modal-title">项目组织架构模版</h3>
                    </div>
                <br /><br /><br />
            </div>
            <div id="layoutSep" class="ui layout_sep">
            </div>
            <div class="ui six wide column">
                <div class="ui-header">
                        <h3 data-bind="text:titleMsg" class="modal-title">公司组织架构</h3>
                    </div>
                <div class="ui list"></div>
            </div>
        </section>
    </body>

js

$(document).ready(function() {
    //拖拽改变列宽
    layoutSep('layoutSep');
});
//需要配合resize使用....否则拖拽了后, 会把百分比宽度改成000px宽度.如果用户改变窗口大小...会把布局挤破...
$(window).resize(function() {
    var ns = $('.ui .ten');
    var ps = $('.ui .six');
    if($($("section")[0]).width() < 550) {
        ns.css('width', '60.5%');
        ps.css('width', '32.5%');
    } else {

        ns.css('width', '62.5%');
        ps.css('width', '34.5%');
    }
});

function layoutSep(id) {
    var x = 0;
    var s = $("#" + id);
    var ns = s.next();
    var ps = s.prev();
    s.mousedown(function(ev) {
        s.data('is_dragging', true);
        x = ev.pageX;
        document.onmousemove = function(e) {
            if(s.data('is_dragging')) {
                var movex = e.pageX - x;
                x = e.pageX;
                ps.width(ps.width() + movex);
                ns.width(ns.width() - movex);
                return false;
            }
        }
        document.onmouseup = function() {
            s.data('is_dragging', false);
            document.onmouseup = document.onmousemove = null;
        }
        return false;
    })

}

相关文章

  • 2列布局, 拖动改变宽度

    最终效果 代码: html: js

  • 拖动元素边框 改变元素宽度

    vue中 拖动元素边框 改变元素宽度先上效果图: 如图所示,通过拖动来改变表单的宽度。但实际上,这边并不是表单的边...

  • 从SplitPane组件中谈Vue中如何 "操作" DOM

    简单两列布局 如何让两个div改变宽度 定义style为属性,然后再计算属性中修改它的值 鼠标拖动效果

  • 如何实现双列布局和三列布局

    1、双列布局(拖动窗口时,窗口左边不动,右边自适应):左边宽度固定,右边自适应 2、三列布局(两边不动中间动):两...

  • 圣杯布局三步曲

    前言 所谓的圣杯布局,就是三列布局中,左右两列宽度固定,中间一列的宽度跟随浏览器的宽度的改变而改变。其实现在已经有...

  • 鼠标拖动改变DOM高度/宽度

    web前端开发中,通过鼠标的拖动改变控件高度和宽度的做法有多种。我以前使用的方法是:为控件添加mousemove事...

  • 【前端】05 - 移动web开发之rem布局

    文字大小随屏幕大小的改变而改变?流式布局和flex布局主要针对宽度布局,那高度如何设置?怎么样让屏幕发生改变的时候...

  • FLEX弹性布局

    FLEX布局:弹性布局; 弹性布局是为了让容器有能力改变项目的宽度和高度,以填满可用空间, 注意,设为Flex布局...

  • FLEX弹性布局

    FLEX布局:弹性布局; 弹性布局是为了让容器有能力改变项目的宽度和高度,以填满可用空间, 注意,设为Flex布局...

  • mousemove遇到iframe丢失监听绑定的document

    最近在写一个可拖动div边框改变宽度的功能, div内嵌iframe,当鼠标mousemove监听到div边界时,...

网友评论

      本文标题:2列布局, 拖动改变宽度

      本文链接:https://www.haomeiwen.com/subject/odexpttx.html