JavaScript怎么实现模态框拖拽效果
这篇文章主要介绍"JavaScript怎么实现模态框拖拽效果",在日常操作中,相信很多人在JavaScript怎么实现模态框拖拽效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JavaScript怎么实现模态框拖拽效果"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在这里做一个模态框拖曳的案例,在这里要实现的功能有:
1.点击弹出层, 会弹出模态框, 并且显示灰色半透明的遮挡层。
2.点击关闭按钮,可以关闭模态框,并且同时关闭灰色半透明遮挡层。
3.鼠标放到模态框最上面一行,可以按住鼠标拖拽模态框在页面中移动。
4.鼠标松开,可以停止拖动模态框移动。
实现思路为:
点击弹出层, 模态框和遮挡层就会显示出来display:block;
点击关闭按钮,模态框和遮挡层就会隐藏起来 display:none;
在页面中拖拽的原理: 鼠标按下并且移动, 之后松开鼠标。
触发事件是鼠标按下 mousedown, 鼠标移动mousemove 鼠标松开 mouseup。
拖拽过程: 鼠标移动过程中,获得最新的值赋值给模态框的left和top值, 这样模态框可以跟着鼠标走了。
鼠标按下触发的事件源是 最上面一行,即
鼠标的坐标 减去 鼠标在盒子内的坐标, 才是模态框真正的位置。
鼠标按下,我们要得到鼠标在盒子的坐标。
鼠标移动,让模态框的坐标 设置为 : 鼠标坐标 减去盒子坐标即可,注意移动事件写到按下事件里面。
鼠标松开,就停止拖拽,即让鼠标移动事件解除 。
实现代码为:
实现效果为:
到此,关于"JavaScript怎么实现模态框拖拽效果"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!