Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 除非通过AJAX指向页面,否则Twitter引导选项卡contant不会切换_Javascript_Html_Ajax_Twitter Bootstrap_Tabs - Fatal编程技术网

Javascript 除非通过AJAX指向页面,否则Twitter引导选项卡contant不会切换

Javascript 除非通过AJAX指向页面,否则Twitter引导选项卡contant不会切换,javascript,html,ajax,twitter-bootstrap,tabs,Javascript,Html,Ajax,Twitter Bootstrap,Tabs,我在整个网站上使用Bootstrap框架,以实现快速响应的设计能力。我还使用AJAX调用在每个页面之间切换。在一个页面上,我使用引导选项卡在页面内容之间切换。当您通过任何ajax链接被定向到页面时,一切都能正常工作,但是如果您手动键入url,选项卡内容不会改变。当您单击选项卡时,选项卡本身将更改,但内容仍保留在原始内容上。我最初认为它可能与我正在使用的javascript有关,这样您就可以使用hashtag将用户指向某个选项卡,但当我删除代码时,它仍然不起作用。代码如下: <div cl

我在整个网站上使用Bootstrap框架,以实现快速响应的设计能力。我还使用AJAX调用在每个页面之间切换。在一个页面上,我使用引导选项卡在页面内容之间切换。当您通过任何ajax链接被定向到页面时,一切都能正常工作,但是如果您手动键入url,选项卡内容不会改变。当您单击选项卡时,选项卡本身将更改,但内容仍保留在原始内容上。我最初认为它可能与我正在使用的javascript有关,这样您就可以使用hashtag将用户指向某个选项卡,但当我删除代码时,它仍然不起作用。代码如下:

 <div class="tabbable"> <!-- Only required for left/right tabs -->
     <ul class="nav nav-tabs">
         <li class="active"><a href="#tab1" data-toggle="tab">Tab 1</a></li>
         <li><a href="#tab2" data-toggle="tab">Tab 2</a></li>
         <li><a href="#tab3" data-toggle="tab">Tab 3</a></li>
         <li><a href="#tab4" data-toggle="tab">Tab 4</a></li>
     </ul>
 <div class="tab-content">
     <div class="tab-pane active" id="tab1">
         Tab #1
     </div>
     <div class="tab-pane" id="tab2">
         Tab #2
     </div>
     <div class="tab-pane" id="tab3">
         Tab #3
     </div>
     <div class="tab-pane" id="tab4">
         Tab #4
     </div>
</div>
<script>
    $(function(){
        if (window.location.hash) {
            var hash = window.location.hash;
            var tab = $('[data-toggle="tab"][href="' + hash + '"]');

            tab.show();
            tab.tab('show');
        }
    });
</script>

表1 表2 表3 表4 $(函数(){ if(window.location.hash){ var hash=window.location.hash; var tab=$('[data toggle=“tab”][href='+hash+'“]'); tab.show(); tab.tab('show'); } });

有人能帮我吗?

您必须向
hashchange
窗口事件添加一个侦听器

您可能没有使用哈希打开页面。此时,您的脚本已执行。当您更改地址栏中的哈希值时,页面将不会被重新加载。所以没有人来处理这个事件。为此,您可以使用
hashchange
事件来响应这些更改

有关此事件的更多信息和示例,请参阅文档

如果您使用的是jQuery,请查看以下内容