JS-拖拽元素放大缩小

效果左右布局,拖拽后,宽度放大缩小

其实自己写也可以,不过还是发现了两个好用的js库,既然不需要自己写,当然是能偷懒就偷懒
1、resizerjs

官网地址:https://github.com/eknowles/resizerjs

复制代码
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>拖拽</title>
  <style>
    [data-rz-handle] {
      flex: 0 0 6px;
      background-color: rgba(0, 0, 0, 0.9);
    }

    [data-rz-handle] div {
      width: 6px;
      background-color: rgba(0, 0, 0, 0.9);
    }
    .container {
      width: 1200px;
      height: 400px;
      display: flex;
    }
    .item {
      flex: 1;
    }
    .item1 {
      background-color: green;
    }
    .item2 {
      background-color: darkred;
    }
  </style>
</head>
<body>
<div class="container">
  <div class="item item1"></div>
  <div class="item item2"></div>
</div>
<script src="./resizerjs-master/dist/resizer.js"></script>
<script>
  const myResizer = new Resizer('.container');
</script>
</body>
</html>

resizerjs 体量小一共才100多行,代码简洁,很容易看懂,很适合比较简单的场景。

2、splitjs

官网地址:https://github.com/nathancahill/split/tree/master/packages/splitjs

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      display: flex;
    }
    #one {
      height: 400px;
      background-color: green;
    }
    #two {
      height: 400px;
      background-color: rebeccapurple;
    }
    #three {
      height: 400px;
      background-color: yellowgreen;
    }
  </style>
</head>
<body>
<div class="box">
  <div id="one">content one</div>
  <div id="two">content two</div>
  <div id="three">content three</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/split.js/1.6.0/split.min.js"></script>
<script>
  Split(['#one', '#two', '#three'], {
    sizes: [25, 25, 50],
    minSize: 200,
    onDragEnd: function (sizes) {
      console.log(sizes);
    }
  });
</script>
</body>
</html>
相关推荐
爱分享的程序猿-Clark38 分钟前
【前端分享】vue开发项目,如何实现 从A页面跳转到B页面,并传值!
前端·javascript·vue.js
冰暮流星1 小时前
javascript之String方法介绍
开发语言·javascript·ecmascript
Hilaku1 小时前
2026 年前端大洗牌:React 服务端到 Vite 的底层重构
前端·javascript·程序员
名字还没想好☜2 小时前
React setState 连续调用「丢更新」排查:批量更新与函数式更新
前端·javascript·react.js·react·usestate
come112342 小时前
Vue 2 与 Vue 3 语法区别及使用技巧
前端·javascript·vue.js
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
糖果店的幽灵2 小时前
langgraph的四种state解析
java·前端·javascript·langgraph
Allshadow3 小时前
Nest.js - 目录结构
javascript·nestjs
张元清3 小时前
React useCookie Hook:把 Cookie 变成响应式状态(2026)
javascript·react.js
Helen_cai3 小时前
OpenHarmony 项目统一全局样式、尺寸、色彩主题封装 ThemeUtil(API23)
开发语言·前端·javascript·华为·harmonyos