显示选项卡后滚动顶部

时间:2016-03-23 17:20:31

标签: javascript jquery html anchor

我的页面上有Bootstrap标签,但是当我点击它时,标签会被隐藏。有没有办法向上滚动位置,以便可以看到标签?我找到的任何东西都没有帮助我。我无法更改标签的位置或使用隐藏的锚点 - 标签是锚点。

<ul class="nav nav-tabs" role="tablist">
    <li class="active bio" role="presentation"><a href="#bio" role="tab" data-toggle="tab">biografie</a></li>
    <li class="films hidden-sm hidden-md hidden-lg" role="presentation"><a href="#films" aria-controls="films" role="tab" data-toggle="tab">filmografie</a></li>
    <li class="trivia hidden-xs" role="presentation"><a href="#trivia" role="tab" data-toggle="tab">zajímavosti</a></li>
    <li class="awards hidden-xs" role="presentation"><a href="#awards" role="tab" data-toggle="tab">ocenění</a></li>
    <li class="videos hidden-xs" role="presentation"><a href="#videos" role="tab" data-toggle="tab">videa</a></li>
    <li class="gallery hidden-xs" role="presentation"><a href="#gallery" role="tab" data-toggle="tab">galerie</a></li>
    <li class="contact hidden-xs" role="presentation"><a href="#contact" role="tab" data-toggle="tab">kontakt</a></li>
</ul>

这是我用来进入锚点的JS:

  $("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) {
    var id = $(e.target).attr("href").substr(1);
    window.location.hash = id;
  });

  var hash = window.location.hash;
  $('.nav-tabs a[href="' + hash + '"]').tab('show');

带有标签页:http://testovani-frameworku.wz.cz/jennifer-lawrence.html#awards

2 个答案:

答案 0 :(得分:0)

如果你想要走到最顶端,你可以做几件事

window.scrollTo(0, 0);

$("mySelector").animate({ scrollTop: 0 }, "fast");

$(window).scrollTop(0);

这取决于你想要什么类型的效果。如果您不想要动画效果,可以将scrollTop设置为0(这是非常顶部)。可以使用香草JS window.scrollTo(x,y)

希望这有帮助!

答案 1 :(得分:0)

所以这就是我解决它的方式。我添加了&#34; -tab&#34;在标签的ID末尾,原始ID有链接。

$("ul.nav-tabs > li > a").on("shown.bs.tab", function(e) {
    var id = $(e.target).attr("href").substr(1);
    id = id.substring(0, id.length-4);
    window.location.hash = id;    
});

var hash = (window.location.hash);
$('.nav-tabs a[href="' + hash + '-tab"]').tab('show');