欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

首先搭建好html結(jié)構(gòu)和css樣式

<div class="wrap">
 <div class="cover">

 </div>
</div>
* {
  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;
 }

注意:需要給大盒子和小盒子進(jìn)行定位:子絕父相

接下來就JavaScript代碼

<script>
 var wrap = document.querySelector(".wrap");
 var cover = document.querySelector(".cover");
 wrap.onmouseover = function() {
 cover.style.display = "block";
 wrap.onmousemove = function(e) {
  var e = e || window.event;
  var x1 = e.clientX;
  var y1 = e.clientY;
//這里獲取到的e.clientX和e.clientY,可以看情況和需求改為e.pageX和e.pageY  
  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
  }
  cover.style.left = l + "px";
  cover.style.top = t + "px"
 }
 }
 wrap.onmouseout = function() {
 cover.style.display = "none";
 }
</script>
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
   }

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

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

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

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

分享標(biāo)題:JavaScript實現(xiàn)拖拽效果
文章網(wǎng)址:http://aaarwkj.com/article12/gjddgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、域名注冊、定制網(wǎng)站、云服務(wù)器、虛擬主機、網(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)

外貿(mào)網(wǎng)站制作
国产亚洲精品一区在线| 国内久久婷婷综合五月趴| 午夜精品一区二区三区在线视频| 久久亚洲欧美国产精品观看| 国产成av人片乱码色午夜| 亚洲综合日韩丝袜人妻| 大胸妇女引诱老师在线观看| 美女性生活免费视频网站| 一区二区中文字幕日本韩国| 国产日韩亚洲欧美精品专区| av毛片天堂在线观看| 国产午夜福利av在线麻豆| 日韩免费毛片在线观看| 丝袜亚洲激情欧美日韩偷拍| 中文字幕黄色三级视频| 99精品热这里只有精品| 久久久久国产综合精品| 精品蜜臀国产av一区二区| 中午字幕久久亚洲精品| 国产欧美日韩综合激情| 久章草在线免费视频播放| 日韩高清不卡在线视频| 色综合久久婷婷色综合网| 国产欧美日韩精品三级| 岛国高清乱码中文字幕| 亚洲成av人天堂影院| 中文字幕人妻久久一区| 日韩不卡高清免费在线视频| 亚洲黄色艳情视频录像| 国产精品一级片免费看| 在线免费观看日本91| 岛国av有码高清在线观看| 色哟哟亚洲精品一区二区| 持续侵犯人妻中文字幕| 日韩精品中文字幕有码在线| 久久亚洲女同第一区综合| 欧美国产日本日韩在线黄| 国内精品自拍亚洲视频| 亚洲熟妇av乱码在线观看| 亚洲免费av第一区第二区| 日韩电影在线观看二区|