【发布时间】:2026-01-08 21:55:01
【问题描述】:
我正在绘制在鼠标位置折叠的水平和垂直线。我面临两个问题
- 水平线未显示。似乎是一些 CSS 问题,但无法弄清楚。
- 移动鼠标时,线条的重绘不流畅。它的混乱。无论如何我可以避免这种情况?
代码:
var element = document.getElementById('box');
var drawLines = function(event) {
var x = event.pageX;
var y = event.pageY;
var straightLine = element.querySelector('.straightLine');
var hrLine = element.querySelector('.hrLine');
var slTrans = 'translate(' + x + 'px, 0px)';
var hrTrans = 'translate(0px, ' + y + 'px)';
if(!straightLine) {
straightLine = document.createElement('div');
straightLine.classList.add('straightLine');
straightLine.style.height = "100%";
straightLine.style.width = '2px';
element.appendChild(straightLine);
}
straightLine.style.transform = slTrans;
if(!hrLine) {
hrLine = document.createElement('div');
hrLine.style.height = "2px";
hrLine.classList.add('hrLine');
hrLine.style.width = '100%';
element.appendChild(hrLine);
}
hrLine.style.transform = hrTrans;
}
element.addEventListener('mousemove', function(event) {
drawLines(event);
});
element.addEventListener('mousedown', function(event) {
drawLines(event);
});
element.addEventListener('mouseup', function(event) {
drawLines(event);
});
element.addEventListener('mouseout', function(event) {
drawLines(event);
});
【问题讨论】:
标签: javascript