菜单上的Javascript滚动效果

菜单上的Javascript滚动效果,javascript,octobercms,Javascript,Octobercms,所以我在主页上有一个菜单,可以滚动到联系人表单 <li><a href="{{ 'home'|page }}" class="scroll">Contact</a></li> yezzz建议后的控制台日志: 如果其他页面将您发送到主页上的#联系人,则您可以触发单击: $(function(){ $(".scroll").click(function(){ $("html,body").animate({scrollTop:

所以我在主页上有一个菜单,可以滚动到联系人表单

<li><a href="{{ 'home'|page }}" class="scroll">Contact</a></li>
yezzz建议后的控制台日志:


如果其他页面将您发送到主页上的#联系人,则您可以触发单击:

$(function(){
    $(".scroll").click(function(){
        $("html,body").animate({scrollTop:$("#contact").offset().top},"500");
        return false;
    });
    if (window.location.hash == "#contact") $(".scroll").trigger("click");
});

我想我可以试试使用本地存储。用以下内容替换默认脚本(在所有页面上),并检查控制台是否有错误

$(function(){
    $(".scroll").click(function(){
        $("html,body").animate({scrollTop:$("#contact").offset().top},"500");
        return false;
    });
    if (typeof(Storage) !== "undefined") {
        // localstorage is supported    
        if (location.pathname === "/") {
            // we're on homepage
            if (localStorage.triggerScroll == 1) {
                localStorage.triggerScroll = 0;
                $(".scroll").trigger("click");
            }
        } else {
        // we 're on another page
        $(".scroll").click(function(){
            localStorage.triggerScroll = 1;
        });
    }
});

编辑:哦,误读了。。。呈现页面后,href中的url是什么?他们都指向example.com/#contact?顺便说一句,滚动脚本附带了主题?但是你可以修改它?实际上,这个链接只会指向一个主页。10月CMS没有最好的文档,所以我不知道如何将#联系人添加到{{‘home’| page}。如果网站是live,你能给我url吗?在这里。它还没有完成,所以我会让它活10-20分钟,让你检查我只有一个很短的机会看到它,但我看到上面是行不通的。链接到#联系人也不会滚动,而是直接跳到#联系人。你能把脚本放在每一页上吗?然后您可以传递url参数并在主页上读取它。另一种方法是检查http referer。我现在能想到的最后一个选择是使用cookie或localstorage设置一个标志,然后在主页上处理它。每个页面上都有脚本。嗯,我想我得想些别的办法。太复杂了。但谢谢你的时间。不幸的是,代码打断了我的画布菜单,所以我甚至不能尝试。天哪,为什么这么难…嗯,我不知道会发生什么。控制台中是否出现任何错误?您确实看到我在发布代码几分钟后编辑了代码?为了安全起见,我又尝试了一次,但我的非画布菜单仍被此代码破坏。我使用基础6离开画布…如果你的日志没有错误,我不知道哪里出了问题,因为它只读取和写入位置和本地存储,并触发点击主页。
$(function(){
    $(".scroll").click(function(){
        $("html,body").animate({scrollTop:$("#contact").offset().top},"500");
        return false;
    });
    if (typeof(Storage) !== "undefined") {
        // localstorage is supported    
        if (location.pathname === "/") {
            // we're on homepage
            if (localStorage.triggerScroll == 1) {
                localStorage.triggerScroll = 0;
                $(".scroll").trigger("click");
            }
        } else {
        // we 're on another page
        $(".scroll").click(function(){
            localStorage.triggerScroll = 1;
        });
    }
});