Html页面对于导航及底部栏等公共部分的引用

对于大多数网站来说,导航栏和底部的信息栏在多个页面中都是通用的。如果将这些代码放在每一个页面的html中,会显得代码冗余,而且修改起来也极为不方便。
所以如果将这些代码放在单独的页面中,在其他页面直接引入的话,不仅代码量减少,而且在公共部分需要修改时,也只需要修改一处就可以了。

引入页面公共部分的步骤:
1. 首先要将公共部分单独放在一个html页面中。这个页面必须是一个完整的页面,包含head,body等标签,引入的css,js等都需要在这个页面中引入。
也就是说,这个页面单独打开的情况下, 也是一个可以正常显示的页面。例如:
单独的导航页面
2. 在需要引入公共部分的页面,使用 iframe来引入公共部分 head.html

<iframe src="/path/head.html" width="100%"; height="94px" frameborder="0" scrolling="no" name="headFrame"></iframe>

宽高根据自己的需要去修改。
frameborder是隐藏框架周围的边框。scrolling属性规定是否在 iframe 中显示滚动条,这里不显示。
这样完成以后,公共部分就被成功引入了页面中。


问题:

但是我又发现了一个问题,导航列表中的a标签点击无法跳转到href中的页面中。
例如:我的品牌介绍是这样的:

<a href="pinpai/index.html"></a>

1.引入以后发现a标签点击不跳转,查资料用了下面的方法,就可以正常跳转了。
给iframe加上name属性并赋值,然后a标签添加属性target,值等于iframe的name值:

<a href="pinpai/index.html" target="headFrame"></a>

这样的话a标签就可以跳转了。

2.我还希望导航栏能够实现,点击某个导航标题时,在页面跳转的同时,对应的标题能改变颜色以此突出于其他标题。例如:

这里写图片描述

本以为这样的效果很好实现,但是因为点击以后页面就跳转到了一个全新的页面,在全新的页面中,导航栏还是没有改变,试了很多方式,最后用sessionStorage的方式记录点击点,实现了这个效果。
具体的代码实现是:
  1. 给每个a标签都添加不同的id,当点击a标签时,将点击的id通过sessionStorage存储到本地。
  2. 在页面加载的同时,从本地查询是否存在id,存在的话, 将这个id对应的a标签改变字体颜色。

  // 从本地存储中获取存储的id
  var aClick = sessionStorage.getItem('aClick');
  if(aClick){
    //改变id对应的a标签的字体颜色以及加粗
    $('#'+aClick).css('color','green');
    $('#'+aClick).css('font-weight','400');
  }

  //点击时存储id
  $('.left').find('a').on('click',function(){
    sessionStorage.setItem('aClick',$(this).attr('id'));
  })

当然,上面的代码直接写在公共文件head.html中就可以了。

  • 15
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
HTML网页制作中,生成底部导航有多种方式,以下是其中两种常用的方式: 1.使用HTML和CSS手动制作底部导航HTML文件中,可以使用`<footer>`标签来定义底部区域,然后在CSS文件中使用样式表对其进行修饰。以下是一个简单的例子: ```html <!DOCTYPE html> <html> <head> <title>底部导航</title> <style> footer { position: fixed; bottom: 0; left: 0; width: 100%; height: 50px; background-color: #333; color: #fff; text-align: center; line-height: 50px; } footer a { color: #fff; text-decoration: none; margin: 0 20px; } </style> </head> <body> <!-- 页面内容 --> <footer> <a href="#">首页</a> <a href="#">分类</a> <a href="#">购物车</a> <a href="#">我的</a> </footer> </body> </html> ``` 在上面的例子中,`<footer>`标签定义了底部区域,使用CSS样式表对其进行修饰,其中`position: fixed;`使其固定在底部,`bottom: 0;`使其与底部对齐,`width: 100%;`使其宽度占满整个屏幕,`height: 50px;`定义了高度,`background-color: #333;`定义了背景颜色,`color: #fff;`定义了字体颜色,`text-align: center;`使其文字居中,`line-height: 50px;`定义了行高。`<footer>`标签内部的`<a>`标签定义了导航的链接,使用CSS样式表对其进行修饰。 2.使用框架组件模块生成底部导航 在移动app前端开发中,可以使用框架组件模块来生成底部导航。例如,在使用Hbuilder进行移动app前端开发时,可以使用mui框架提供的底部选项卡模板。以下是一个简单的例子: ```html <!DOCTYPE html> <html> <head> <title>底部导航</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="http://cdn.static.runoob.com/libs/mui/3.7.1/css/mui.min.css" rel="stylesheet" /> <script src="http://cdn.static.runoob.com/libs/mui/3.7.1/js/mui.min.js"></script> </head> <body> <header class="mui-bar mui-bar-nav"> <h1 class="mui-title">底部导航</h1> </header> <div class="mui-content"> <!-- 页面内容 --> </div> <nav class="mui-bar mui-bar-tab"> <a class="mui-tab-item mui-active" href="#"> <span class="mui-icon mui-icon-home"></span> <span class="mui-tab-label">首页</span> </a> <a class="mui-tab-item" href="#"> <span class="mui-icon mui-icon-bars"></span> <span class="mui-tab-label">分类</span> </a> <a class="mui-tab-item" href="#"> <span class="mui-icon mui-icon-cart"></span> <span class="mui-tab-label">购物车</span> </a> <a class="mui-tab-item" href="#"> <span class="mui-icon mui-icon-person"></span> <span class="mui-tab-label">我的</span> </a> </nav> </body> </html> ``` 在上面的例子中,使用了mui框架提供的底部选项卡模板,其中`<header>`标签定义了顶部,`<div>`标签定义了页面内容,`<nav>`标签定义了底部选项卡,`<a>`标签定义了选项卡的链接,`<span>`标签定义了选项卡的图标和标签。使用mui框架可以快速生成底部导航,并且可以对其进行自定义。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值