var dialog = document.getElementById("dialog");var isDragging = false;var mouseX, mouseY, dialogX, dialogY;dialog.querySelector(".title").addEventListener("mousedown", function(e) { isDragging = true; mouseX = e.clientX; mouseY = e.clientY; dialogX = dialog.offsetLeft; dialogY = dialog.offsetTop;});所用到的知识与方法
时间: 2024-03-26 16:37:47 浏览: 94
这段代码用到了以下知识和方法:
1. DOM操作:使用`document.getElementById`方法获取对话框元素,使用`dialog.querySelector`方法获取对话框标题元素。
2. 事件监听:使用`addEventListener`方法监听对话框标题的`mousedown`事件,文档的`mousemove`和`mouseup`事件。
3. 鼠标事件对象:事件处理函数的参数`e`是鼠标事件对象,其中包含了鼠标的坐标信息。
4. 元素的位置信息:使用`offsetLeft`和`offsetTop`属性获取元素相对于其父元素的左边距和上边距。
5. 样式操作:使用`style`属性设置元素的样式,如`left`和`top`属性改变元素的位置,`cursor`属性改变鼠标的样式。
通过这些知识和方法,我们可以实现对话框的拖拽效果。
阅读全文