- 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】
 - 【创作不易,点个赞就是对我最大的支持】
 
前言
仅作为学习笔记,供大家参考
 总结的不错的话,记得点赞收藏关注哦!
 
思路:因为load方法每次加载的时候不会加载js(可能),导致面板之间来回跳转有问题,所以要去掉所有面板的head和foot只留一个默认面板的
解决方法:将面板的公共js都放在每次面板的加载事件load方法里边
目录
- 前言
 - 选项卡index页面
 - html代码
 - index中js代码
 
- 面板部分代码
 
注意:我的面板页面之间都是独立的,这样不会乱,选项卡页面也是独立的,命名index,可以这么理解:选项卡其实就是作为面板的head部分,面板作为body
选项卡index页面
这里只用一个面板项,动态load加载
html代码
<ul id="myTab" class="nav nav-tabs">
    <li class="active"><a id="l_repeatTest" data-toggle="tab" >未回复</a></li>
    <li><a id="l_syncConfig" data-toggle="tab">申请延期</a></li>
    <li><a id="l_channelConfig"  data-toggle="tab">已回复</a></li>
    <li><a id="l_returned"  data-toggle="tab">已退回</a></li>
    <li><a id="l_audited"  data-toggle="tab">已审核</a></li>
</ul>
<div class="tab-content">
    <div class="tab-pane fade i in active">
        <div class="panel-body" id="task">
        </div>
    </div>
</div>
 
把公共的js,就是面板每次要加载的js都放到index选项卡页面来加载
index中js代码
<script th:inline="javascript">
    var prefix = ctx + "business/task";
    $(function () {  
        initLoad("task");//默认加载第一个面板
    });
  //选项卡事件
    $("#l_repeatTest").click(function(){
        initLoad("task");
    });
    $("#l_syncConfig").click(function(){
        initLoad("extension");
    });
    function reloads() {//自定义刷新方法
        location.reload();
    }
    //通用方法(关键部分)
    function initLoad(res){
        $("#task").load(prefix+"/"+res,function (){
            //所有面板的公共默认加载js放这里
            layui.use('laydate', function(){
                var laydate = layui.laydate;
                laydate.render({
                    elem: '#year',
                    type: 'year',
                    done: function(value, date) {
                        $.table.refresh();
                    }
                });
            });
        });
    }
</script>
 
面板部分代码
面板主要就是将head和foot删掉就可以,其余的不变,例如渲染表格等js

 
创作不易,点个赞就是对我最大的支持~
wxgzh:程序员温眉
CSDN:程序员温眉
每天进步一点点的程序员



















