weixin_慕移动0592609
2022-01-11
qq_高傲鉎萿_0
2018-12-29
抓住一点:一系列的加减操作都是为了获取浮动框左上角应该停留在哪个位置
慕粉4323859
2018-12-23
layer
qq_孟家小狐狸_0
2018-11-22
找到原因了document.documentElement.clientWidth不能设置成全局变量
张小颠001
2018-10-24
慕函数4904647
2018-07-30
你这十有八九是是忘记监听mouseup事件并clearInterval定时器了
花开微凉zlt
2018-04-20
当然是0 你自己设置的。
按下事件还没执行呢
慕粉1033167303
2018-04-18
可能这个事件监听函数没有绑定成功,看看an(id)函数的参数是否是正确的id
Enjoying_1
2017-10-11
没有看到全部代码因此不太清楚问题所在,我按照老师写的并没有问题。
qq_Y_133
2017-09-13
有的,你仔细看,dialog里面有个class="dialogTile"
qq_Y_133
2017-09-12
你写的代码贴出来啊,是不是获取了错误的对象,还是没有写宽度?
诸侯戏烽火
2017-09-06
onmousemove这个事件绑定到document上 “document.onmousemove“
qq_坏蓝眼睛_0
2017-08-20
慕尼黑6231967
2017-06-09
这是一个css样式,z-index是改变元素的层级,数值越大,层级越高。有一个很直观的方法,就是打开Chrome/Firefox中审查元素(F12),在这个开发者工具有一个叫3D视图的东西,点击它就能看到一个网页的立体视图,层级一目了然。
慕的地5225258
2017-05-04
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>慕课网-拖拽实现</title>
<style type="text/css">
#draggable{ width: 100px;height: 100px; position: absolute;top: 100px;left: 100px;border: 1px solid #ccc;background: #eee;padding: 10px;cursor: move;}
</style>
</head>
<body>
<div id="draggable">拖我</div>
<script type="text/javascript">
var oDrag = document.getElementById('draggable');
var isDraging = false;
var startX = 0;
var startY = 0;
oDrag.addEventListener('mousedown',function(e){
//鼠标事件1 - 在标题栏按下(要计算鼠标相对拖拽元素的左上角的坐标 ,并且标记元素为可拖动)
isDraging = true;
startX = e.pageX - this.offsetLeft;
startY = e.pageY - this.offsetTop;
})
document.onmouseup = function(e){
//鼠标事件3 - 鼠标松开的时候(标记元素为不可拖动)
isDraging = false;
}
document.onmousemove = function(e) {
//鼠标事件2 - 鼠标移动时(要检测,元素是否标记为移动)
var moveX = e.pageX - startX;
var moveY = e.pageY - startY;
var pageX = document.documentElement.clientWidth - oDrag.offsetWidth;
var pageY = document.documentElement.clientHeight - oDrag.offsetHeight;
moveX = Math.min(pageX, Math.max(0, moveX));
moveY = Math.min(pageY, Math.max(0, moveY));
if (isDraging) {
oDrag.style.left = moveX + 'px';
oDrag.style.top = moveY + 'px';
}
};
</script>
</body>
</html>
慕先生7084551
2017-05-04
慕先生7084551
2017-05-04
是的!
西瓜皮222
2017-04-28
课程里面说将拖动事件(move)的对象写为document,而不是g('dialog').
next2017
2017-03-10
把你写好的代码贴出来,看下,你是不是在 window.onresize 属性下面调用了 showDialog() 函数
慕粉1001468307
2017-02-05
点击课程视频下方的【资料下载】按钮就可以看到了。
dky
2016-12-31
这句代码是防止选中的。
Armor
2016-12-30
onresize事件中,重新设置拖拽范围
成长前端初学者
2016-12-20
完全没明白的啥意思
浩浩学渣
2016-12-02
成长前端初学者
2016-11-29
moveX<0,则moveX=0;moveX>maxX,则moveX=maxX; 0<moveX<maxX,moveX =moveX;
成长前端初学者
2016-11-29
这个你不影响 你可以设置 css
.dialog{
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
}
成长前端初学者
2016-11-29
都一样的
设计师小站
2016-11-22
慕斯8597481
2016-11-19
disply 少写了a
Ginger_Z
2016-11-16