j查询平滑滚动到锚点
jQuery smooth scroll to anchor
我使用 jQuery mousewheel
扩展编写了一个相当简单的平滑滚动函数,并且以前没有$.mousewheel
的经验,我遇到了一个问题。
基本上,一旦调用了south delta
,我就会使用scrollTop
调用$.animate
函数来.anchor
HTML (简化问题):
<div id="static-section" class="anchor"></div> <!-- width: 100%; height: 258px -->
<div id="alt-section" class="anchor"></div> <!-- width: 100%; height: 346px -->
j查询:
$(document).ready(function() {
$("body").mousewheel(function(event, delta, deltaX, deltaY) {
if( delta > 0 ) {
console.log("North: " + delta);
}
else if( delta < 0 ) {
console.log("South: " + delta);
// ANIMATE TO ANCHOR FUNCTION
$("html,body").animate({scrollTop: $(".anchor").offset().top}, "slow");
}
return false;
});
});
所以:我的问题是它只动画化到.anchor
的第一个实例(这将是#static-section
)我尝试过做scrollTop: $(".anchor").next().top
显然不起作用,虽然没有出现错误,但它仍然只动画到第一个实例。我的第一个猜测是使用 for
循环,我尝试了一下,但它不起作用(也没有错误)。我以前从未真正使用过for
循环,所以我不确定我所做的是否正确。任何帮助将不胜感激!
注意:jsFiddle(与我的网站具有相同的代码)并没有描绘我已经完成的相同的事情,因此没有可用的现场演示。如果你们需要它,我会根据要求提供 URL。:-)
像这样的事情将逐步浏览.anchor
标签:
$(document).ready(function() {
var $anchor = $('.anchor');
$("body").mousewheel(function(event, delta, deltaX, deltaY) {
if( delta > 0 ) {
console.log("North: " + delta);
}
else if( delta < 0 ) {
console.log("South: " + delta);
// ANIMATE TO ANCHOR FUNCTION
$("html,body").animate({scrollTop: $anchor.offset().top}, "slow");
$anchor = $anchor.next('.anchor');
}
return false;
});
});
相关文章:
- j查询向下滚动到特定段落
- JQuery查询滚动长度/高度
- j查询整页过渡滚动
- j查询滚动顶部麻烦
- j查询星级导致页面滚动
- j查询平滑滚动到新页面链接
- 使用媒体查询在较小的屏幕上仅滚动模态的距离
- j查询平滑滚动到锚点
- 更改窗口.基于媒体查询的滚动位置
- j查询在scrollTop()调用后重置窗口滚动
- j查询基于滚动的淡入和淡出
- j查询页面 每次向下滚动时,在单个页面中按键按下
- 带滚动条更改的 Chrome 媒体查询
- j查询单页滚动不起作用
- j查询窗口滚动事件.每滚动 XX 个像素
- 使用查询的水平图像滚动
- j通过箭头查询可滚动的ul(当到达列表的顶部或底部时删除箭头)
- 通过AngularJS中的按钮点击/滚动来增加Mongoose查询限制
- 由于滚动冲突,JQuery在单击或模糊、停止或终止功能时进行查询
- 实时查询和检测滚动的位置