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

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://www.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| 少妇又色又爽又高潮欧美| 99久久成人国产精品免费| 欧美精品一区二区毛卡片| 久久久久精品激情三级| 九九视频666免费| 五月婷婷六月丁香俺来也| 国产日韩精品一区二区三区在线| 男人天堂av东京热伊人| 国产一级三级视频在线| 国产69精品久久一级| 久碰精品少妇中文字幕av| 伊人亚洲中文一区二区| 18禁的视频在线观看| 午夜视频在线看一区免费| 中文字幕人妻久久一区| 日本精品一区二区三区免费| 中文字幕人妻系列东京热| 狼人综合狼人综合网站| 日本不卡不二三区在线看| av一区二区中文字幕| 亚洲精品免费福利视频| 亚洲综合久久精品少妇av| 欧美黄片网站在线观看| 久久草福利视频在线观看| 亚洲精品国产精品粉嫩av| 色一区欧美一区亚洲一区| 欧美黄片视频在线免费看| 亚洲黄色av电影在线| 一级黄片一区二区三区| 国产欧美日韩一区二区三区不卡| 亚洲国产理论片在线观看| 天堂8在线最新版av| 91一区二区亚洲嫩草| 亚洲麻豆精品午夜免费| 夫妻性生活黄色录像视频| 日本中文字幕在线播放一区| 歪歪私人影院午夜毛片| 97门久欧美日韩久久| 男人的天堂成人午夜视频| 日本精彩视频一区二区|