Javascript滚动效果菜单上

时间:2016-03-30 19:05:39

标签: javascript octobercms

所以我在主页上有一个菜单,它对联系表单有滚动效果。

<li><a href="{{ 'home'|page }}" class="scroll">Contact</a></li>

它就像主页上的魅力一样,但如果用户位于不同的页面上,请说出或博客并点击“联系人”链接,她/他会在主页上获得重定向但滚动效果永远不会发生。

当用户在不同的网页上并点击该链接时,是否可以实现这一目标?

滚动代码为:

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

yezzz建议后的控制台日志:

enter image description here

2 个答案:

答案 0 :(得分:0)

如果其他网页将您发送到主页上的#contact,则可以触发点击:

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

答案 1 :(得分:0)

我很想到我会使用localstorage来试一试。用以下内容替换默认脚本(在所有页面上),并检查控制台是否有错误。

$(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;
        });
    }
});