This article shares the specific code of Vue to realize the draggable height of div for your reference. The specific content is as follows Here is a ready-made demo that can realize the dragging function of the page div, but the effect is not quite the same as what I want, so I modified it again according to my actual needs. Let’s take a look at the current demo effect first. <template> <div id="eagleMapContainer" style="border: 1px solid red;overflow-y: auto;" title=""> <div id="tz" @mousedown="dragEagle" style="border: 1px solid blue;"> <div title="Drag to resize" id="move_tz" style="border: 1px solid green;"></div> </div> </div> </template> <script> export default { name: "eagleMap", data() { return {} }, methods: { dragEagle: function (e) { var targetDiv = document.getElementById('eagleMapContainer'); //Get the width and height of the map container when clicked: var targetDivHeight = targetDiv.offsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = this; document.onmousemove = function (e) { e.preventDefault(); //Get the width and height of the mouse drag: take the absolute value var distX = Math.abs(e.clientX - startX); var distY = Math.abs(e.clientY - startY); //Drag upwards: if (e.clientY < startY) { targetDiv.style.height = targetDivHeight + distY + 'px'; } //Drag downwards: if (e.clientX < startX && e.clientY > startY) { targetDiv.style.height = (targetDivHeight - distY) + 'px'; } if (parseInt(targetDiv.style.height) >= 300) { targetDiv.style.height = 300 + 'px'; } if (parseInt(targetDiv.style.height) <= 150) { targetDiv.style.height = 150 + 'px'; } } document.onmouseup = function () { document.onmousemove = null; } } }, }; </script> <style scoped> #eagleMapContainer { position: absolute; left: 13%; bottom: 10px; z-index: 200; overflow: hidden; visibility: visible; width: 200px; height: 200px; } #tz { position: absolute; right: 1px; top: 1px; width: 27px; height: 20px; cursor:ne-resize; z-index: 200001; background-image: url(""); } #tz:hover { background-color: #666; } #move_tz { position: absolute; right: 0px; top: 0px; width: 27px; height: 20px; cursor:ne-resize; z-index: 100; background-image: url(""); background-position: 0px 0px; } </style> But the effect was not quite what I wanted, so I had to modify it a little bit. The effect I want is: I have a div that contains a lot of small square lists. Because the scrolling is set beyond the limit, I add a drag to the div with the scroll bar to achieve height change. The next step is to transform the demo above. To make it simple, just go to the code: Add a div below the div that needs to be dragged above, and click on this div to start the dragging function. <!-- Drag and drop small box --> <div id="tz" @mousedown="dragEagle"> <div title="Drag to resize" id="move_tz"></div> </div> You need to set an id for the div that changes its height based on dragging, assuming it is "fuDiv", and then write a method. // dragEagle(e) { var targetDiv = document.getElementById('fuDiv'); //Get the width and height of the map container when clicked: var targetDivHeight = targetDiv.offsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = this; document.onmousemove = function (e) { e.preventDefault(); //Get the width and height of the mouse drag: take the absolute value var distY = Math.abs(e.clientY - startY); //Drag upwards: if (e.clientY < startY) { targetDiv.style.height = targetDivHeight - distY + 'px'; } //Drag downwards: if (e.clientX < startX && e.clientY > startY) { targetDiv.style.height = (targetDivHeight + distY) + 'px'; } if (parseInt(targetDiv.style.height) >= 320) { targetDiv.style.height = 320 + 'px'; } if (parseInt(targetDiv.style.height) <= 160) { targetDiv.style.height = 160 + 'px'; } } document.onmouseup = function () { document.onmousemove = null; } }, Then set the CSS style for them. In fact, this part is casual and can be done according to your own preferences. #tz { width: 100%; height: 5px; cursor: s-resize; z-index: 200001; } #move_tz { width: 100%; height: 5px; cursor: s-resize; z-index: 100; background-image: url(""); background-position: 0px 0px; } Final result: The effect is not particularly good, and there are still many areas that deserve optimization, which I will not write for now. The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: About the VMware vcenter unauthorized arbitrary file upload vulnerability (CVE-2021-21972)
>>: Web page HTML code explanation: ordered list and unordered list
Table of contents 1. Analyzing MySQL from a macro...
To deploy war with Docker, you must use a contain...
The detailed process of configuring the MySQL dat...
Hello everyone, today we are going to learn about...
This article mainly introduces the sample code of...
Table of contents Preface Background data splicin...
It is very important to monitor the operating sta...
What is HTTP? When we want to browse a website, w...
1. Environmental Preparation 1.MySQL installation...
Table of contents 1. Install the required environ...
Table of contents Preface How to use Summarize Pr...
1. Inline style, placed in <body></body&g...
This article shares with you the installation and...
This article shares the specific code for React t...
This article shares the installation tutorial of ...