layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
PiNosan 人气:0其实这篇文章是给自己看的,以后忘记怎么做回来还能看一下
点击左侧菜单栏只刷新局部,局部就用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" style="width: 100%; height: 100%;"></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点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
加载全部内容