【发布时间】:2019-07-12 03:23:29
【问题描述】:
我想使用 div(如 PDF 阅读器)模拟“当前页面”之类的内容
document.addEventListener("DOMContentLoaded", function(event) {
var container = document.getElementById("container");
container.onscroll = function() {
let position = container.scrollTop;
let divs = document.querySelectorAll('.page');
for (div of divs) {
//???
}
}
});
#container {
width: 400px;
height: 600px;
overflow: auto;
}
.page {
width: 400px;
}
.red {
background-color: red;
height: 600px;
}
.blue {
background-color: blue;
height: 400px;
}
Current page: <span id="page-counter">1</span>
<div id='container'>
<div id="div-1" class="page red"></div>
<div id="div-2" class="page blue"></div>
<div id="div-3" class="page red"></div>
<div id="div-4" class="page blue"></div>
</div>
所以,我想知道最好的方法,例如,在第三个 div“出现”时将 span page-counter 文本更改为“3”。
类似这样的:https://i.imgur.com/rXQ2Bw8.png
提前致谢 塞尔索
【问题讨论】:
-
什么定义了 div 何时“出现”?当前一个完全不在屏幕上时?只要 div 完全可见?当它完全可见时?
-
类似于原生 firefox pdf 阅读器:i.imgur.com/rXQ2Bw8.png
标签: javascript html css scroll