前言

本文将优化 SPA 前端页面逻辑,

  1. 登录成功后,Login 菜单转变为 Logout;
  2. 点击 Logout 后,Member 页面也要退出,还原登入前的页面内容

优化前端页面

之前的文章为了方便用了静态方式编写,为了项目日后复杂度提升的时候,能有更好的兼容和实施效率,优化代码让项目更有实施弹性。

头部菜单以 Unordered List 实现

首先,修改 index.html <header><nav>。增加 nav id 及把原先的<div>内容更换成 <ul></ul>

<header><nav id="headerNavigationMenu"><ul></ul></nav>
</header>

把原来 index.css 关于 #headerNavigation div 相关的 css 全部删掉,换成如下:

#headerNavigationMenu ul{float: right;margin: 0; padding: 0;margin-right: 20px;cursor: pointer;font-weight:700;color:#555555ee;
}
#headerNavigationMenu ul li, #headerNavigationMenu ul span{list-style: none;margin: 0; padding: 0;float: left;
}
#headerNavigationMenu ul li.selected{font-weight: 700;color:#f36c01ee;
}
#headerNavigationMenu ul li.onHover{font-weight: 700;color:#000000;
}

最后在 index.js 里面作一下改动。因为修改的代码部分有点多,这里直接上整份 index.js 内容。可以自行比对一下:

$(function() {// 定义默认内容页面及菜单const defaultPage = "Login"// 定义当前选定的菜单IDlet activeNavId = defaultPagevar navIds = {}navIds.navHomeLink = "Home"navIds.navAboutUsLink = "AboutUs"navIds.navLoginLink = "Login"navIds.navMemberLink = "Member"// build a navigation menu link array// to filter out false click events from $(document).click(function(e) {})// if user not clicking on navigation menu, no change from displaying pagelet navItems = []for (let key in navIds) {navItems.push(key)}for(let key in navIds){$('#headerNavigationMenu ul'

H5+javascript+jQuery的单页面应用(SPA)(五)相关推荐

  1. 单页面应用(SPA)前端路由hash 模式 VS history 模式

    文章目录 单页面应用(SPA) 前端路由的由来 前端路由 hash 模式 history 模式 hash.history优缺点 单页面应用(SPA) 简单的说 SPA 就是一个WEB项目只有一个 HT ...

  2. 使用Vue.js在WordPress中创建单页面应用SPA

    吐槽一下,掘金好像并不能插入gist的代码框 效果有点打折扣 博客原文地址里有gist代码: 使用Vue.js在WordPress中创建单页面应用SPA 英文原文地址:premium.wpmudev. ...

  3. 单页面应用SPA的优缺点

    单页面应用SPA的优缺点

  4. 单页面应用——SPA

    单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用. 它将所有的活动局限于一个web页面中,仅在该web页面初始化时加载相应的HTML. ...

  5. 多页面(MPA)开发 VS 单页面(SPA)开发

    前端方面: jQuery + Bootstrap 多页面应用: 优点: 数据可以直接渲染,对于搜索引擎(SEO)友好 BootStrap 对移动端和PC端界面展示都很友好 后期维护方便,成本低,易上手 ...

  6. H5中的history单页面,手动实现单页面开发,细说h5单页面原理

    就目前来看,前端的单页面开发占了很大一部分,一方面无刷新的切换增强了体验,并且浏览器记录依然存在,前进后退都没问题,在之前我们通地址栏中的hash改变来触发onhashchange方法来实现单页面应用 ...

  7. 前端单页面(SPA)和多页面(MPA)

    了解单页面和多页面应用程序 单页面和多页面 SPA:( Single Page Application ) 单页面应用程序,例如:后台管理系统,整个应用中只有一个页面(index.html) MPA ...

  8. H5单页面应用(SPA)架构总结

    一: 前端部分 1. 架构图 2. 原由 去年疫情期间在家没事, 想着写一个商城项目沉淀一下自己这些年所学的知识. 经过了一年多的反复改版, 优化, 最终做成了现在这样一个有衡量标准的东西. 这期间走 ...

  9. JavaScript/jQuery 表单美化插件小结

    Niceforms Niceforms是一款独立的表单美化工具,当前版本为2.0 官方主页:http://www.emblematiq.com/lab/niceforms/ 官方演示:http://w ...

  10. Javascript(jQuery)中绑定页面上所有按钮点击事件的几种方式

    方法一:使用document对象查找所有的按钮 //按照dom的方式添加事件处理function BindByDom() {try{var htmlBtns = document.getElement ...

最新文章

  1. 清华姚班/智班2020级新生来了!中国奥数新晋“一姐”在列,湖南、湖北人数最多...
  2. 实心和空心哪个抗弯能力强_空心砖4大优缺点一次看 便宜耐用营造大自然原始风...
  3. 20165224 陆艺杰 网络攻防 实验1
  4. python代码案例详解-我用Python抓取了7000 多本电子书案例详解
  5. 风控特征—时间滑窗统计特征体系
  6. C++学习之路 | PTA乙级—— 1022 D进制的A+B (20分)(精简)
  7. 使用Lock and Load X 插件时导致Final Cat Pro意外退出的解决办法
  8. 去除linux 文件中的控制字符,Shell乱码文件中的控制字符处理
  9. Loadrunner中对中文进行UTF-8转码的探索
  10. 计算机编译原理 张,计算机编译原理概念总结
  11. Ubuntu系统---WeChat安装
  12. jQuery设置iframe的高度
  13. javascript调试 debugger 代码调试
  14. html制作调色板,JS实现系统调色板
  15. FreeMarker生成word文档
  16. 谷歌中国新管理团队集体亮相
  17. jeecms 取附件
  18. 苹果M1芯片为何如此快?
  19. GPIO 配置之ODR, BSRR, BRR 详解
  20. HTML网页设计基础期末作业——仿Coco线上订奶茶饮料网站设计与实现6个页面(HTML+CSS+JavaScript)...

热门文章

  1. python问卷填写(填空,量表,矩阵题)可控比例
  2. 基于java web学术会议网络管理系统
  3. 我为什么说中国的区块链市场被严重低估了
  4. java sql时间todate_关于SQL语句中日期的处理to_date()的应用
  5. CF 1425 - E. Excitation of Atoms
  6. matlab app-designer自建软件运行后,自定义左上角名字
  7. 使用语义分割进行图像前景后景分离处理
  8. FFmpeg实现fmp4+h265 aac切片命令
  9. latex小技巧--easy latexing(图文)
  10. Python 基础入门知识介绍