滚动到锚点 div jquery
Scrolling to anchor in a div jquery
我在使用固定导航平滑滚动到视差 div 中的锚点时遇到了一些问题。
该脚本在页面顶部运行良好,但一旦进入内容,链接就会转向错误的锚点...
我尝试了几个脚本但遇到了同样的问题(从顶部工作正常但从内容失败)。
$(document).ready(function() {
$(".scroll").click(function (e) {
e.preventDefault();
if (this.hash) {
//get rid of hash
var hash = this.hash.substr(1);
//get the position of the <a name>
var $toElement = $("[id=" + hash + "]");
var toPosition = $toElement.offset().top;
//scroll/animate that element
$(".parallax").animate({
scrollTop: toPosition
}, 500);
}
});
});
代码如下:http://jsfiddle.net/63hy5urr/1/
请帮忙。
谢谢。
您必须使用 scrollTop()
方法检查 .parallax
当前滚动的位置,然后在设置动画时将此值添加到 toPosition
:
$(".parallax").animate({
scrollTop: $(".parallax").scrollTop() + toPosition
}, 500);
工作fiddle:http://jsfiddle.net/63hy5urr/3/
我在使用固定导航平滑滚动到视差 div 中的锚点时遇到了一些问题。
该脚本在页面顶部运行良好,但一旦进入内容,链接就会转向错误的锚点...
我尝试了几个脚本但遇到了同样的问题(从顶部工作正常但从内容失败)。
$(document).ready(function() {
$(".scroll").click(function (e) {
e.preventDefault();
if (this.hash) {
//get rid of hash
var hash = this.hash.substr(1);
//get the position of the <a name>
var $toElement = $("[id=" + hash + "]");
var toPosition = $toElement.offset().top;
//scroll/animate that element
$(".parallax").animate({
scrollTop: toPosition
}, 500);
}
});
});
代码如下:http://jsfiddle.net/63hy5urr/1/
请帮忙。
谢谢。
您必须使用 scrollTop()
方法检查 .parallax
当前滚动的位置,然后在设置动画时将此值添加到 toPosition
:
$(".parallax").animate({
scrollTop: $(".parallax").scrollTop() + toPosition
}, 500);
工作fiddle:http://jsfiddle.net/63hy5urr/3/