/** * @name: vip-admin 后台模板主入口 * @author: 随丶 */ // 配置 layui.config({ base: './frame/static/js/' // 模块目录 }).extend({ // 模块别名 vip_nav: 'vip_nav' , vip_tab: 'vip_tab' , vip_table: 'vip_table' }); // 主入口方法 layui.use(['layer', 'element', 'util'], function () { // 操作对象 var device = layui.device() , element = layui.element , layer = layui.layer , util = layui.util , $ = layui.jquery , cardIdx = 0 , cardLayId = 0 , side = $('.my-side') , body = $('.my-body') , footer = $('.my-footer'); //阻止IE7以下访问 if (device.ie && device.ie < 8) { layer.alert('如果您非得使用ie浏览vip-admin 后台模板,那么请使用ie8+'); } // 导航栏收缩 function navHide(t, st) { var time = t ? t : 50; st ? localStorage.log = 1 : localStorage.log = 0; side.animate({'left': -200}, time); body.animate({'left': 0}, time); footer.animate({'left': 0}, time); } // 导航栏展开 function navShow(t, st) { var time = t ? t : 50; st ? localStorage.log = 0 : localStorage.log = 1; side.animate({'left': 0}, time); body.animate({'left': 200}, time); footer.animate({'left': 200}, time); } // 监听导航栏收缩 $('.btn-nav').on('click', function () { if (localStorage.log == 0) { navShow(50); } else { navHide(50); } }); // 根据导航栏text获取lay-id function getTitleId(card, title) { var id = -1; $(document).find(".layui-tab[lay-filter=" + card + "] ul li").each(function () { if (title === $(this).find('span').html()) { id = $(this).attr('lay-id'); } }); return id; } // 添加TAB选项卡 window.addTab = function (elem, tit, url) { var card = 'card'; // 选项卡对象 var title = tit ? tit : elem.children('a').html(); // 导航栏text var src = url ? url : elem.children('a').attr('href-url'); // 导航栏跳转URL var id = new Date().getTime(); // ID var flag = getTitleId(card, title); $('#iframe').attr('src',src); return; // 是否有该选项卡存在 // 大于0就是有该选项卡了 if (flag > 0) { id = flag; } else { if (src) { //新增 element.tabAdd(card, { title: '' + title + '' , content: '' , id: id }); // 关闭弹窗 layer.closeAll(); } } // 切换相应的ID tab element.tabChange(card, id); // 提示信息 // layer.msg(title); }; // 监听顶部左侧导航 element.on('nav(side-top-left)', function (elem) { // 添加tab方法 window.addTab(elem); }); // 监听顶部右侧导航 element.on('nav(side-top-right)', function (elem) { // 修改skin if ($(this).attr('data-skin')) { localStorage.skin = $(this).attr('data-skin'); skin(); } else { // 添加tab方法 window.addTab(elem); } }); // 监听导航(side-main)点击切换页面 element.on('nav(side-main)', function (elem) { // 添加tab方法 window.addTab(elem); }); // 删除选项卡 window.delTab = function (layId) { // 删除 element.tabDelete('card', layId); }; // 删除所有选项卡 window.delAllTab = function () { // 选项卡对象 layui.each($('.my-body .layui-tab-title > li'), function (k, v) { var layId = $(v).attr('lay-id'); if (layId > 1) { // 删除 element.tabDelete('card', layId); } }); }; // 获取当前选中选项卡lay-id window.getThisTabID = function () { // 当前选中的选项卡id return $(document).find('body .my-body .layui-tab-card > .layui-tab-title .layui-this').attr('lay-id'); }; // 双击关闭相应选项卡 $(document).on('dblclick', '.my-body .layui-tab-card > .layui-tab-title li', function () { // 欢迎页面以外,删除选项卡 if ($(this).index() > 0) { element.tabDelete('card', $(this).attr('lay-id')); } else { layer.msg('欢迎页面不能关闭') } }); // 选项卡右键事件阻止 $(document).on("contextmenu", '.my-body .layui-tab-card > .layui-tab-title li', function () { return false; }); // 选项卡右键事件 $(document).on("mousedown", '.my-body .layui-tab-card > .layui-tab-title li', function (e) { // 判断是右键点击事件并且不是欢迎页面选项卡 if (3 == e.which && $(this).index() > 0) { // 赋值 cardIdx = $(this).index(); cardLayId = $(this).attr('lay-id'); // 选择框 layer.tips($('.my-dblclick-box').html(), $(this), { skin: 'dblclick-tips-box', tips: 3, time: false }); } }); // 点击body关闭tips $(document).on('click', 'html', function () { layer.closeAll('tips'); }); // 右键提示框菜单操作-刷新页面 $(document).on('click', '.card-refresh', function () { // 窗体对象 var ifr = $(document).find('.my-body .layui-tab-content .layui-tab-item iframe').eq(cardIdx); // 刷新当前页 ifr.attr('src', ifr.attr('src')); // 切换到当前选项卡 element.tabChange('card', cardLayId); }); // 右键提示框菜单操作-关闭页面 $(document).on('click', '.card-close', function () { // 删除 window.delTab(cardLayId); }); // 右键提示框菜单操作-关闭所有页面 $(document).on('click', '.card-close-all', function () { // 删除 window.delAllTab(); }); // 打赏 $('.pay').on('click', function () { layer.open({ type: 1, title: false, // 标题不显示 closeBtn: false, // 关闭按钮不显示 shadeClose: true, // 点击遮罩关闭 area: ['auto', 'auto'], // 宽高 content: $('.my-pay-box') // 弹出内容 }); }); // 皮肤 function skin() { var skin = localStorage.skin ? localStorage.skin : 0; var body = $('body'); body.removeClass('skin-0'); body.removeClass('skin-1'); body.removeClass('skin-2'); body.addClass('skin-' + skin); } // 工具 function _util() { var bar = $('.layui-fixbar'); // 分辨率小于1023 使用内部工具组件 if ($(window).width() < 1023) { util.fixbar({ bar1: '' , css: {left: 10, bottom: 54} , click: function (type) { if (type === 'bar1') { //iframe层 layer.open({ type: 1, // 类型 title: false, // 标题 offset: 'l', // 定位 左边 closeBtn: 0, // 关闭按钮 anim: 0, // 动画 shadeClose: true, // 点击遮罩关闭 shade: 0.8, // 半透明 area: ['150px', '100%'], // 区域 skin: 'my-mobile', // 样式 content: $('body .my-side').html() // 内容 }); } element.init(); } }); bar.removeClass('layui-hide'); bar.addClass('layui-show'); } else { bar.removeClass('layui-show'); bar.addClass('layui-hide'); } }; // 自适应 $(window).on('resize', function () { if ($(window).width() > 1023) { navShow(10); } else { navHide(10); } _util(); }); // 监听控制content高度 function init() { // 起始判断-收缩/展开 if (!localStorage.log) { if ($(window).width() > 1023) { if (localStorage.log == 0) { navHide(10); } else { navShow(10); } } else { navHide(10); } } else { if (localStorage.log == 0) { navHide(10); } else { navShow(10); } } // 工具 _util(); // skin skin(); // 选项卡高度 cardTitleHeight = $(document).find(".layui-tab[lay-filter='card'] ul.layui-tab-title").height(); // 需要减去的高度 height = $(window).height() - $('.layui-header').height() - cardTitleHeight - $('.layui-footer').height(); // 设置高度 $(document).find(".layui-tab[lay-filter='card'] div.layui-tab-content").height(height - 2); } // 初始化 init(); });