angularjs建立彈出框實現拖動效果_AngularJS

來源:互聯網
上載者:User

本文執行個體介紹了angularjs建立彈出框實現拖動效果的相關代碼,項目中需要將angular-ui-bootstrap中用到的彈出框,使之可拖動,分享給大家供大家參考,具體內容如下

運行效果圖:

由於源檔案中沒有實現,需要自己實現指令,以下即為該指令,親測可以實現。

.directive('draggable', ['$document', function($document) {        return function(scope, element, attr) {        var startX = 0, startY = 0, x = 0, y = 0;        element= angular.element(document.getElementsByClassName("modal-dialog"));         element.css({          position: 'relative',          cursor: 'move'        });        element.on('mousedown', function(event) {          // Prevent default dragging of selected content          event.preventDefault();          startX = event.pageX - x;          startY = event.pageY - y;          $document.on('mousemove', mousemove);          $document.on('mouseup', mouseup);        });        function mousemove(event) {          y = event.pageY - startY;          x = event.pageX - startX;          element.css({          top: y + 'px',          left: x + 'px'          });        }        function mouseup() {          $document.off('mousemove', mousemove);          $document.off('mouseup', mouseup);        }        };  }]);

以上就是本文的全部內容,希望對大家的學習有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.