国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS無限極樹形菜單,json格式、數組格式通用示例

2024-05-06 15:49:35
字體:
來源:轉載
供稿:網友
本文為大家介紹下JS無級樹形菜單的實現,修改了一下數據格式,是json和數組或者混合型的數據都通用,不用特定key等,想學習的朋友可以參考下

修改了一下數據格式,是json和數組或者混合型的數據都通用,不用特定key等

復制代碼 代碼如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://d1.lashouimg.com/static/js/release/jquery-1.4.2.min.js"></script>
<title>JS無級樹樹形菜單,json格式,數組格式通用</title>
<style type="text/css">
.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;
}
</style>
</head>
<body>
<div>
<input type="button" value="全部展開" />  
<input type="button" value="全部收縮" />
</div>
<div>
</div>
</body>
</html>
<script type="text/javascript">
var json = { "navnums": { "0": "8051", "4": "4969", "8": "206", "5": "126", "9": "2174" }, "hotwords": "美食", "mvonline": [9, 8, [9, 8, 7, 6, 5, 4], 6, 5, 4], "district_online": "1", "zone_online": "1", "subway_online": "1", "city_online": "1" };
/*遞歸實現獲取無級樹數據并生成DOM結構*/
var str = "";
var forTree = function (o) {
var urlstr = "";
var keys = new Array();
for (var key in o) {
keys.push(key);
}
for (var j = 0; j < keys.length; j++) {
k = keys[j];
if (typeof o[k] == "object") {
urlstr = "<div><span>" + k + "</span><ul>";
} else {
urlstr = "<div><span>" + k + "=" + o[k] + "</span><ul>";
}
str += urlstr;
var kcn = 0;
if (typeof o[k] == "object") {
for (var kc in o[k]) {
kcn++;
}
}
if (kcn > 0) {
forTree(o[k]);
}
str += "</ul></div>";
}
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);
}
});
}
</script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 东源县| 林芝县| 即墨市| 个旧市| 新巴尔虎左旗| 漳浦县| 黑水县| 宁化县| 康乐县| 剑川县| 德安县| 仙桃市| 黔西县| 隆化县| 图们市| 双流县| 台山市| 洪江市| 新兴县| 秦皇岛市| 凤阳县| 云龙县| 教育| 内乡县| 黄骅市| 五指山市| 额尔古纳市| 江油市| 永平县| 修文县| 汪清县| 呼伦贝尔市| 隆回县| 同德县| 湘潭县| 潼南县| 灵石县| 交口县| 南靖县| 永丰县| 花垣县|