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

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一区三区| 人人妻人人澡人人爽人人dvd| 最新中文字幕人妻少妇| 91欧美日韩精品在线| 国产精品国产亚洲精品看不| 黄色片一区二区三区四区| 日本女人体内射精视频| 国产精品一区二区综合亚洲| 午夜福利网午夜福利网| 国产美女精品一区二区三区| 日韩电影一区二区在线观看中文字幕| 毛茸茸的阴户在线观看| 国内一级片内射免费视频观看| 国产自偷一区二区三区| 亚洲六月丁香六月婷婷| 最新手机免费黄色av网站| 成人爱爱免费观看视频| 久久产精品一区二区三区日韩| 欧美成人精品免费在线| 国产av无毛一区二区三区| 在线成人免费日韩视频| 欧美日韩精品国产精品| 婷婷色精品一区二区激情| av中文字幕啊嗯不要| 成人免费在线国产视频| 香蕉夜夜草草久久亚洲香蕉| 国产在线观看国产精品| 色哟哟网站之中文字幕| 成年人午夜在线观看网址| 日本少妇人妻中文字幕| 日本色小姐美国青青草原| 18岁下禁止看的视频| 亚洲成人黄色片在线观看| 精品人妻一区二区三区| 欧美精品在线观看不卡一区| 色噜噜男人的天堂av| 二区三区成人在线观看| 看夫妻性生活免费视频| 人人妻人人澡人人爽人人老司机|