• 拖拽修改宽度


    <div className={styles.content}>
          <Row>
              <Col id="left" style={{ position: 'absolute', height: '100%',  `${this.state.width}px` }}>
                  <div/> // 这里写内容
                  <div className={styles.dropLine} onMouseDown={this.handleMouseDown} /> 左侧线
             </Col>
                <Col className={styles.right} style={{ marginLeft: `${this.state.width}px` }}>
                  <div /> // 右边内容
               </Col>
            </Row>
    </div>
     
    handleMouseDown = () => {
        document.ondragstart = (e) => {
          e.preventDefault();
        };
        document.ondragend = (e) => {
          e.preventDefault();
        };
        document.onmousemove = (ev) => {
          const ele = document.getElementById('left');
          const eve = ev || window.event;
          const left = this.getOffsetPosition(ele);
          const width = eve.clientX - left;
          if (width >= 244 && width < 800) {
            this.setState({
              width,
            });
          }
          document.onmouseup = () => {
            document.onmousemove = null;
            document.onmousedown = null;
          };
        };
      }

      getOffsetPosition = (ele, x) => {
        const left = x || 0;
        if (ele.offsetParent != null) {
          return this.getOffsetPosition(ele.offsetParent, ele.offsetLeft + left);
        }
        return left;
      }
     
    .dropLine {
        background: #e0e0e0;
         1px;
        min-height: calc(~"100vh - 70px");
        height: 100%;
        top: 0px;
        z-Index: 0;
        right: 0px;
        cursor: w-resize;
        position: absolute;
    }
    .dropLine::after {
        position: absolute;
        left: -6px;
        top: 0px;
        height: 100%;
         14px;
        content: '';
        display: block;
    }
  • 相关阅读:
    CSS 样式书写规范
    css等比例分割父级容器(完美三等分)
    右上角标的效果
    webstorm 激活破解方法大全
    ios开关按钮
    javascript功能封装
    Ajax 跨域
    javascript常用实例的实现与封装
    使用CSS完成元素居中的七种方法
    美化加载失败的图片
  • 原文地址:https://www.cnblogs.com/hamili/p/12018047.html
Copyright © 2020-2023  润新知