1、做一个导航栏,并设置跳转链接的<a>标签的name属性或id

此处演示name标签

 <!-- 导航条 -->
<nav id="navAjax" class="navbar navbar-expand-lg navbar-dark bg-dark" style="z-index:10;">
<a class="navbar-brand">学生管理系统</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button> <div class="collapse navbar-collapse " id="navbarSupportedContent">
<ul class="navbar navbar-nav mr-auto container">
<li class="nav-item active"><a class="nav-link" name="">主页
<span class="sr-only">(current)</span>
</a></li>
<li class="nav-item"><a class="nav-link" href="#">基本信息</a></li>
<li class="nav-item dropdown"><a
class="nav-link dropdown-toggle" href="#" id="navbarDropdown"
role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false"> 系统查询 </a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">基本信息</a> <a class="dropdown-item"
href="#">成绩信息</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">汇总信息</a>
</div></li>
<li class="nav-item" ><a name="changePassword.jsp" class="nav-link">修改密码</a></li>
<li class="nav-item col-6"></li>
<!-- session -->
<li class="nav-item mf-auto" >
<a id="loginSession" name="login.jsp" class="nav-link" tabindex="1" href="./login.jsp">登陆</a></li>
<li><a id="register" name="register.jsp" class="nav-link" >注册</a></li>
<!-- <script>userName("${session_user.name}");</script> -->
</ul>
</div>
</nav>

2、创建iframe标签,并设置具体属性

iframe各属性值参考如下链接:https://www.w3school.com.cn/tags/tag_iframe.asp

<iframe src="" height="720px" width="100%" name="demo" frameborder="0" scrolling="no"
sandbox="allow-same-origin allow-top-navigation allow-forms allow-scripts">
</iframe>

3、使用jq对每个窗体的事件进行绑定

$(document).ready(function(){
//设置并获取Session
localStorage.setItem("session_name", "${session_user.name}");
var name = localStorage.getItem("session_name");
// 判空
if(name == null || name == "" || name.length == 0){
// 设置成未登录状态
$("#loginSession").text("登录");
$("#register").text("注册");
$("#register").attr("name","register.jsp");
$("#register").attr("href","register.jsp");
$("#register").attr("target","_top");
}else{
// 登录成功
$("#loginSession").text(name);
$("#loginSession").attr("name","");// 取消点击事件
$("#register").text("退出");
$("#register").attr("name","LogoutServlet");
} // 导航栏点击,下面jframe的src改变,实现页面刷新功能
$("a").click(function(){
var src = $(this).attr("name");
$("iframe").attr("src",src);
});
});

4、对特殊的<a>标签进行处理

这里是防止退出登录后重新登录产生两个导航栏,具体情况根据个人项目自行编写

	// 对退出按钮绑定事件,只要点击该按钮,就恢复成注册按钮
$("#register").click(function(){
var name = $(this).attr("name");
if(name == "LogoutServlet"){
$("#loginSession").text("登录");
$("#register").text("注册");
$("#register").attr("name","register.jsp");
$("#register").attr("href","LogoutServlet");
$("#register").attr("target","_top");
}
});

5、注意事项

iframe出现两个导航栏时,设置对应<a>标签的target值解决,如上面代码中设置target值为"_top"。若部分<a>标签不跳转则可不设置标签的name属性或id也可以让name属性为空或id为空。

若要测试这些代码,得导入bootstrap4得css和js包。

