中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用angular怎么實現一個拖拽功能

發布時間:2021-04-12 17:00:57 來源:億速云 閱讀:363 作者:Leah 欄目:web開發

使用angular怎么實現一個拖拽功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

<!DOCTYPE html>
<html ng-app="myApp">
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      #box{
        width: 100px;
        height: 100px;
        background: black;
        /*一定要給當前元素設置絕對定位*/
        position: absolute;
        left: 0;
        top: 0;
      }
    </style>
  </head>
  <body>
    <div id="box" my-drag></div>
  </body>
    <script src="jquery-3.1.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/angular.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
//     自定義一個模塊
      var app = angular.module("myApp",[]);
//     自定義指令 自定義指令時一定要使用駝峰命名法
      app.directive('myDrag',function(){
//       返回一個函數
        return{
          link : function(scope,element,attr){
//           scope可以接收到的數據
//           element 當前的元素
//           attr屬性
 
//           拖拽的三大事件mousedown,mousemove,mouseup.使用jq綁定事件的方法進行綁定
            element.on('mousedown',function(ev){
//             通過event獲取到當前對象
              var This = $(this);
//             獲取到鼠標離當前元素上邊框的距離
              var disX = ev.clientX - $(this).offset().left;
//             獲取到元素距離左邊框的距離 
//             因為在拖拽的過程中不變的是鼠標距離元素邊框的距離 通過不變和已知求變量
              var disY = ev.clientY - $(this).offset().top;
              $(document).on('mousemove',function(ev){
//               將所改變的值通過樣式設置給當前元素
                This.css({
                  left:ev.clientX - disX,
                  top:ev.clientY - disY,
                });
              });
              $(document).on('mouseup',function(){
//               鼠標松開時關閉所有事件
                $(document).off();
              })
            })
          },
          restrict:'A', //ECMA    E元素 C類名 M注釋 A屬性
        };
      });
    </script>
</html>

看完上述內容,你們掌握使用angular怎么實現一個拖拽功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

犍为县| 神池县| 信丰县| 蕲春县| 红安县| 望奎县| 普格县| 浏阳市| 武邑县| 封丘县| 若羌县| 福鼎市| 巴青县| 霸州市| 奉节县| 阿拉尔市| 石狮市| 呈贡县| 河津市| 益阳市| 绿春县| 延安市| 康保县| 凉城县| 建宁县| 阳曲县| 靖边县| 江口县| 新丰县| 光泽县| 新绛县| 静宁县| 恩施市| 海林市| 锦屏县| 大余县| 临夏市| 长岛县| 西盟| 南乐县| 区。|