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

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)站制作
91九色国产在线视频| 亚洲国产精品福利在线| 国产日韩精品一区二区在线| 欧美精品久久91九色| 久久精品一本久久99精品| 亚洲综合欧美日韩一区| 玩弄丰满熟妇留守妇女| 精品国产乱码一区二区三区| 日韩亚洲欧美精品另类| 日韩网激情视频在线观看| 中文字幕丝袜精品久久| 91精品国产高清91久久久久久| 午夜看片国产操黑丝91网| 亚洲视频一直看一直爽| 在线国产丝袜自拍观看| 日韩a国产v亚洲欧美精品| 亚洲精品第一国产综合| av熟妇人妻一区二区三区| 欧美精品国产亚洲另类| 日韩一区二区亚洲精品| 日韩亚洲精品99综合观看| 一区二区三区在线观看美女视频| 免费啪啪视频一区二区| 少妇午夜福利一区二区| 久久精品国产亚洲av高清综合| 亚洲国际精品女人乱码| 欧美一级午夜欧美午夜视频| 麻豆亚洲av熟女国产| 亚洲人妻av一区二区三区| 国产一级二级三级大胆视频| 国产精品国产精品国产| 成人黄色暖暖韩日视频| 色伊人久久综合中文字幕| 亚洲一区二区视频精品| 午夜精品一区二区三区在线视频| 亚洲欧美日韩1区2区| 日本一区欧美二区精品| 欧美亚洲国产日韩在线高清| 色哟哟在线观看精品一区| 欧美亚洲午夜精品久久久| 日韩亚洲av一区二区|