繁体   English   中英

html / javascript选项卡控制器不起作用

[英]html / javascript tab controllers not working

我目前正在为我正在研究的项目确定一个简单的网站。 我有两个选项卡控件。 一个在页面的右侧,一个在左侧。 两者都有3个选项卡,单击它们可显示不同的内容。 我前一阵子创建了,并且运行良好,最近我回来了,试图添加第二个。 问题是,当页面加载时,第一个工作,但是第二个加载,所有三个内容区域都显示在页面下方。 奇怪的是,一旦我单击第二个控制器上的一个选项卡,就只显示该选项卡,并且整个控件似乎可以像另一个控件一样正常工作。

我确定我犯了一个愚蠢的错误,但是我似乎找不到它。 任何帮助将不胜感激。

我的代码如下:

<div id="graphWrapper">
        <ul class="tabs">
            <li><a href="#" class="defaulttab" rel="tabs1">Daily</a></li>
            <li><a href="#" rel="tabs2">Gender</a></li>
            <li><a href="#" rel="tabs3">Age</a></li>
        </ul>

    <div class="tab-content" id="tabs1">Graph Content 1</div>
    <div class="tab-content" id="tabs2">Graph Content 2</div>
    <div class="tab-content" id="tabs3">Graph Content 3</div>
    </div>

<div id="reportWrapper">
        <ul class="tabs2">
            <li><a href="#" class="defaulttab2" rel2="tabsR1">Report 1</a></li>
            <li><a href="#" rel2="tabsR2">Report 2</a></li>
            <li><a href="#" rel2="tabsR3">Report 3</a></li>
        </ul>

    <div class="tab-content2" id="tabsR1">Report Content 1</div>
    <div class="tab-content2" id="tabsR2">Report Content 2</div>
    <div class="tab-content2" id="tabsR3">Report Content 3</div>
    </div>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>

    <script>

        $(document).ready(function() {


            $('.tabs2 a').click(function(){
                switch_tabs2($(this));
            });

            switch_tabs($('.defaulttab'));
            switch_tabs2($('.defaulttab2'));

    });

        function switch_tabs(obj)
        {
        $('.tab-content').hide();
        $('.tabs a').removeClass("selected");
        var id = obj.attr("rel");

        $('#'+id).show();
        obj.addClass("selected");
        chart3.invalidateSize();
        chart4.invalidateSize();
        chart5.invalidateSize();
        }

        function switch_tabs2(obj2)
        {
        $('.tab-content2').hide();
        $('.tabs2 a').removeClass("selected2");
        var id2 = obj2.attr("rel2");

        $('#'+id2).show();
        obj2.addClass("selected2");

        }


    </script>

chart3.invalidateSize();处引发异常chart3.invalidateSize(); 该异常阻止switch_tabs2()被调用。

Uncaught ReferenceError: chart3 is not defined 

您可以使用浏览器的开发工具来查看是否遇到异常:

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM