javascript - HTML 在整个 div 上绘制垂直线

标签 javascript html css

我正在尝试在鼠标后的整个 div 上绘制一条垂直线。问题是其他元素越线了。我希望这条线遍历所有内容。

这是 fiddle :https://jsfiddle.net/9hzcm23q/

这里是代码:

var element = document.getElementById('box');

var drawLines = function(event) {
  var x = event.pageX;
  var straightLine = element.querySelector('.straightLine');
  
  var slTrans = 'translate(' + x + 'px, 0px)';
  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;
}

element.addEventListener('mousemove', function(event) {
   drawLines(event);
});
html, body{
  height: 100%;
  width: 100%;
  margin: 0px;
}

.box {
  height: 100%;
  width: 100%;
  background-color: white;
}

.straightLine {
  z-index: 10;
  position: fixed;
  background-color: red;
}
<div class="box" id="box">
  <h1>
  Lorem
  </h1>
  <p>
  dolor amet
  </p>
</div>

最佳答案

您需要将 top: 0 添加到 straightLine 类,如下所示:

.straightLine {
  z-index: 10;
  position: fixed;
  background-color: red;
  top: 0;
}

Here is a working fiddle

关于javascript - HTML 在整个 div 上绘制垂直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57381855/

相关文章:

javascript - jQuery Mobile 折叠 ListView ,搜索不起作用

javascript - 如何选择具有包含特定文本的属性的元素?

html - 禁用 iOS 使运输跟踪号可点击

php - 在 Yii 中的 dropDownList 上生成不带 optgroup 的选择

javascript - 第二次单击按钮时验证不起作用

带有文件上传的html表单

javascript - 使用javascript在鼠标悬停在另一个图像上时显示图像

javascript - Angular 2双向数据绑定(bind)冗余 setter 调用

html - 水平居中 flex 容器

javascript - 单击按钮时加载动画(Pardot 形式)