拖拽js

<!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    <title>拖拽js</title>
    <style type="text/css">
  html, body {
    overflow:hidden;
  }
  body, div, {
    margin:0;
  padding:0;
  }
  body {
    color:#fff;
    font:12px/2 Arial;
  }
  p {
    padding:0 10px;
    margin-top:10px;
  }
  span {
    color:#ff0;
    padding-left:5px;
  }
  #box {
    position:absolute;
    width:300px;
    height:150px;
    background:#D5CDDA;
    border:2px solid #ccc;
    top:150px;
    left:400px;
    margin:0;
  }
  #drag {
    height:25px;
    cursor:move;
    background:#724a88;
    border-bottom:2px solid #ccc;
    padding:0 10px;
  }

</style>
</head>
<body>
<div id="box">
  <div id="drag">拖动区域</div>
    被拖动的整个div
  </div>
</body>
</html>

<script src="js/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(function(){
  moveBox($("#box"),$("#drag")) ;
})
//B被拖动的div,BT可拖动区域
function moveBox(B,BT){
  var bDrag = false;
  var _x,_y;
  BT.mousedown(function(event){
var e=event || window.event;
bDrag = true;
    _x=e.pageX-B.position().left;
    _y=e.pageY-B.position().top;
    return false
  })
  $(document).mousemove(function(event){
    if(!bDrag) return false;
    var e=event || window.event;
    var x=e.pageX-_x;
    var y=e.pageY-_y;
    console.log(B.position());
    var maxL = $(document).width() - B.outerWidth();
    var maxT = $(document).height() - B.outerHeight();
    x = x < 0 ? 0: x; x = x > maxL ? maxL: x;
    y = y < 0 ? 0: y; y = y > maxT ? maxT: y;
    B.css({left:x,top:y});
    return false
  }).mouseup(function(){
    bDrag = false;
    return false
  })
}
</script>
原文地址:https://www.cnblogs.com/fewenjing/p/5892390.html