【问题标题】:remain at top of page on anchor #link保持在锚点#link的页面顶部
【发布时间】:2023-03-22 11:30:02
【问题描述】:

我试图链接到打开特定引导导航选项卡的页面,我可以通过将选项卡 ID 添加到#link 中来实现这一点,例如:

www.mysite.com/apagewithtabs#tab2

这很好,除了页面向下滚动到 #tab2 出现的位置,我希望用户在加载时位于页面顶部。

我在 js/jquery 之后尝试了许多不同的变体,但绝对没有什么对我有用。

$(document).ready(function () {
  window.setTimeout(function () {
    $('html,body').scrollTop(0);
  }, 2000);
});

如果有人有任何想法我如何能够实现这个 id 真的很感激!

提前非常感谢!

【问题讨论】:

    标签: javascript jquery twitter-bootstrap scroll settimeout


    【解决方案1】:

    在尝试了许多不同的方法后,这令人难以置信:

    www.mysite.com/apagewithtabs#tab2#top

    希望对某人有所帮助!

    【讨论】:

    • 您应该将此答案标记为已接受,以便更多人在需要帮助时看到它!
    【解决方案2】:

    我建议改为通过查询附加您想要的信息,如下所示:

    www.mysite.com/apagewithtabs?tab=tab2

    然后使用这段代码来查看选项卡查询的值是什么:

    function getUrlVars() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    }
    
    var tab = getUrlVars()["tab"]; //tab is now the value of the tab query
    

    部分代码由this answer.提供

    然后您可以检查tab 变量的值并根据该值打开您想要的任何内容。示例:

    switch (tab) {
        case 'tab1': /*...open tab 1 code...*/ break;
        case 'tab2': /*...open tab 2 code...*/ break;
    }
    

    【讨论】:

    • 非常感谢您的帮助,尽管这里仍然没有运气。我在页面中放置了&lt;?php echo $tab; ?&gt;,但这是空的。目前我也不知道打开特定引导选项卡的 js 代码?
    猜你喜欢
    • 2018-01-16
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    相关资源
    最近更新 更多