弹出框,我们也称为模态框
- 点击弹出层,会弹出模态框,并且显示灰色半透明的遮挡层。
- 点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层
- 鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动。
- 鼠标松开,可以停止拖动模态框移动
案例分析
- 点击弹出层,模态框和遮挡层就会显示出来display:block;
- 点击关闭按钮,模态框和遮挡层就会隐藏起来display:none;
- 在页面中拖拽的原理:鼠标按下并且移动,之后松开鼠标
- 触发事件是鼠标按下mousedown,鼠标移动mosemove,鼠标松开mouseup
- 拖拽过程:鼠标移动过程中,获得最新的值赋值给模态框的left和top值,这样模态框可以跟着走了
- 鼠标按下触发的事件源是最上面一行,就是id为title
- 鼠标的坐标减去鼠标在盒子内的坐标,才是模态框真正的位置
- 鼠标按下,我们要的到鼠标在盒子的坐标
- 鼠标移动,就让模态框的坐标 设置为 : 鼠标坐标减去盒子坐标即可,注意移动事件写到按下事件里面。