标签内的嵌套式Accordions

时间:2014-01-21 15:43:17

标签: javascript jquery html jquery-ui

这个论坛的新人请你温柔!我一直在使用JQuery Accordions的问题,这些问题在一组标签内。标签工作正常,手风琴也很好,但......我真正想要的是能够使用手风琴部分内的链接转到手风琴的另一部分。手风琴将被用作说明书,因此在某些部分中会有一些基本上对用户说“看到这一部分”。

我已经在这里检查了某些答案,例如:jquery ui accordions within tabshttp://jsfiddle.net/9nKZp/1/show/#1|并且已经在互联网上检查了搜索带有锚点的Accordions以及标签中的嵌套Accordions但是我已经要来了穿过这个完成!!真的不相信没有人这样做过!

这是我到目前为止的代码:

<!-- tabs -->
<link rel="stylesheet" href="/resources/css/tabs.css" type="text/css" media="screen" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="/resources/js/tabs.js"></script>
<!-- ENDS tabs -->
<!-- accordion -->
<link rel="stylesheet" href="/resources/css/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<!-- ENDS accordion -->

<script>
    $(function () {
        $(".accordion").accordion({
            collapsible: true,
            heightStyle: "content",
            active: false,

        });
    });
</script>

<!-- TABS START -->
<div class="tabs_wrapper">
    <!-- 1st new tab design START -->
    <div id="new_tabs">
        <ul>
            <li class="active"><a href="#tab1" rel="tab1">Tab1</a></li>
            <li><a href="#tab2" rel="tab2">Tab2</a></li>
            <li><a href="#tab3" rel="tab3">Tab3</a></li>

        </ul>
    </div>
    <div id="new_tabs_content">
        <div id="tab1" class="tab_content" style="display: block;">

            <p>
                Data on first tab
            </p>


        </div>
        <div id="tab2" class="tab_content">
            <h1>Tab2</h1>

            <div class="accordion">

                <h3><a id="#1">1</a></h3>
                <div>
                    Content of 1
                    <div class="accordion">
                        <h3><a id="#1.1">1.1</a></h3>
                        <div>
                            Content of 1.1
                            <div class="accordion">
                                <h3><a id="#1.1.1">1.1.1</a></h3>
                                <div>
                                    Content of 1.1.1, please see <a href="#2.1.2">2.1.2</a>
                                </div>
                                <h3><a id="#1.1.2">1.1.2</a></h3>
                                <div>
                                    Content of 1.1.2
                                </div>
                                <h3><a id="#1.1.3">1.1.3</a></h3>
                                <div>
                                    Content of 1.1.3
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <h3><a id="#2">2</a></h3>
                <div>
                    Content of 2
                    <div class="accordion">
                        <h3><a id="#2.1.1">2.1.1</a></h3>
                        <div>
                            Content of 2.1.1
                        </div>
                        <h3><a id="#2.1.2">2.1.2</a></h3>
                        <div>
                            Content of 2.1.2
                        </div>
                        <h3><a id="#2.1.3">2.1.3</a></h3>
                        <div>
                            Content of 2.1.3
                        </div>
                    </div>
                </div>
            </div>

        </div>
        <div id="tab3" class="tab_content">
            <h1>Tab3</h1>
            <p>another load of data</p>
        </div>

    </div>
    <!-- 1st new tab design END -->
</div>
<!-- TABS END -->

如果您需要我正在使用的任何其他代码,请告诉我们,例如tabs.js等。

请帮帮我!!这一切都可能!?

非常感谢和大拥抱,如果你可以帮助!!: - )

1 个答案:

答案 0 :(得分:1)

以下是如何让这个工作的想法。

在示例http://jsfiddle.net/9nKZp/1/show/#1|1中,标签链接似乎有效,但只有在新标签页中加载页面时才有效,而不是链接。

你需要你自己的jsfiddle(你已经有一个v.1),你应该放置一些示例内容,从一个标签/问题链接到另一个标签/问题(或者可能有相同标签的链接,但是另一个问题)!您还应该将半工作示例中的代码实现到您的代码中。

然后逻辑如下(使用jQuery的例子):

(1)为您放置在标签内的每个链接创建点击事件,类似于:

$('#all_tabs_container a').click( function(){
    checkInternalLinks();
});

在函数checkInternalLinks()...:

(2)您应该检查链接是否是内部的(#...)以及它是否为已知格式(例如:#x | x或#x | x | x或两者)

(3)验证此链接时,您需要制定特定的功能来切换标签和手风琴。

(4)所需的功能已经存在(!),但是在页面加载时,你需要花一些时间来实现它是什么,所以你可以将相同的代码复制到onclick事件功能

如果你喜欢这个主意,你就可以开始了!即使你无法完成它,我也相信别人会帮忙: - )