2016-03-23 2 views
0

У меня есть вкладки 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

+0

Только совет: 'location.hash' является вещью и включает в себя' # 'и все после него. –

+0

Можете ли вы сделать скрипку? – sniels

ответ

0

Если вы хотите пойти на самый верх, вы могли бы сделать это в пара способов

window.scrollTo(0, 0); 

или

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

или

$(window).scrollTop(0); 

Это зависит только от того, какой тип эффекта, который вы хотите. Могли бы просто установить scrollTop на 0 (это очень верх), если вы не хотите эффекта анимации. Можно просто использовать ваниль JS window.scrollTo(x,y)

Надеюсь, это поможет!

+0

Он не работает нигде. Я действительно не знаю, что еще нужно сделать. –

+0

Где вы его размещаете при попытке? Кроме того, есть ли какие-либо из них внутри оболочки/контейнера DIV? Если вы предоставите часть окружающего кода, я могу быть более конкретным для вас. – Fata1Err0r

+0

Я хотел попробовать, нажав на вкладку так: $ ("ul.nav-tabs> li> a"). On ("показанный.bs.tab", function (e) { var id = $ (e.target) .attr ("href"). substr (1); window.location.hash = id; $ (window) .scrollTop (0); }); –

0

Так вот как я его решил. Я добавил «-tab» в конце идентификатора вкладки, а исходный идентификатор имеет ссылку.

$("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'); 
Смежные вопросы