// 一级目录标题 function level1Title(name) { return ( '<p class="show-detail" onclick = "showChildren(this)">' + '<span class="triangle triangle-left"></span>' + name + "</p>" ); } // 一级目录下的链接 function level1TitleItem(href, name) { return ( '<li class="files-tree-item-level2">' + '<span class="selected-out">' + '<span class="selected-in"></span>' + "</span>" + '<a class="nounderline" href="' + href + '" download="' + name + '">' + name + "</a>" + "</li>" ); } // 文件目录处理 function calalog(arr) { for (var i = 0; i < arr.length; i++) { str += "<li class='files-tree-item'>" + level1Title(arr[i].nodeName); if (arr[i].childNodeList && arr[i].childNodeList.length > 0) { sigalStr = ""; sigalCalalog(arr[i].childNodeList); str += sigalStr; str += "</li>"; } else { str += "</li>"; } } $(".files-tree").append(str); } // 多级目录 function sigalCalalog(arr) { sigalStr += "<ul class='show-more'>"; for (var i = 0; i < arr.length; i++) { if (arr[i] && arr[i].childNodeList && arr[i].childNodeList.length > 0) { sigalStr += "<li class='files-tree-item'>" + level1Title(arr[i].nodeName); sigalCalalog(arr[i].childNodeList); sigalStr += "</li>"; } else { sigalStr += level1TitleItem(arr[i].fileUri, arr[i].nodeName); } } sigalStr += "</ul>"; }
//显示&&隐藏子目录
function showChildren(that) {
var showMore = $(that).next();
if (showMore.css("display") === "none") {
showMore.css("display", "block");
} else {
showMore.css("display", "none");
}
var showIcon = $(that).find($(".triangle"));
var showIconClasses = showIcon.attr("class");
if (showIconClasses.indexOf("triangle-left") > 0) {
showIcon.removeClass("triangle-left");
showIcon.addClass("triangle-bottom");
} else {
showIcon.addClass("triangle-left");
showIcon.removeClass("triangle-bottom");
}
}