Jquery使标签从另一个页面激活

时间:2016-10-02 10:04:54

标签: javascript jquery html css django

所以我在另一个页面上有一个按钮,当用户点击它时,它应该重定向到另一个页面并将活动类添加到window.location.hash所采用的选项卡..但它不起作用。它只是重定向到该页面。我做错了什么?

HTML:

/* JQUERY */

$("#butonmesaj").on('click', function(){
     window.location.href = "{% url 'userena_profile_detail' user%}#messages";
     var id = window.location.hash;
     $(id).addClass('active');
});
<div role="tabpanel" class="tab-pane" id="messages">
     <div class="embed-responsive embed-responsive-16by9" style="height: 500px;">
     <iframe class="embed-responsive-item" src="{% url 'userena_umessages_list' %}"></iframe>
</div>

1 个答案:

答案 0 :(得分:1)

您正在URL上正确设置哈希,但是在加载页面时需要运行hashChange函数以在加载时实际设置类。这是因为当您更改网址时,您正在重新初始化您的应用程序并丢失任何您未通过请求传回服务器的状态。

// callback to set active class based on hash
function hashChange() {
  var id = window.location.hash
  $(id).addClass('active')
}
// bind the callback to hashchange and window.onload
$(window).on('hashchange', hashChange)
$(hashChange)

// your standard click listener
$("#butonmesaj").on('click', function() {
  window.location.href = "{% url 'userena_profile_detail' user%}#messages"
});