最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)拖拽元素時(shí)與另一元素碰撞檢測

 更新時(shí)間:2020年08月27日 10:03:12   作者:aiguangyuan  
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)拖拽元素時(shí)與另一元素碰撞檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文給大家分享一個(gè)用原生JS實(shí)現(xiàn)拖拽元素時(shí)與另個(gè)一元素碰撞檢測的小Demo,效果如下:

實(shí)現(xiàn)代碼如下, 歡迎大家復(fù)制粘貼。

<!DOCTYPE html>
<html>
 
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>原生JS實(shí)現(xiàn)拖拽元素時(shí)與另個(gè)一元素碰撞檢測</title>
  <style>
    #div1 {
      width: 100px;
      height: 100px;
      background: red;
      position: absolute;
      z-index: 2;
    }
 
    #div2 {
      width: 100px;
      height: 100px;
      background: yellow;
      position: absolute;
      left: 230px;
      top: 220px;
      z-index: 1;
    }
  </style>
  <script>
    window.onload = function () {
      var oDiv = document.getElementById('div1');
      var oDiv2 = document.getElementById('div2');
      // 鼠標(biāo)按下時(shí)
      oDiv.onmousedown = function (ev) {
 
        var oEvent = ev || event;
        var disX = oEvent.clientX - oDiv.offsetLeft;
        var disY = oEvent.clientY - oDiv.offsetTop;
        // 鼠標(biāo)移動(dòng)時(shí)
        document.onmousemove = function (ev) {
 
          var oEvent = ev || event;
 
          oDiv.style.left = oEvent.clientX - disX + 'px';
          oDiv.style.top = oEvent.clientY - disY + 'px';
 
          var l1 = oDiv.offsetLeft;
          var r1 = oDiv.offsetLeft + oDiv.offsetWidth;
          var t1 = oDiv.offsetTop;
          var b1 = oDiv.offsetTop + oDiv.offsetHeight;
 
          var l2 = oDiv2.offsetLeft;
          var r2 = oDiv2.offsetLeft + oDiv2.offsetWidth;
          var t2 = oDiv2.offsetTop;
          var b2 = oDiv2.offsetTop + oDiv2.offsetHeight;
 
          // 碰撞檢測的規(guī)則
          if (r1 < l2 || l1 > r2 || b1 < t2 || t1 > b2) {
            // 如果沒有碰到
            oDiv2.style.background = 'yellow';
 
          } else {
            // 如果碰到了
            oDiv2.style.background = 'green';
          }
        };
        // 鼠標(biāo)抬起時(shí)
        document.onmouseup = function () {
 
          document.onmousemove = null;
          document.onmouseup = null;
        };
      };
    };
  </script>
</head>
 
<body>
  <div id="div1"></div>
  <div id="div2"></div>
</body>
 
</html>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。 

相關(guān)文章

  • javascript中for...of和for..in循環(huán)的區(qū)別

    javascript中for...of和for..in循環(huán)的區(qū)別

    JS中循環(huán)語句眾多,你是否也有用的時(shí)候突然不知道用哪個(gè)的經(jīng)歷,本文主要介紹了javascript中for...of和for..in循環(huán)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • JavaScript 數(shù)組遍歷的五種方法

    JavaScript 數(shù)組遍歷的五種方法

    這篇文章主要介紹了JavaScript 數(shù)組遍歷的五種方法,幫助大家更好的理解和學(xué)習(xí)使用JavaScript,感興趣的朋友可以了解下
    2021-03-03
  • antd?table長表格出現(xiàn)滾動(dòng)條的操作方法

    antd?table長表格出現(xiàn)滾動(dòng)條的操作方法

    這篇文章主要介紹了antd?table長表格如何出現(xiàn)滾動(dòng)條,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 深入淺出理解javaScript原型鏈

    深入淺出理解javaScript原型鏈

    這篇文章主要介紹了對(duì)javaScript原型鏈的理解,以實(shí)例形式對(duì)javaScript原型鏈的概念及相關(guān)使用技巧做了較為淺顯易懂的分析,需要的朋友可以參考下
    2015-05-05
  • js排序與重組的實(shí)例講解

    js排序與重組的實(shí)例講解

    下面小編就為大家?guī)硪黄猨s排序與重組的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • JavaScript檢查數(shù)據(jù)中是否存在相同的元素(兩種方法)

    JavaScript檢查數(shù)據(jù)中是否存在相同的元素(兩種方法)

    這篇文章主要介紹了JavaScript檢查數(shù)據(jù)中是否存在相同的元素(兩種方法),需要的朋友可以參考下
    2018-10-10
  • 使用PDFJS遇到的坑及解決辦法記錄

    使用PDFJS遇到的坑及解決辦法記錄

    PDF.js是由Mozilla支持的基于HTML5的PDF查看器,可以在web上解析和呈現(xiàn)PDF文件,它支持內(nèi)容檢索、頁面跳轉(zhuǎn)、文件打印等功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • js兩個(gè)數(shù)組合并去重的方法大全

    js兩個(gè)數(shù)組合并去重的方法大全

    這篇文章主要給大家介紹了關(guān)于js兩個(gè)數(shù)組合并去重的相關(guān)資料,日常開發(fā)中經(jīng)常會(huì)用到的JS數(shù)組去重,文中將每種方法都給出了代碼示例,需要的朋友可以參考下
    2023-09-09
  • 微信小程序?qū)崿F(xiàn)的點(diǎn)擊按鈕 彈出底部上拉菜單功能示例

    微信小程序?qū)崿F(xiàn)的點(diǎn)擊按鈕 彈出底部上拉菜單功能示例

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的點(diǎn)擊按鈕 彈出底部上拉菜單功能,結(jié)合實(shí)例形式分析了action-sheet組件及事件響應(yīng)簡單使用技巧,需要的朋友可以參考下
    2018-12-12
  • 使用Javascript接收get傳遞的值的代碼

    使用Javascript接收get傳遞的值的代碼

    用js獲取頁面值得仿佛,需要的朋友可以參考下。
    2011-11-11

最新評(píng)論

诸暨市| 商河县| 沂水县| 绩溪县| 于田县| 曲麻莱县| 闻喜县| 平山县| 湄潭县| 泗水县| 英吉沙县| 祁阳县| 两当县| 济源市| 基隆市| 麻城市| 拉孜县| 宁都县| 溆浦县| 清涧县| 隆子县| 汽车| 棋牌| 澎湖县| 麻阳| 马公市| 罗平县| 游戏| 松原市| 来安县| 武义县| 陵川县| 万山特区| 城步| 双江| 武威市| 伊宁市| 综艺| 巴青县| 来凤县| 曲阳县|