首页前端开发JavaScriptJavaScript实现鼠标拖拽调整div大小

JavaScript实现鼠标拖拽调整div大小

时间2024-02-01 01:27:03发布访客分类JavaScript浏览492
导读:收集整理的这篇文章主要介绍了JavaScript实现鼠标拖拽调整div大小,觉得挺不错的,现在分享给大家,也给大家做个参考。 本文实例为大家分享了JavaScript实现鼠标拖拽调整di...
收集整理的这篇文章主要介绍了JavaScript实现鼠标拖拽调整div大小,觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了JavaScript实现鼠标拖拽调整div大小的具体代码,供大家参考,具体内容如下

实现思路:

  • 根据鼠标位置改变鼠标样式
  • 当鼠标在div的边缘和四个角时显示不同的样式,通过cursor修改
  • 当鼠标在div的边缘和四个角按下时记录具体坐标点位置, 并开始根据鼠标的移动修改div的尺寸
  • 鼠标松开时结束尺寸修改

代码实现:

!DOCTYPE htML>
    html lang="en">
    head>
     meta charset="UTF-8">
     tITle>
    Title/title>
     style>
  body, html {
       width: 100%;
       height: 100%;
       margin: 0;
  }
  #container {
       width: 200px;
       height: 200px;
       padding: 15px;
       border: #00cdcd 2px solid;
       box-sizing: border-box;
  }
  .item {
       cursor: default;
       width: 100%;
       height: 100%;
       background: #757575;
  }
     /style>
    /head>
    body id="body">
    div id="container">
     div class="item">
    /div>
    /div>
    script>
 //需要调整尺寸的div let c = document.getElementById('container') // body监听移动事件 document.getElementById('body').addEventListener('mouSEMove', move) // 鼠标按下事件 c.addEventListener('mousedown', down) // 鼠标松开事件 document.getElementById('body').addEventListener('mouseup', up) // 是否开启尺寸修改 let resizeable = false // 鼠标按下时的坐标,并在修改尺寸时保存上一个鼠标的位置 let clientX, clientY // div可修改的最小宽高 let minW = 8, minH = 8 // 鼠标按下时的位置,使用n、s、w、e表示 let direc = '' // 鼠标松开时结束尺寸修改 function up() {
  resizeable = false }
 // 鼠标按下时开启尺寸修改 function down(e) {
  let d = getDirection(e)  // 当位置为四个边和四个角时才开启尺寸修改  if (d !== '') {
   resizeable = true   direc = d   clientX = e.clientX   clientY = e.clientY  }
 }
 // 鼠标移动事件 function move(e) {
      let d = getDirection(e)  let cursor  if (d === '') cursor = 'default';
      else cursor = d + '-resize';
      // 修改鼠标显示效果  c.style.cursor = cursor;
  // 当开启尺寸修改时,鼠标移动会修改div尺寸  if (resizeable) {
   // 鼠标按下的位置在右边,修改宽度   if (direc.indexOf('e') !== -1) {
    c.style.width = Math.max(minW, c.offsetWidth + (e.clientX - clientX)) + 'px'    clientX = e.clientX   }
   // 鼠标按下的位置在上部,修改高度   if (direc.indexOf('n') !== -1) {
    c.style.height = Math.max(minH, c.offsetHeight + (clientY - e.clientY)) + 'px'    clientY = e.clientY   }
   // 鼠标按下的位置在底部,修改高度   if (direc.indexOf('s') !== -1) {
    c.style.height = Math.max(minH, c.offsetHeight + (e.clientY - clientY)) + 'px'    clientY = e.clientY   }
   // 鼠标按下的位置在左边,修改宽度   if (direc.indexOf('w') !== -1) {
    c.style.width = Math.max(minW, c.offsetWidth + (clientX - e.clientX)) + 'px'    clientX = e.clientX   }
  }
 }
 // 获取鼠标所在div的位置 function getDirection(ev) {
      let xp, yP, offset, dir;
      dir = '';
      xP = ev.offsetX;
      yP = ev.offsetY;
      offset = 10;
      if (yP  offset) dir += 'n';
      else if (yP >
     c.offsetHeight - offset) dir += 's';
      if (xP  offset) dir += 'w';
      else if (xP >
     c.offsetWidth - offset) dir += 'e';
      return dir;
 }
    /script>
    /body>
    /html>
    

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • js实现鼠标拖拽div左右滑动
  • js实现鼠标拖拽缩放div实例代码
  • 使用javaScript实现鼠标拖拽事件
  • 鼠标拖拽移动子窗体的JS实现
  • js实现使用鼠标拖拽切换图片的方法
  • JS鼠标拖拽实例分析
  • javascript简单拖拽实现代码(鼠标事件 mousedown mousemove mouseup)
  • jsMind通过鼠标拖拽的方式调整节点位置
  • js实现鼠标拖拽多选功能示例
  • JS实现鼠标按下拖拽效果

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: 50行代码实现Webpack组件使用次数...下一篇:原生js实现星星闪烁效果猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: JavaScript实现鼠标拖拽调整div大小
本文地址: https://pptw.com/jishu/594739.html
c语言实现两个有序链表的合并(代码示例) c语言源程序结构是怎样的?

游客 回复需填写必要信息