变量声明位置
<script type="text/javascript"> var oDrag = document.getElementById('draggable'); var isDraging = false; // var lisX = 0;为什么这里变量不声明,到用时声明会出现鼠标按下后会跑到元素左上角 // var lisY = 0; oDrag.addEventListener('mousedown',function(e){ //鼠标事件1 - 在标题栏按下(要计算鼠标相对拖拽元素的左上角的坐标 ,并且标记元素为可拖动) e=e||window.event; isDraging=true; var lisX=e.pageX-oDrag.offsetLeft;//就是这里前边声明var var lisY=e.pageY-oDrag.offsetTop; }) document.onmouseup = function(e){ //鼠标事件3 - 鼠标松开的时候(标记元素为不可拖动) isDraging=false; }