跳到主要内容

HTML

2023年04月12日
柏拉文
越努力,越幸运

一、认识


二、实现


<div class="tab">
<div class="tab-scroll-container">
<div id="tab-a" class="tab-item">a</div>
<div id="tab-b" class="tab-item">b</div>
<div id="tab-c" class="tab-item">c</div>
<div id="tab-d" class="tab-item">d</div>
<div id="tab-e" class="tab-item">e</div>
<div id="tab-f" class="tab-item">f</div>
<div id="tab-g" class="tab-item">g</div>
<div id="tab-h" class="tab-item">h</div>
</div>
</div>
<div class="content">
<div id="content-scroll-container" class="content-scroll-container">
<div id="content-a" class="a">a</div>
<div id="content-b" class="b">b</div>
<div id="content-c" class="c">c</div>
<div id="content-d" class="d">d</div>
<div id="content-e" class="e">e</div>
<div id="content-f" class="f">f</div>
<div id="content-g" class="g">g</div>
<div id="content-h" class="h">h</div>
</div>
</div>

三、细节


3.1 记录模块信息

3.2 监听滚动结束

目前为止, JavaScript 没有监听滚动结束的事件, 所以需要用 setTimeout 模拟滚动结束。主要逻辑如下:

let scrollTimer = null;

window.addEventListener("scroll",function(){
clearTimeout(scrollTimer);
scrollTimer = setTimeout(()=>{
// 滚动结束之后做的事情
});
},true);