帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» JS树形菜单
JS树形菜单
浏览:788次
-
评论:0次
-
发布时间:2017-08-21
Html
Css
Js
.menuTree { margin-left:-30px; } .menuTree div { padding-left:30px; } .menuTree div ul { overflow:hidden; display:none; height:auto; } .menuTree span { display:block; height:25px; line-height:25px; padding-left:5px; margin:1px 0; cursor:pointer; border-bottom:1px solid #CCC; } .menuTree span:hover { background-color:#e6e6e6; color:#cf0404; } .menuTree a { color:#333; text-decoration:none; } .menuTree a:hover { color:#06F; } .btn { height:30px; margin-top:10px; border-bottom:1px solid #CCC; }
var json = [{ "name": "*a", "list": [{ "name": "**a", "url": "#a1" }, { "name": "**aa", "list": [{ "name": "***a", "url": "#a11" }, { "name": "***aa", "list": [{ "name": "****a", "url": "#a111" }, { "name": "****aa", "list": [{ "name": "*****a", "url": "#a1111" }, { "name": "*****aa", "url": "#a1112" }] }] }, { "name": "***aaa", "url": "#a13" }, { "name": "***aaaa", "url": "#a14" }] }, { "name": "**a", "url": "#a3" }] }, { "name": "*b", "list": [{ "name": "**b", "url": "#b1" }, { "name": "**bb", "list": [{ "name": "****b", "url": "#b111" }, { "name": "****bb", "url": "#b112" }] }, ] }, { "name": "*c", "list": [{ "name": "**c", "url": "#c1" }, { "name": "**cc", "url": "#c2" }] }, { "name": "*d" }] /*递归实现获取无级树数据并生成DOM结构*/ var str = ""; var forTree = function(o) { for (var i = 0; i < o.length; i++) { var urlstr = ""; try { if (typeof o[i]["url"] == "undefined") { urlstr = "
" + o[i]["name"] + "
"; } else { urlstr = "
" + o[i]["name"] + "
"; } str += urlstr; if (o[i]["list"] != null) { forTree(o[i]["list"]); } str += "
"; } catch (e) {} } return str; } /*添加无级树*/ document.getElementById("menuTree").innerHTML = forTree(json); /*树形菜单*/ var menuTree = function() { //给有子对象的元素加[+-] $("#menuTree ul").each(function(index, element) { var ulContent = $(element).html(); var spanContent = $(element).siblings("span").html(); if (ulContent) { $(element).siblings("span").html("[+] " + spanContent) } }); $("#menuTree").find("div span").click(function() { var ul = $(this).siblings("ul"); var spanStr = $(this).html(); var spanContent = spanStr.substr(3, spanStr.length); if (ul.find("div").html() != null) { if (ul.css("display") == "none") { ul.show(300); $(this).html("[-] " + spanContent); } else { ul.hide(300); $(this).html("[+] " + spanContent); } } }) }() /*展开*/ $("#btn_open").click(function() { $("#menuTree ul").show(300); curzt("-"); }) /*收缩*/ $("#btn_close").click(function() { $("#menuTree ul").hide(300); curzt("+"); }) function curzt(v) { $("#menuTree span").each(function(index, element) { var ul = $(this).siblings("ul"); var spanStr = $(this).html(); var spanContent = spanStr.substr(3, spanStr.length); if (ul.find("div").html() != null) { $(this).html("[" + v + "] " + spanContent); } }); }
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>JS树形菜单-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:JS无限级树形菜单
JS获取时间、转换时间(笔记)
CSS实现蚂蚁边框线(IE10+)
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
788
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值