温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法

发布时间:2020-10-05 18:18:13 来源:脚本之家 阅读:625 作者:PiNosan 栏目:web开发

其实这篇文章是给自己看的,以后忘记怎么做回来还能看一下

点击左侧菜单栏只刷新局部,局部就用iframe。

首先先建layout页,建左侧菜单栏,然后下面的@RenderBody()

<div class="layui-side layui-bg-black">
   <div class="layui-side-scroll">
     <!-- 左侧导航区域(可配合layui已有的垂直导航) -->
     <ul class="layui-nav layui-nav-tree" lay-filter="test">
 
       <li class="layui-nav-item layui-nav-itemed Card">
         <a class="" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >名片审核</a>
       </li>
 
       <li class="layui-nav-item Project">
         <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >项目审核</a>
       </li>
 
       <li class="layui-nav-item Funds"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >需求审核</a></li>
     </ul>
   </div>
</div>
<div class="layui-body">
  @RenderBody()
  @RenderSection("scripts", required: false)
</div>

然后在最后写上js用于点击跳转,上面的@RenderSection("scripts", required: false)和下面的#demoAdmin都在另一个页面中,也就是放iframe的页面

 <script>
    //JavaScript代码区域
    layui.use('element', function () {
      var $ = layui.jquery
        , element = layui.element;     
    });
    $(".Card").click(function () {
      $("#demoAdmin").attr("src", "/Admin/CardManagement")
    });
    $(".Project").click(function () {
      $("#demoAdmin").attr("src", "/Admin/ProjectManagement")
    });
    $(".Funds").click(function () {
      $("#demoAdmin").attr("src", "/Admin/FundsManagement")
    });
  </script>

新建HomeController,新建Index页面

@{
  Layout = null;
  Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}
 
<iframe src="/Admin/CardManagement" frameborder="0" id="demoAdmin" ></iframe>
 
 
@section scripts{
  <script>
  reHeight();
  $(window).resize(function () {
    reHeight();
  });
  //设置iframe高度
  function reHeight() {
  var bodyHeight = $(window).height();
  bodyHeight = bodyHeight - 107;
  if (bodyHeight<400) {
    bodyHeight = 400;
  }
  $("#demoAdmin").height(bodyHeight);
  }
  </script>

引用一下上面的layout。

其他页面引用Layout = "~/Areas/Admin/Views/Shared/_LayoutPage.cshtml";

我把css和js引用都放在了另一个layout里,所以我需要引用一下,否则页面会乱。

以上这篇layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI