首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用jquery实现树状菜单

问如何用jquery实现树状菜单
EN

Stack Overflow用户
提问于 2016-10-03 08:55:04
回答 4查看 1.2K关注 0票数 1

我想为这个例子实现树菜单。首先,所有的一切都必须关闭。当我们点击设施,Bulidngs必须显示为intree格式,然后,如果我们点击XYZ建筑楼层必须附加。就像那样..。

我试过这段代码,但是没有人能帮我解决问题。

​

代码语言:javascript
复制
    $('.treemenu').click(function () {
        $(this).parent().children('ul.subtree');
    });
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<ul class="treemenu">
    <li>Facility
    <ul class="subtree">
    <li>Building
    <ul class="subtree">
    	<li>Royal Building</li>
    	<li>Taj Building</li>
    	<li>XYZ Building
    		<ul class="subtree">
    			<li>Floors
    				<ul class="subtree">
    					<li>1st Floor</li>
    					<li>2nd Floor</li>
    					<li>3rd Floor</li>
    				</ul>
    			</li>
    		</ul>
    	</li>
    </ul>
    </li>
    </ul>
    </li>
    </ul>

​

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-10-03 09:09:10

  1. 把所有的树都藏起来。
  2. 添加将在父项上切换子树的js。

​

代码语言:javascript
复制
<style>
    .subtree{
        display: none;
    }
    .treeitem{
        cursor: pointer;
    }
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script>
    $(document).ready(function () {
        $('.treeitem').click(function () {
            $(this).next('ul.subtree').toggle();
        });
    });
</script>
<ul class="treemenu">
    <li><span class="treeitem">Facility</span>
        <ul class="subtree">
            <li><span class="treeitem">Building</span>
                <ul class="subtree">
                    <li>Royal Building</li>
                    <li>Taj Building</li>
                    <li><span class="treeitem">XYZ Building</span>
                        <ul class="subtree">
                            <li><span class="treeitem">Floors</span>
                                <ul class="subtree">
                                    <li>1st Floor</li>
                                    <li>2nd Floor</li>
                                    <li>3rd Floor</li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

​

票数 3
EN

Stack Overflow用户

发布于 2016-10-03 09:02:00

首先,隐藏所有的.subtree,然后点击li显示它的ul子。

​

代码语言:javascript
复制
$(".subtree").hide();
$('.treemenu li').click(function () {
  $(this).children('ul.subtree').show();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="treemenu">
  <li>Facility
    <ul class="subtree">
      <li>Building
        <ul class="subtree">
          <li>Royal Building</li>
          <li>Taj Building</li>
          <li>XYZ Building
            <ul class="subtree">
              <li>Floors
                <ul class="subtree">
                  <li>1st Floor</li>
                  <li>2nd Floor</li>
                  <li>3rd Floor</li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

​

票数 2
EN

Stack Overflow用户

发布于 2016-10-03 09:04:10

为此,您可以使用JSTree库。它的文档是可用的这里。它是一个完全定制和易于使用的库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39827787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档