· 开发文档

· 支付社区

首页

小新支付

文档中心

支付社区

关于我们

layuiAdmin.pro(单页版) 页面自动刷新功能

已结 分享 2 3602
terrfly
terrfly 2019-11-07 11:23:18
悬赏:20 收藏
问题: 页面下的自动刷新功能, 影响了其他页面。 问题追溯: 由于layuiAdmin.Pro 采用了单页面方式,所有页面放置在统一DIV下, 每个业务页面仅局部替换, 所有当页面设置了 window.setInterval(); 其他是全局的设置项,所有业务页面都是调用。 问题代码: [pre] var xxxxProcessRefFunc = function(){ $('#search').click(); } window.setInterval(xxxxProcessRefFunc, 10000); //每10秒执行一次 [/pre] 改动后的代码介绍: 业务名: xxxx ID为search的按钮需绑定属性: xxxxAutoRef="true" 或者 xxxxAutoRef="false" (每个页面必须不一样,避免冲突) 属性说明: xxxxAutoRef : 是否开启自动刷新: true / false; initSubTime :间隔秒数, 固定不变,当搜索后按照此时间判断; subTime: 当前剩余时间秒数, 默认时间需与initSubTime一致, 后续无需手动处理; HTML: [pre] <div class="layui-input-inline"> <label class="layui-form-label">自动刷新</label> <input type="checkbox" lay-filter="xxxxAutoRefCheckbox" lay-skin="switch" /> </div> <button id="search" xxxxAutoRef="false" subTime="9" initSubTime="9" class="layui-btn" data-type="reload">搜索</button> [/pre] JS: [pre] form.on("switch(xxxxAutoRefCheckbox)", function(data){ if(data.elem.checked){ //开启 $("#search[xxxxAutoRef]").attr("xxxxAutoRef", "true"); }else{ $("#search[xxxxAutoRef]").attr("xxxxAutoRef", "false"); } }); //定时刷新 定时任务, 先清除, 后新增 if(typeof(xxxxInterval) != 'undefined'){ window.clearInterval(xxxxInterval); } var xxxxProcessRefFunc = function(){ //处理刷新任务 var _searchBtn = layui.$("#search[xxxxAutoRef]"); if(_searchBtn.length > 0){ if(_searchBtn.attr("xxxxAutoRef") != "true"){ //未开启 return _searchBtn.text("搜索"); } //开启定时刷新 var subTime = _searchBtn.attr('subTime') * 1; if(subTime <= 0){ layui.$('#search').click(); subTime = _searchBtn.attr('initSubTime') * 1; } _searchBtn.text("搜索("+subTime+"s)"); subTime--; _searchBtn.attr('subTime', subTime); }else{ //当查询控件不存在不在内,说明不是本页面,删除该定时任务器 window.clearInterval(xxxxInterval); } } var xxxxInterval = window.setInterval(xxxxProcessRefFunc, 1000); //每秒执行 [/pre] 这样就再也不会出现定时刷新页面影响其他页面啦。。face[可爱] face[可爱] ,并且加入了控制按钮, 效果图如下: img[http://oss.xxpay.vip/img/39292175-af62-4870-9e26-b0308da8e4433800001856417383676.png]
回帖
  • 2020-10-21 10:00:38
    非常实用的一个功能face[good]
    0
  • 2020-11-23 17:04:33
    @你好啊 一起加油!face[嘻嘻]
    0
本周热议