若依tab-content面板失效、使用load的解决方法(附详细步骤)

文章讲述了如何在JavaScript中处理由于`load`方法导致的面板间来回跳转问题,方法是将公共JS移动到每个面板的load事件中执行,确保面板间的独立性。作者还提供了HTML和JavaScript代码示例,展示了如何动态加载面板内容并包含一个自定义刷新方法。
摘要由CSDN通过智能技术生成
  • 【版权所有,文章允许转载,但须以链接方式注明源地址,否则追究法律责任】
  • 【创作不易,点个赞就是对我最大的支持】

前言

仅作为学习笔记,供大家参考
总结的不错的话,记得点赞收藏关注哦!

思路:因为load方法每次加载的时候不会加载js(可能),导致面板之间来回跳转有问题,所以要去掉所有面板的head和foot只留一个默认面板的
解决方法:将面板的公共js都放在每次面板的加载事件load方法里边

注意:我的面板页面之间都是独立的,这样不会乱,选项卡页面也是独立的,命名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:程序员温眉

每天进步一点点的程序员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值