小弟最近在写个仿360或百度的云盘效果。
不知道他们的文件夹列表加载,然后点击打开下一层是如何实现的?
小弟自己写了个,虽然实现了,但js调试的时候出现了无限加载的问题。
因为需要服务器端的支持,就贴一下核心函数。
//加载列表数据
function loadListData() {
//列表加载
$.post("ListHandler.ashx", { folderId: curFolderId(), isPublic: isPublic(), operate: "list" }, function (data) {
$("#list").html(data);
//点击文件夹进入子列表
$("#list li .text").on("click", function (e) {
//加载面包屑
loadCrumb();
//加载列表数据
loadListData();
}
});
});
}
//加载面包屑
function loadCrumb() {
$.post("ListHandler.ashx", { folderId: curFolderId(), isPublic: isPublic(), operate: "crumb" }, function (data) {
$("#crumb .crumb-path").html(data);
//面包屑点击事件
$("#crumb .crumb-path span").on("click", function () {
//加载列表
loadListData();
//加载面包屑
loadCrumb();
});
});
}
然后用到需要列表刷新的地方发就用loadListData();
loadCrumb函数就是为了加载导航栏的
整体效果请参考360云盘,打开文件夹,文件列表的显示以及导航栏的变化,然后导航栏中点击可返回上一级或全部文件等。
感觉这样的写法是否正确,请大神指点