jquery左右拖动改变div宽度

news/2024/7/11 1:58:59 标签: jquery, 前端, javascript

直接看代码吧

<html>
	<head>
		<title>拖动调整左右两侧div的宽度</title>
		<style>
			#container {
				display: flex;
				height: 400px;
				width: 100%;
			}

			#left,
			#right {
				/* flex: 1; */
				width: 50%;
			}

			#left {
				background-color: #ff0000;
			}

			#right {
				background-color: #00ff00;
			}

			#handle {
				position: absolute;
				top: 0;
				width: 5px;
				height: 100%;
				background-color: #0000ff;
				cursor: col-resize;
			}
		</style>
	</head>
	<body>
		<div id="container">
			<div id="left"></div>
			<div id="right"></div>
		</div>
	</body>
	<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
	<script>
		$(document).ready(function() {
			var container = $("#container");
			var left = $("#left");
			var right = $("#right");
			var handle = $("<div id='handle'></div>");
			var width = $(window).width();
			// 添加拖动句柄
			container.append(handle);

			// 设置拖动句柄的初始位置
			handle.css("left", left.outerWidth());

			// 绑定拖动事件
			handle.on("mousedown", function(e) {
				e.preventDefault();
				console.log("research=== 111")

				// 记录鼠标初始位置和左侧div的宽度
				var startX = e.pageX;
				var initialLeftWidth = left.outerWidth();

				// 绑定鼠标移动事件
				$(document).on("mousemove", function(e) {
					e.preventDefault();
					// 计算鼠标移动距离
					var moveX = e.pageX - startX;
					console.log("mousemove width:", width)
					console.log("mousemove left:", left)
					console.log("mousemove moveX:", moveX)
					console.log("mousemove initialLeftWidth:", initialLeftWidth)
					// 更新左侧div和拖动句柄的宽度
					left.width(initialLeftWidth + moveX);
					right.width(width-initialLeftWidth- moveX);
					left.css('width', initialLeftWidth + moveX)
					handle.css("left", left.outerWidth());
				});

				// 绑定鼠标释放事件
				$(document).on("mouseup", function() {
					$(document).off("mousemove");
					$(document).off("mouseup");
				});
			});
		});
	</script>
</html>


http://www.niftyadmin.cn/n/5156204.html

相关文章

双十一运动健身好物推荐,这几款健身好物一定不要错过!

双十一购物狂欢节又要到了&#xff0c;又要到买买买的时候了&#xff01;相信有很多想健身的小白还在发愁不知道买啥装备&#xff1f;别急&#xff0c;三年健身达人这就给你们分享我的年度健身好物&#xff01; 第一款&#xff1a;南卡Runner Pro4s骨传导耳机 推荐理由&#…

【正则表达式】中的“\b“

正则表达式是一种用于匹配字符串的强大工具&#xff0c;它可以用于各种编程语言中&#xff0c;可以用来在文本中查找、替换或验证符合某种规则的内容。 正则表达式中有很多特殊的符号&#xff0c;称为元字符&#xff0c;它们有着特殊的含义和作用。其中&#xff0c;“\b” 是其…

CMake重要指令常用变量

什么是CMake? 没有使用CMake和使用CMake构建的区别&#xff1f; CMake的基本语法 语法格式&#xff1a; 指令(参数1 参数2...)赋值操作 如 把hello.cpp 赋值给变量HELLO set(HELLO hello.cpp)取变量的值&#xff1a; ${HELLO}但在if控制语句中是直接使用变量名。 if(HEL…

收银系统费率哪家低

收银软件能帮助店铺管好货和账&#xff0c;受到不少店家的喜爱。 如果只是为了收钱&#xff0c;直接微信或者支付宝就好了&#xff0c;但是如果要管理商品、销售&#xff0c;那就需要上一个收银软件&#xff0c;谁做生意不是为了赚点钱&#xff0c;不能开源只能节流了。 上线收…

【Hive】内部表(Managed Table)和外部表(External Table)相关知识点

在Hive中,有两种类型的表:外部表(External Table)和内部表(Managed Table)。它们在数据存储和管理方式上存在一些重要的区别。 本文就来对这些知识做一个总结。 1、如何在hive中创建内部表和外部表? 2、内部表和外部表的一些区别。 3、怎么查看一个表是内部表还是外部表…

JTS: 15 Angle 角度计算

这里写目录标题 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 package pers.stu.algorithm;import org.locationtech.jts.algorithm.Angle; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; imp…

配件管理系统软件哪家好?如何优化企业设备管理,提高运营效率?

随着企业运营的日益复杂化&#xff0c;设备的维修维护与管理已成为企业生产运营中的重要环节。在这个过程中&#xff0c;配件的管理往往成为一项极具挑战性的任务。如何有效地管理备用的配件&#xff0c;缩短维修的时间&#xff0c;同时防止库存积压&#xff0c;是许多企业目前…

请求服务器数据API

请求服务器数据API 一、简介二、wx.request(object)三、HTTP域名的服务器配置 一、简介 用来请求服务器数据发起的是HTTPS请求&#xff0c;同时它需要在微信公众平台配置HTTPS服务器域名,一个月可申请三次修改&#xff0c;否则无法使用wx.request请求服务器数据。WebSocket会话…