真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript實現(xiàn)拖拽效果

要實現(xiàn)JavaScript的拖拽效果,首先我們需要知道事件對象幾個有關于實現(xiàn)拖拽效果的坐標

我們提供的服務有:成都網(wǎng)站設計、成都網(wǎng)站建設、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、甌海ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的甌海網(wǎng)站制作公司

獲取事件對象 var e = e || window.event;

根據(jù)需求需要用到的拖拽效果的坐標

clientX:鼠標點擊位置相對于瀏覽器可視區(qū)域的水平偏移量(不會計算水平滾動的距離)

clientY:鼠標點擊位置相對于瀏覽器可視區(qū)域的垂直偏移量(不會計算垂直滾動條的距離)

offsetX:鼠標點擊位置相對于觸發(fā)事件對象的水平距離

offsetY:鼠標點擊位置相對于觸發(fā)事件對象的垂直距離

pageX:鼠標點擊位置相對于網(wǎng)頁左上角的水平偏移量,也就是clientX加 上水平滾動條的距離

pageY:鼠標點擊位置相對于網(wǎng)頁左上角的垂直平偏移量,也就是clientY加上垂直滾動條的距離

offsetLeft:如果父元素中有定位的元素,那么就返回距離當前元素最近的定位元素邊緣的距離

offsetTop:如果父元素中沒有定位元素,那么就返回相對于body左邊緣距離

獲取元素自身大?。簅ffsetWidth和offsetHeight / clientWidth和clientHeight

offsetWidth和clientWidth的區(qū)別:就是offsetWidth包含邊框,clientWidth不包含邊框

實現(xiàn)拖拽需要用到:clientWidth、clientHeight、clientX、clientY、offsetLeft、offsetTop

首先搭建好html結構和css樣式

* {
  margin: 0;
  padding: 0;
 }
 
 .wrap {
  width: 500px;
  height: 500px;
  border: 1px solid deeppink;
  position: relative;
  margin: 50px auto;
 }
 
 .cover {
  width: 150px;
  height: 150px;
  background: rgba(200, 7, 99, 0.5);
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  cursor: move;
 }

注意:需要給大盒子和小盒子進行定位:子絕父相

接下來就JavaScript代碼

var halfWidth = cover.clientWidth / 2;
var halfHeight = cover.clientHeight / 2;
var wrapLeft = wrap.offsetLeft;
var wrapTop = wrap.offsetTop;
var l = x1 - wrapLeft - halfWidth;
var t = y1 - wrapTop - halfHeight;
//限制范圍
  if (l <= 0) {
    l = 0
   }
   if (l >= wrap.clientWidth - cover.clientWidth) {
    l = wrap.clientWidth - cover.clientWidth
   }
   if (t <= 0) {
    t = 0
   }
   if (t >= wrap.clientHeight - cover.clientHeight) {
    t = wrap.clientHeight - cover.clientHeight
   }

注意:這里要限制小盒子在大盒子之間移動的范圍,左上角的限制,當小盒子超出范圍時,將0賦值給l和t。右下角小盒子移動的范圍在大盒子寬度減去小盒子的寬度。
其中為了使鼠標一直處于小盒子(cover)的最中間,需要減去小盒子寬度的一半。
再減去大盒子距離頁面左邊的邊距和上邊的邊距就可以得到坐標

只要鼠標移入大盒子中,就能直接拖拽小盒子,并且鼠標一直處于小盒子的最中間。這樣便完成了簡單的拖拽效果。

JavaScript實現(xiàn)拖拽效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


本文題目:JavaScript實現(xiàn)拖拽效果
瀏覽路徑:http://weahome.cn/article/gjddgc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部