本文为《DOM事件探秘》课程中第四章“QQ面板在浏览器窗口的拖曳效果及状态列表选择”的代码实现。 本文及js代码demo为笔者在课后实现,代码中有详细注释,解说了上课视频中老师的代码功能及实现思想。读者可以复制本文代码作为笔记进行参考。 核心代码为drag.js文件中的Javascript实现,重点内容包含:
1、封装函数实现通过className和父元素Id实现元素目标的获取;
2、建立拖曳函数(包含鼠标按住事件、鼠标移动事件、松开按钮事件);
3、关闭面板
4、点击切换函数
4.1、点击状态区展示状态栏
4.2、鼠标经过改变列表背景颜色、鼠标移开列表改变背景颜色
4.3、鼠标点击选项时:1、将列表内容传入状态区;2、将状态列表隐藏
5、点击其他区域隐藏状态列表
6、在显示状态列表和隐身状态列表时注意修改浏览器默认的事件冒泡
面板的**效果图**:
界面描述demo:
拖动
帐 号:
密 码:
状态
下
在线


