layui中tab选项卡页面刷新后,不能停留在原选项卡页面问题解决

添加下面这段js代码即可

$(".layui-tab-title li").click(function(){
	var picTabNum = $(this).index();
	sessionStorage.setItem("picTabNum",picTabNum);
});
$(function(){
	var getPicTabNum = sessionStorage.getItem("picTabNum");
	$(".layui-tab-title li").eq(getPicTabNum).addClass("layui-this").siblings().removeClass("layui-this");
	$(".layui-tab-content>div").eq(getPicTabNum).addClass("layui-show").siblings().removeClass("layui-show");
})

完整测试代码(注意引入自己的layui.css/layui.js/jquery.min.js)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <link rel="stylesheet" href="layui.css">
    <title></title>
</head>
<body class="layui-view-body">
  <div class="layui-tab layui-tab-brief">
    <ul class="layui-tab-title">
      <li class="layui-this tab1">item1</li>
      <li class="tab2">item2</li>
      <li class="tab3">item3</li>
    </ul>
    <div class="layui-tab-content">
      <div class="layui-tab-item layui-show">
        tab1页面---f5刷新测试
      </div>
      <!--item2-->
      <div class="layui-tab-item">
        tab2页面---f5刷新测试
      </div>
      <!--item3-->
      <div class="layui-tab-item">
        tab3页面---f5刷新测试
      </div>
    </div>
  </div>
</body>

<script src="layui.all.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>

<script>
  $(".layui-tab-title li").click(function(){
  	var picTabNum = $(this).index();
  	sessionStorage.setItem("picTabNum",picTabNum);
  });
  $(function(){
  	var getPicTabNum = sessionStorage.getItem("picTabNum");
  	$(".layui-tab-title li").eq(getPicTabNum).addClass("layui-this").siblings().removeClass("layui-this");
  	$(".layui-tab-content>div").eq(getPicTabNum).addClass("layui-show").siblings().removeClass("layui-show");
  })
</script>
</html>
  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
要实现LayUITab选项卡切换显示对应的页面,可以通过以下步骤: 1. 在HTML创建Tab选项卡的结构,例如: ``` <div class="layui-tab"> <ul class="layui-tab-title"> <li class="layui-this">Tab1</li> <li>Tab2</li> <li>Tab3</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <!-- Tab1对应的页面 --> <iframe src="tab1.html"></iframe> </div> <div class="layui-tab-item"> <!-- Tab2对应的页面 --> <iframe src="tab2.html"></iframe> </div> <div class="layui-tab-item"> <!-- Tab3对应的页面 --> <iframe src="tab3.html"></iframe> </div> </div> </div> ``` 2. 在JavaScript使用LayUITab模块初始化Tab选项卡,例如: ``` layui.use('element', function(){ var element = layui.element; }); ``` 3. 在JavaScript监听Tab选项卡的切换事件,并根据选项卡的索引切换显示对应的页面,例如: ``` element.on('tab', function(data){ if(data.index === 0){ // 切换到Tab1对应的页面 $('iframe[src="tab1.html"]').show().siblings().hide(); }else if(data.index === 1){ // 切换到Tab2对应的页面 $('iframe[src="tab2.html"]').show().siblings().hide(); }else if(data.index === 2){ // 切换到Tab3对应的页面 $('iframe[src="tab3.html"]').show().siblings().hide(); } }); ``` 其,`data.index`表示选项卡的索引,从0开始计数。根据需要,可以在每个条件分支使用AJAX请求获取对应的页面并显示在iframe。注意,如果页面内容不是同源的,需要在iframe使用`sandbox`属性或者使用其他跨域请求的方法。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值