使用switch语句从另一个页面滚动到锚点

时间:2015-05-30 14:33:52

标签: javascript jquery html

由于某种原因,我无法让脚本执行任何滚动操作。我使用switch语句来确定点击了哪个链接(链接在我的导航栏上,所以你完全来自另一个页面),然后我想让页面滚动到页面顶部(并最终顺利滚动再次到锚点)。由于某种原因,我的控制台日志语句被触发,但页面没有滚动到顶部。当我输入window.scrollTo(0,0);进入控制台虽然页面向上滚动...这是我的脚本,任何帮助表示赞赏。

var URL = window.location.href;
var baseURL = window.location.protocol+'//'+window.location.host+window.location.pathname;

switch(URL) {
    case baseURL+'#skills':
        window.scrollTo(0, 0);
        console.log('you are on skills');       
        break;
    case baseURL+'#experience':
        window.scrollTo(0, 0);
        console.log('you are on expereince');       
        break;
    case baseURL+'#works':
        window.scrollTo(0, 0);
        console.log('you are on works');        
        break;
}

1 个答案:

答案 0 :(得分:0)

实际上我得到了答案,而不是将名称应用到我的锚链接(以便浏览器直接跳转到链接)我只是在每个链接上应用了一个类,并在页面加载后滚动到它们。 / p>

$(window).on("load", function () {
     urlHash = window.location.href.split("#")[1];
    $('html,body').animate({
        scrollTop: $('.' + urlHash).offset().top
    }, 1000);
});

我的链接在HTML端看起来像这样。

<a class="works">Portfolio</a>