Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery滚动&;锚初始位置_Javascript_Jquery_Html_Css_Smooth Scrolling - Fatal编程技术网

Javascript 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

我使用jQuery代码来平滑滚动:

$(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你能在网站上更新你的代码吗,这样我就可以查看那里的问题了?