使用iframe实现导航栏在上面,下面的窗体刷新的更多相关文章

  1. vue+el-menu实现路由刷新和导航栏菜单状态保持(局部刷新页面)

    一.菜单项激活状态保持 有时,我们在项目中会有这样一个需求,即实现 一个侧导航栏,点击不同的菜单项,右边内容会跟着变化,而页面手动刷新后想要使菜单激活状态保持,那么这个功能该如何实现呢? 现在给出以下 ...

  2. iOS7 下使用SVPullToRefresh 下拉刷新导航栏位置错误

    iOS7 下使用SVPullToRefresh 下拉刷新导航栏位置错误: 下拉刷新之后,tableview的第一列会跑到导航栏的下面: 修正:添加如下代码 /** * 下拉刷新 增加一个: */ // ...

  3. iOS 11 导航栏 item 偏移问题 和 Swift 下 UIButton 设置 title、image 显示问题

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  4. Jquery实现动态导航栏和轮播导航栏

    动态导航栏和轮播导航栏的实现思想: 利用jquery技术的append()方法和bind()方法实现li标签的添加和点击事件绑定,在利用$getJSON(url,data,function)请求方法实 ...

  5. 基于vue3+electron11实现QQ登录切换|自定义导航栏|托盘|打包

    上一篇有给大家分享过使用vue3和electron快速搭建项目.创建多窗口/父子modal窗口的一些方法.今天继续给大家分享一些vue3.x+electron11项目开发中的一些知识点/踩坑记录,希望 ...

  6. 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  7. SAP CRM 将组件整合至导航栏中

    到现在,我们已经可以让组件独立地显示.我们只是运行它.让它显示在Web UI中.让我们把组件整合进导航栏,使我们可以在正常登录Web UI时访问它. 步骤一: 为你的UI组件主窗体创建一个内向插件. ...

  8. ABP(现代ASP.NET样板开发框架)系列之22、ABP展现层——导航栏设置

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之22.ABP展现层——导航栏设置 ABP是“ASP.NET Boilerplate Project (ASP.NE ...

  9. 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前

    思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...

随机推荐

  1. Shell常用语句及结构

    条件判断语句之if if 语句通过关系运算符判断表达式的真假来决定执行哪个分支:shell有三种if语句样式,如下: 语句1 if [ expression ] then Statement(s) t ...

  2. React脚手架解决不能使用less问题

    引言 学编程,还是多敲代码呀,React脚手架不支持less,因此需要配置webpack的webpack.config.js文件 释放配置文件 我们在使用React脚手架的时候,发现发现是没有webp ...

  3. ros机器人之小乌龟仿真-路径记录

    ------------恢复内容开始------------ 通过自己不断地摸索,对ros系统有了一定的了解,首先装系统,这一过程中也遇到了很多问题,但通过不断地尝试,经过一天一夜的倒腾,总算是把系统 ...

  4. vb.net datagridview 使用方法

    目录:  1. 取得或者修改当前单元格的内容  2. 设定单元格只读  3. 不显示最下面的新行  4. 判断新增行  5. 行的用户删除操作的自定义  6. 行.列的隐藏和删除  7. 禁止列或者行 ...

  5. JAVA String对象和字符串常量的关系解析

    JAVA String对象和字符串常量的关系解析 1 字符串内部列表 JAVA中所有的对象都存放在堆里面,包括String对象.字符串常量保存在JAVA的.class文件的常量池中,在编译期就确定好了 ...

  6. 谈python3的封装

    这章给大家介绍,如何封装一个简单的python库 首先创建一个以下型式的文件结构 rootFile/ setup.py example_package/ __init__.py example_mod ...

  7. Go语言实现:【剑指offer】调整数组顺序使奇数位于偶数前面

    该题目来源于牛客网<剑指offer>专题. 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和 ...

  8. Leetcode题解 - 部分中等难度算法题解(56、957、825、781、1324、816)

    957. N 天后的牢房 思路: 模拟变换,当N天结合后返回 => 当N非常大的时候,超时 => 一般N很大的时候,这种题目必然存在循环,所以记录找过的状态,一旦出现已经访问过的状态可立即 ...

  9. 大神是如何学习 Go 语言之 Channel 实现原理精要

    转自: https://mp.weixin.qq.com/s/ElzD2dXWeldYkJmVVY6Djw 作者Draveness Go 语言中的管道 Channel 是一个非常有趣的数据结构,作为语 ...

  10. EF core (code first) 通过自动迁移实现多租户数据分离 :按Schema分离数据

    前言 本文是多租户系列文章的附加操作文章,如果想查看系列中的其他文章请查看下列文章 主线文章 Asp.net core下利用EF core实现从数据实现多租户(1) Asp.net core下利用EF ...