javascript - 有没有办法在 JavaScript 中的视频播放器顶部覆盖交互式线图?
问题描述
我正在尝试找到一种在 JavaScript 中将交互式线图放置在视频播放器顶部的方法。
一些额外的细节:
- 视频播放器需要“功能齐全”(即播放/暂停、快进、倒带等)
- 该图需要同时包含 x 轴和 y 轴。
- 唯一需要的图形交互性是对工具提示的支持。
我对任何能够完成这项任务的工具持开放态度。我认识到可能需要进行大量的定制。
解决方案
您可以尝试使用 ,但同时获得视频和图表的交互性会更加困难。
这是一个使用 CSS 网格将元素放在一起的示例。为了让您能够与视频进行交互,我将图表设置为在图表中pointer-events: none;
添加了一个虚假的“点”div,以添加回指针事件。您可以通过它在悬停时改变颜色的事实来看到这一点;
video {
background-color: grey;
width: 100%;
grid-column: 1;
grid-row: 1;
}
.chart {
z-index: 1;
grid-column: 1;
grid-row: 1;
background-color: transparent;
pointer-events: none;
}
.point {
position: relative;
top: 50%;
left: 50%;
width: 1rem;
height: 1rem;
border-radius: 50%;
background-color: white;
pointer-events: all;
}
.point:hover {
background-color: hotpink;
}
.area {
display: grid;
}
<div class="area">
<video controls src="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/TearsOfSteel.mp4"></video>
<div class="chart">
<div class="point"></div>
</div>
</div>
推荐阅读
- runtime-error - OptaPlanner 示例不起作用并给出错误
- c++ - 将子目录作为库添加到 CMakeLists.txt
- r - 无法在 Linux Mint 19.1 Tessa 上安装 R 4.0
- csv - 如何在 Magento 2 上使用 CSV 导入可配置产品?
- google-chrome - 如何从 Chrome 网上应用店修改扩展 - 只需更改此插件的默认设置
- android - 如何动画骰子在Kotlin中抛出?
- android - 如何在jitsi meet中将房间名称从一个应用程序发送到另一个应用程序
- r - 在R中将列的值分隔或分组为不同的类别
- java - 将 struts 1.x 应用程序迁移到 struts 2.5.26
- python - Pandas 根据与标题对齐的字符串/值读取文本文件切片列可能带有空字符串/值