Javascript 滚动到逐节
我有HTML标记: HTML:Javascript 滚动到逐节,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有HTML标记: HTML: 其中部分为全屏(宽度:100%;高度:100%),菜单具有绝对位置。 问题: 如何使用鼠标滚动(或按键)滚动和捕捉到每个部分 当滚动到最后一个部分时,然后再次向下滚动到#一个并重复 当我点击链接时,它会滚动到第节 感谢您的建议、想法和代码。很有趣 我偷了东西,更改了布局,并尝试添加您提到的功能(1.滚动快照+2.单击链接时滚动)。 不幸的是,我无法使用第二个函数 添加滚动捕捉不是问题 您需要滚动捕捉类型:y必填和滚动捕捉对齐:开始在部分上 var d
其中部分为全屏(宽度:100%;高度:100%),菜单具有绝对位置。
问题:
滚动捕捉类型:y必填容器上的code>和滚动捕捉对齐:开始代码>在部分上
var doc=window.document,
context=doc.querySelector(“.js循环”),
clones=context.querySelectorAll(“.is clone”),
disableScroll=false,
滚动高度=0,
scrollPos=0,
克隆高度=0,
i=0;
函数getScrollPos(){
返回(context.pageYOffset | | | context.scrollTop)-(context.clientTop | | 0);
}
功能设置CROLLPOS(pos){
context.scrollTop=pos;
}
函数getClonesHeight(){
克隆高度=0;
对于(i=0;i<0.length;i+=1){
clonesHeight=clonesHeight+clones[i]。视线外;
}
返回克隆高度;
}
函数reCalc(){
scrollPos=getScrollPos();
scrollHeight=context.scrollHeight;
clonesHeight=getClonesHeight();
如果(滚动位置=滚动高度){
//到达底部后滚动到顶部
setScrollPos(1);//向下滚动1个像素以允许向上滚动
disableScroll=true;
}否则,如果(scrollPos您可以在这种情况下使用ID
为您的分区设置ID,添加锚定标记,并将href属性设置为分区ID
不要忘记将“滚动行为”设置为“平滑”以实现平滑滚动
检查这个插件检查这个链接有一个新的css属性滚动捕捉,你可以使用它
<body>
<header></header>
<nav>
<ul>
<li><a href="#one">one</a></li>
<li><a href="#two">two</a></li>
</ul>
</nav>
<section id="one"></section>
<section id="two"></section>
<footer></footer>
</body>