zoukankan      html  css  js  c++  java
  • JS完美拖拽

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
          *{
            margin: 0;
            padding: 0;
          }
          #box{
            height: 100px;
             100px;
            background:red;
            position: absolute;
            cursor:move;
          }
        </style>
      </head>
      <body>
        <div id="box">

        </div>
      </body>
    </html>
    <script>
      var oBox = document.querySelector("#box");

      oBox.onmousedown = function(evt){
        var e = evt || event;
        var offsetX = e.offsetX;
        var offsetY = e.offsetY;
        document.onmousemove = function(evt){
          var e = evt || event;
          var x = e.pageX - offsetX;
          var y = e.pageY - offsetY;
          if(x<0){
            x = 0;
          }
          var maxLeft = window.innerWidth - oBox.offsetWidth;

          if(x > maxLeft){
            x = maxLeft;
          }
          if(y<0){
            y = 0;
          }
          var maxTop = window.innerHeight - oBox.offsetHeight;
          if(y > maxTop){
            y = maxTop;
          }
          oBox.style.left = x + "px";
          oBox.style.top = y + "px";
        }
        document.onmouseup = function(){
          document.onmousemove = null;
        }
      }
    </script>

  • 相关阅读:
    html5 本地存储
    javascript 中的 this 关键字详解
    重绘和回流
    javascript 的预解释机制
    zepto.js 实现原理解析
    python3.6新特性
    python面试终极准备
    科大讯飞语音合成api
    智能儿童玩具
    MySQL与MongoDB
  • 原文地址:https://www.cnblogs.com/fengzhi/p/12069970.html
Copyright © 2011-2022 走看看