本文是错新技术频道小编为大家带来的鼠标拖拽移动子窗体的JS实现,其实鼠标拖拽的变化是很有技巧的,别着急,小编将带大家细细了解,希望能帮到大家。
1.子窗体
在设计网站的时候,我们需要设计一些模态的子窗体,比如
这一步很容易实现,只需要div+css就ok了,请看代码:
当然,模态窗体的大小在样式类.modal-window中是固定写好的了,这并不是说不可修改模态窗体的大小,比如我写如代码:
在第二行代码中追加了.list-window这个样式类来覆盖.modal-window类中的大小和位置,但同时保证模态窗体居中显示
可以看得出来,这一步的实现是非常简单的,掌握几个关键行的css属性就"完虐"这个模态子窗体,各类其它的模态子窗体可以举一反三咯。
2.当鼠标点住子窗体的头部时,如何实现子窗体的拖拽移动呢?当引入jQ后,我们只需要很少的脚本就搞定这个小功能。不信我们看
①当鼠标在模态窗体头部点下(mousedown)时,立即给document绑定mousemove和mouseup事件
②当鼠标没有弹起时(没有mouseup)时,若鼠标在窗体内移动时,激活mouseMove函数,通过计算鼠标移动的距离来及时整个窗体的位置移动。
③当鼠标弹起(mouseup)时,调用mouseUp事件,将document上绑定的mousemove事件和mouseup事件解除绑定。
整个过程的原理就是:当鼠标mousedown时,鼠标的移动事件转移到document上来,通过鼠标在document上的移动事件来对整个窗体进行处理。
经过这一段代码的分析,发现鼠标移动窗体乃至document上的任何元素都是相当easy的
比如,如果想要通过拖拽来改变窗体的大小,一样我们只需要在mouseMove事件处理函数中调整窗体的大小就ok了,是不是又发现自己有多学会了一招,又精进了一小步呢?
学习了鼠标拖拽移动子窗体的JS实现介绍的知识后,相信大家都能在项目中独立完成了,错新技术频道小编建议大家都要学起来哦。
新闻热点
疑难解答
图片精选