成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

利用JavaScript怎么實現(xiàn)一個拖拽鼠標(biāo)調(diào)整div大小的功能-創(chuàng)新互聯(lián)

本篇文章為大家展示了利用JavaScript怎么實現(xiàn)一個拖拽鼠標(biāo)調(diào)整div大小的功能,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)專注于七星企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都做商城網(wǎng)站。七星網(wǎng)站建設(shè)公司,為七星等地區(qū)提供建站服務(wù)。全流程按需制作網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

Java的特點有哪些

Java的特點有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨立與可移植性、動態(tài)性等特點。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

實現(xiàn)思路:


  • 根據(jù)鼠標(biāo)位置改變鼠標(biāo)樣式

  • 當(dāng)鼠標(biāo)在div的邊緣和四個角時顯示不同的樣式,通過cursor修改

  • 當(dāng)鼠標(biāo)在div的邊緣和四個角按下時記錄具體坐標(biāo)點位置, 并開始根據(jù)鼠標(biāo)的移動修改div的尺寸

  • 鼠標(biāo)松開時結(jié)束尺寸修改


代碼實現(xiàn):

<!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>
 //需要調(diào)整尺寸的div
 let c = document.getElementById('container')
 // body監(jiān)聽移動事件
 document.getElementById('body').addEventListener('mousemove', move)
 // 鼠標(biāo)按下事件
 c.addEventListener('mousedown', down)
 // 鼠標(biāo)松開事件
 document.getElementById('body').addEventListener('mouseup', up)

 // 是否開啟尺寸修改
 let resizeable = false
 // 鼠標(biāo)按下時的坐標(biāo),并在修改尺寸時保存上一個鼠標(biāo)的位置
 let clientX, clientY
 // div可修改的最小寬高
 let minW = 8, minH = 8
 // 鼠標(biāo)按下時的位置,使用n、s、w、e表示
 let direc = ''

 // 鼠標(biāo)松開時結(jié)束尺寸修改
 function up() {
  resizeable = false
 }

 // 鼠標(biāo)按下時開啟尺寸修改
 function down(e) {
  let d = getDirection(e)
  // 當(dāng)位置為四個邊和四個角時才開啟尺寸修改
  if (d !== '') {
   resizeable = true
   direc = d
   clientX = e.clientX
   clientY = e.clientY
  }
 }

 // 鼠標(biāo)移動事件
 function move(e) {
  let d = getDirection(e)
  let cursor
  if (d === '') cursor = 'default';
  else cursor = d + '-resize';
  // 修改鼠標(biāo)顯示效果
  c.style.cursor = cursor;
  // 當(dāng)開啟尺寸修改時,鼠標(biāo)移動會修改div尺寸
  if (resizeable) {
   // 鼠標(biāo)按下的位置在右邊,修改寬度
   if (direc.indexOf('e') !== -1) {
    c.style.width = Math.max(minW, c.offsetWidth + (e.clientX - clientX)) + 'px'
    clientX = e.clientX
   }

   // 鼠標(biāo)按下的位置在上部,修改高度
   if (direc.indexOf('n') !== -1) {
    c.style.height = Math.max(minH, c.offsetHeight + (clientY - e.clientY)) + 'px'
    clientY = e.clientY
   }
   // 鼠標(biāo)按下的位置在底部,修改高度
   if (direc.indexOf('s') !== -1) {
    c.style.height = Math.max(minH, c.offsetHeight + (e.clientY - clientY)) + 'px'
    clientY = e.clientY
   }

   // 鼠標(biāo)按下的位置在左邊,修改寬度
   if (direc.indexOf('w') !== -1) {
    c.style.width = Math.max(minW, c.offsetWidth + (clientX - e.clientX)) + 'px'
    clientX = e.clientX
   }

  }
 }

 // 獲取鼠標(biāo)所在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>

上述內(nèi)容就是利用JavaScript怎么實現(xiàn)一個拖拽鼠標(biāo)調(diào)整div大小的功能,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章名稱:利用JavaScript怎么實現(xiàn)一個拖拽鼠標(biāo)調(diào)整div大小的功能-創(chuàng)新互聯(lián)
分享地址:http://jinyejixie.com/article10/jsjgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、定制開發(fā)、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
乡宁县| 太保市| 梅河口市| 扎赉特旗| 兰考县| 海丰县| 繁峙县| 于田县| 临邑县| 东乌珠穆沁旗| 乌苏市| 五莲县| 抚松县| 东兴市| 连江县| 扶沟县| 中卫市| 阿瓦提县| 许昌县| 象州县| 盐津县| 墨玉县| 凤山市| 巩留县| 桑日县| 六盘水市| 勐海县| 台东市| 江川县| 青铜峡市| 青龙| 韶关市| 永新县| 闸北区| 绥芬河市| 乾安县| 西乡县| 宾阳县| 吴江市| 宁南县| 万安县|