jQuery选项卡阻止滚动锚点

时间:2017-05-04 06:22:25

标签: jquery jquery-ui jquery-ui-tabs

我正在使用像...那样的jQuery标签

   <div id="tabs">
       <ul class="tabs-menu">
           <li><a href="#tab1" class="selected">Tab 1</a></li>
           <li><a href="#tab2">Tab2</a></li>
        </ul>

        <div id="tab1">
            Tab1 Content
        </div>
        <div id="tab2">
             Tab2 Content
        </div>
   </div>

jQuery(document).ready(function() {
    jQuery('#tabs').tabs();
});

这是正常的,但当我尝试使用 www.example.com/page#tab2 激活tab2打开URl时,页面会滚动到锚点而不是从顶部加载。< / p>

如何防止此行为?

2 个答案:

答案 0 :(得分:0)

您可以使用tabsselect听众。

$(document).ready(function () {
        $("#tabs").bind('tabsselect', function(event, ui) {
            event.preventDefault();  // This will kill the default behavior.
            window.location.href = ui.tab;
        });
});

答案 1 :(得分:0)

您也可以试试这个。

<script src="https://code.jquery.com/jquery-1.12.4.js></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"></script>


<div id="tabs" style="margin-top: 2%;min-height: 500px;">
      <ul style="background: -webkit-linear-gradient(left top, #286090, #3b8a69); ">
        <li><a href="#tabs-1">Menu privilege</a></li>
        <li><a href="#tabs-2">Transaction Rule</a></li>

      </ul>
      <div id="tabs-1">
        <h1>
        Tab1</h1>

      </div>
      <div id="tabs-2">
        <h1>
        Tab 2</h1>
      </div>
      </div>

jQuery(document).ready(function() {
    jQuery('#tabs').tabs();
});