Javascript jQuery滚动&;锚初始位置
我使用jQuery代码来平滑滚动:Javascript jQuery滚动&;锚初始位置,javascript,jquery,html,css,smooth-scrolling,Javascript,Jquery,Html,Css,Smooth Scrolling,我使用jQuery代码来平滑滚动: $(function() { $('a.page-scroll').bind('click', function(event) { var $anchor = $(this); $('html, body').stop().animate({ scrollTop: ($($anchor.attr('href')).offset().top - 110) }, 1000, 'ease
$(function() {
$('a.page-scroll').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: ($($anchor.attr('href')).offset().top - 110)
}, 1000, 'easeInOutExpo');
event.preventDefault();
});
});
我添加了-110偏移量来正确调整初始位置,它工作得很好,但是每次我尝试从外部链接访问锚点时,页面都会加载不同的偏移量值。请检查问题所在的清晰视图。如果您单击第一个图标,它会自动调整,您将看到它的加载方式
提前感谢您在这方面提供的帮助。您是在单击锚定时应用自定义滚动事件,而不是在加载时,因此当您加载带有id的页面时,它会跳转到id,这是默认行为
$(document).ready(function () {
var hash = window.location.hash;
scrollToElem(hash);
$('a.page-scroll').on('click', function (event) {
var $anchor = $(this);
var href = $anchor.attr('href');
scrollToElem(href);
event.preventDefault();
});
});
var scrollToElem = function (hash) {
var target = hash;
$('html, body').stop().animate({
scrollTop: ($(hash).offset().top - 110)
}, 1000, 'easeInOutExpo');
};
谢谢,这非常有效,唯一的问题是它实际上加载到了错误的位置,然后脚本强制它滑动到正确的位置。所以你可以看到,当它想要补偿位置时。但这仍然是一个很好的解决方案。再次感谢。@Mr.Bacan Oh你能在网站上更新你的代码吗,这样我就可以查看那里的问题了?