Я разрабатываю сайт с Django Framework, и я пытаюсь создать способ, когда пользователь получает доступ к ссылке, такой как http://www.example.com/site/#users_rating, и открывает специальную вкладку на странице.Ссылка на конкретную вкладку Bootstrap
Я попытался следующий код, который я нашел в Интернете (я новичок в JavaScript/JQuery), он не работает:
<script type="text/javascript">
$(function() {
// Javascript to enable link to tab
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ;
}
// Change hash for page-reload
$('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
window.location.hash = e.target.hash;
});
});
</script>
Мой шаблон использует Bootstrap 3, вот HTML код (с некоторыми тегами Django):
<div class="col-md-12" style="margin: 0 auto;">
<section class="panel">
<header class="panel-heading tab-bg-dark-navy-blue">
<ul class="nav nav-tabs nav-justified ">
<li class="active">
<a data-toggle="tab" href="#overview">
{% trans "Overview" %}
</a>
</li>
<li class="">
<a data-toggle="tab" href="#timeline">
{% trans "Timeline" %}
</a>
</li>
<li class="">
<a data-toggle="tab" href="#users_rating">
{% trans "Users Ratings" %} ({{ ptc.userrating.count }})
</a>
</li>
<li class="">
<a data-toggle="tab" href="#rating">
{% trans "Our Rating" %}
</a>
</li>
</ul>
</header>
<div class="panel-body">
<div class="tab-content tasi-tab">
<!-- Overview Tab-Pane -->
<div id="overview" class="tab-pane active">
{% include 'overview.html' %}
</div>
<!-- Timeline Tab-Pane -->
<div id="timeline" class="tab-pane">
{% include 'timeline.html' %}
</div>
<!-- User Rating Tab-Pane -->
<div id="users_rating" class="tab-pane">
{% include 'users_rating.html' %}
</div>
<!-- Our Rating Tab-Pane -->
<div id="rating" class="tab-pane">
{% include 'rating.html' %}
</div>
</div>
</div>
</section>
</div>
Как я могу открыть конкретную вкладку в соответствии с URL-адресом на моем сайте?
Ваше решение работает, спасибо. Я обнаружил, что после этого мое решение тоже работает, проблема в том, что я забыл поставить '' в голову моего шаблона, поэтому, когда я Положим, проблема решена. –
Это работало хорошо для меня, за исключением того, что мне пришлось изменить цитату, чтобы вставлять двойные кавычки вокруг значения хэша в строке, которая показывает вкладку: '$ ('. Nav-tabs a [href ="' + hash + '"] ') .tab (' шоу '); ' – KenB