把界面做了下模块化封装。把主要的js贴上来吧。
项目截图
看到没,主要的views里就放各个界面要用模板文件
/** 项目JS主入口 **/ var view_path = './views'; layui.define(['layer', 'element'], function (exports) { var layer = layui.layer , element = layui.element , $ = layui.$; var check = function () { var router = layui.router(location.hash) , params = router.search , path = router.path; // 通过 path 获得对应 view var view_path = './views', view_html = ''; for (i = 0; i < path.length; i++) { view_path = view_path + '/' + path[i]; } if (!path[0]) { view_path = view_path + '/index'; } if (!path[1]) { view_path = view_path + '/index'; } view_path += '.aardio'; //这是调用aardio的函数,网页里要屏蔽,最终上线时都要屏蔽 external.conlog(path); external.conlog(view_path); var loading = layer.load(2); $.ajax({ type: 'get' , url: view_path , success: function (res) { // 填充到页面 $('.content').html(res); layer.close(loading); } , error: function (res) { layer.msg('模板不存在'); layer.close(loading); return 0; } }); }; check(); window.addEventListener('hashchange', function () { //添加事件监听,锚部分发生变化时执行 check(); }); /* $(".layui-layout-left .layui-nav-item a").click(function(){ check(); });*/ exports('app', {}); });
经过试验,快速点动却换的时候有报内存不足,暂时不管它。
直接打包传附件吧。