首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我使用javascript在不同的页面上时,如何在单独的header.html中更改活动的导航li?

在使用JavaScript在不同页面上时,可以通过以下步骤在单独的header.html中更改活动的导航li:

  1. 首先,在header.html中定义一个函数,用于设置活动导航li的样式。例如,可以给活动导航li添加一个特定的CSS类,以突出显示它。
代码语言:txt
复制
<script>
function setActiveNav() {
  // 获取当前页面的URL
  var currentPageUrl = window.location.href;

  // 获取导航菜单的所有li元素
  var navItems = document.querySelectorAll('.nav li');

  // 遍历导航菜单的li元素
  for (var i = 0; i < navItems.length; i++) {
    var navItem = navItems[i];

    // 获取导航菜单项的链接URL
    var navItemUrl = navItem.querySelector('a').href;

    // 检查当前页面的URL是否与导航菜单项的URL匹配
    if (currentPageUrl === navItemUrl) {
      // 设置活动导航li的样式
      navItem.classList.add('active');
    } else {
      // 移除非活动导航li的样式
      navItem.classList.remove('active');
    }
  }
}
</script>
  1. 在每个页面的JavaScript代码中调用这个函数,以确保在页面加载时设置正确的活动导航li。
代码语言:txt
复制
<script>
window.addEventListener('DOMContentLoaded', function() {
  setActiveNav();
});
</script>
  1. 在每个页面的header部分引入header.html文件,可以使用HTML的<object>标签或者服务器端的模板引擎进行引入。
代码语言:txt
复制
<object data="header.html" width="100%" height="50"></object>
  1. 在header.html中的导航菜单中,给活动导航li添加一个特定的CSS类,以便在页面加载时设置正确的样式。
代码语言:txt
复制
<ul class="nav">
  <li><a href="page1.html">Page 1</a></li>
  <li><a href="page2.html">Page 2</a></li>
  <li><a href="page3.html">Page 3</a></li>
</ul>

通过以上步骤,可以在不同的页面上使用JavaScript来更改单独的header.html中的活动导航li。当页面加载时,JavaScript会根据当前页面的URL与导航菜单项的URL进行匹配,然后设置活动导航li的样式。这样可以确保在不同的页面上正确显示活动导航li,提升用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

猿进化系列15——实战之一文搞懂项目前期

.切割公共头部作为header.html 2.切割公共头部作为footer.html 3.页面固定两个标记header和footer分别代表头部和尾部 4.使用jauery异步加载...我们再定义公共引入头尾代码可以考虑抽取为单独js文件include.js,发起get请求,拉去公共html页面: $(function () { $.get("header.html",...data); }); $.get("footer.html",function (data) { $("#footer").html(data); }); }); 面上引入...考虑到是分类列表页面,页面跳转,浏览器会发起get请求,将类目的id传过来,所以我们通过分类id来确定列表页面需要展示哪个分类下线路信息数据,后端程序完成线路数据查询,返回给列表。...= '末'; nextPage = '下一<

1K20
  • 大学生阅读小说网页设计模板代码 小说书籍网页作业成品 学校书籍网页制作模板 学生简单书籍阅读网站设计成品

    顶部导航及底部区域背景色为100%宽度,主体内容区域宽度 一套优质网页设计应该包含 (具体可根据个人要求而定) 页面分为头、菜单导航栏(最好可下拉)、中间内容板块、页脚四大部分。...页面样式风格统一布局显示正常,不错乱,使用Div+Css技术。 菜单美观、醒目,二级菜单可正常弹出与跳转。 要有JS特效,定时切换和手动切换图片轮播。...页面中有多媒体元素,gif、视频、音乐,表单技术使用。 页面清爽、美观、大方,不雷同。 。 不仅要能够把用户要求内容呈现出来,还要满足布局良好、界面美观、配色优雅、表现形式多样等要求。...网站程序方面:计划采用最新网页编程语言HTML5+CSS3+JS程序语言完成网站功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站效果。...网站素材方面:计划收集各大平台好看图片素材,并精挑细选适合网页风格图片,然后使用PS做出适合网页尺寸图片。

    1.3K10

    【Java 进阶篇】深入了解 Bootstrap 表格和菜单

    -- 表格内容 --> 这些样式可以根据需要组合使用,以满足网页设计不同需求。 表格排列和尺寸 Bootstrap 还允许您轻松地更改表格排列和尺寸。...Bootstrap 提供了多种菜单组件,导航栏、下拉菜单和标签,以满足不同导航需求。 Bootstrap 导航基本结构 导航栏是网页顶部常见导航元素,通常包含网站标志、链接和其他导航项。...当浏览器窗口缩小到一定尺寸导航栏会自动折叠,以适应小屏幕设备。 不同样式导航栏 Bootstrap 提供了多种不同样式导航栏,以适应不同设计风格。...标签 标签是一种常见导航元素,用于切换不同页面或内容。Bootstrap 提供了标签组件,使您可以轻松创建标签导航。... 在这个示例,我们创建了一个标签导航,用户可以点击标签切换不同内容。

    25730

    【Java 进阶篇】深入了解 Bootstrap 插件

    您还可以更改分隔线样式、菜单项颜色等,以满足您项目需求。 Bootstrap 标签(Tab) 标签是一个常见插件,用于在网页上创建多个选项卡,用户可以切换不同内容。...这个基本标签结构包含了标签导航不同选项卡内容。用户可以点击选项卡来切换到不同内容。 自定义标签 标签可以根据不同设计需求进行自定义。您可以更改选项卡样式、内容、默认活动选项卡等。... 在这个示例,我们自定义了标签导航样式(使用了 nav-pills 类)、标签标题、以及默认活动选项卡。...您还可以更改选项卡样式、内容和切换效果,以满足您项目需求。 Bootstrap 表单验证 表单验证是一个重要前端功能,用于确保用户提交表单提供有效数据。...在前面的示例,我们使用了 data-toggle 和其他属性来定义插件行为,但这些行为通常需要 JavaScript 支持。

    24730

    【Java 进阶篇】深入了解 Bootstrap 组件

    当浏览器窗口缩小到一定尺寸导航栏会自动折叠,以适应小屏幕设备。 不同样式导航栏 Bootstrap 提供了多种不同样式导航栏,以满足不同设计风格。...以下是一个示例,展示如何在导航创建下拉菜单: <a class=...标签 标签是一种常见导航元素,用于切换不同页面或内容。Bootstrap 提供了标签组件,使您可以轻松创建标签导航。...多个模态框 您可以同一面上创建多个不同模态框,只需为它们分配不同 id 和目标值即可。这允许您在一个网页中使用多个独立弹出窗口。...动态更新进度条 要在网页动态更新进度条,您可以使用 JavaScript。通过修改进度条 style 属性,您可以实时更新任务完成情况。

    20420

    HTML5_自己写第一个html5

    解释,展示了如何在一个页面上使用两次。...63 64 我们上面的例子,标记为“content”DIV是section一个很好候选者,在这个section,根据内容不同,我们可能有更多section。...我们可以把My Article打包到header标记。另外请注意,我们可以article元素下再增加一个footer元素,用来容纳翻页导航,相关文章或其它内容。...113 114 新标记样式 115 116 大多数浏览器,你只需要往常一样对元素使用样式,但是请一定要对每个元素加上display:block;规则,随着时间推移,浏览器对HTML 5新元素支持越来越标准后...HTML 5无需指定了,HTML 5,所有的脚本都假设是type="text/javascript",因此不必再多此一举了。

    75021

    python测试开发django-153.bootstrap导航-标签切换(nav-tabs)

    前言 Bootstrap 导航组件都依赖同一个 .nav 类,状态类也是共用。标签.nav-tabs 类依赖 .nav 基类。...tab标签 标签 ul 添加 nav 和 nav-tabs 属性,将应用Bootstrap标签样式。...li 里面 a 标签上简单指定 data-toggle=”tab” 或 data-toggle=”pill”,就可以完成一个标签导航 <ul id="tabs" class="nav nav-tabs...”tab-pane”类名 通过id="config"属性关联到导航a标签href="#config" 默认设置第一激活(active) <ul id="tabs" class="nav...content }) 如果<em>使用</em><em>javascript</em>实现这种<em>导航</em>内容<em>的</em>切换,a标签<em>中</em>无须再添加data-toggle=’tab’或data-toggle=”pill”,如果每个a链接都<em>使用</em>了此属性

    1.1K30

    2024年最值得尝试5个CSS框架

    丰富预制组件:Bootstrap 提供了大量预制组件,导航栏、卡片、模态框等,使得开发者可以轻松实现复杂UI设计。...JIT(即时编译)模式:Tailwind JIT 模式使得开发过程样式更改能够即时反映,进一步提升开发效率。...无 JavaScript 依赖:Bulma 完全由 CSS 构成,这意味着你可以不添加任何 JavaScript 情况下使用它,减少了前端项目的复杂度。...组件化:导航栏、模态框、标签等,Bulma 提供了丰富组件库,方便开发者快速实现常见 UI 功能。...响应式栅格系统:UIKit 提供了一个灵活栅格系统,使得不同设备上布局变得简单和一致。 预设计组件:UIKit 包含了大量预设计组件,导航栏、滑块、模态框等,简化了开发流程。

    76310

    PowerBI书签和导航,如何选择呢?

    2020 年 3 月更新,按钮有了一个名为"导航"新功能: ? 那么我们该如何在导航”和“书签”之间做出选择呢?...不过,要在两个页面中进行来回切换,由于目前有了导航,我们就需要来分析一下这两种方式不同场景优缺点了: 1.严格地多个页面之间切换 当我们要做地仅仅从一个页面切换到另一个页面,比如有一个导航栏...,你可能会使用一些花哨布局(可滚动页面、选项卡式导航、弹出窗口等),页面导航将不起作用。...尽管此时使用书签非常繁琐,但它还是提供了无缝用户体验。 比如在下图中,当我使用页面导航不同页面之间切换,每次切换都会显示页面的顶部,这显然并不是我们想要: ?...很长一段时间里,我喜欢用书签,但是当我发现在做一些数据量比较小项目导航做起来的确更加便利。不过,书签给用户的如丝般顺滑体验,是导航无论如何也不能给

    6.9K31

    PHPCMS模板制作精髓

    description} 文章描述 时间标签 {$inputtime} 创建时间 2013-10-06 21:31:00 {$updatetime}更新时间 2013-10-06 21:31:00 注:静态文章无法调用...{strip_tags($v[description]} 去除格式描述 {str_cut(strip_tags($v[description]),200,'[…]')} 去除格式描述,并在200字符切断...可以看下 CATEGORYS栏目数组面包屑导航{catpos(catid)} 当前位置,首页什么都不显示,栏目和文章会显示所在栏目层级。...目录下header.html文件 {template "content","filename"} 调用content目录下filename.html文件 判断首页分类列表内页 下面是我自己总结出来...PHPCMS默认仅支持栏目点击排行榜,V9版本,也可以通过数据库来调用全站点击排行。

    37.3K20

    Web前端开发规范手册

    文件规范 文件命名规则 文件名称统一用小写英文字母、数字和下划线组合,其中不得包含汉字、空格和特殊字符;命名原则指导思想一是使得你自己和工作组每一个成员能够方便理解每一个文件意义,二是当我文件夹中使用...放置页面顶部广告、装饰图案等长方形图片取名: banner   标志性图片取名为: logo   面上位置不固定并且带有链接小图片我们取名为 button   面上某一个位置连续出现,..., 比如Me_clear; d、 a,b两条, 适用于 2 已建好框架页面, , 要在 2 已建好框架页面代码中加入新div元素: //按a.../”>,所有内页指向首页链接写成 浏览器里,当我们点击空链接,它会自动将当前页面重置到首端,从而影响用户正常阅读内容,我们用代码javascript:void(null)...iTaoLun(); 命名语义化, 尽可能利用英文单词或其缩写; 尽量避免使用存在兼容性及消耗资源方法或属性, 比如eval() & innerText; 后期优化, JavaScript非注释类中文字符须转换成

    2.7K54

    BootStrap应用开发学习入门1

    导航应用或网站作为导航响应式基础组件。...#两端对齐导航 (屏幕宽度大于 768px ,通过分别使用 .nav、.nav-tabs 或 .nav、.nav-pills 同时使用它,让标签式或胶囊式导航菜单与父元素等宽。)...-- 切换导航菜单书签 提示: 与 .tab-pane 和 data-toggle="tab" (data-toggle="pill" ) 一同使用, 设置标签对应内容随标签切换而更改。...分页Class #分页 pagination .pagination #添加该 class 来面上显示分页 ul标签 .pagination-lg #获取不同大小项 .pagination-sm...标签需要用一个 data-target 或者一个指向 DOM 容器节点 href。 事件: 事件 描述 实例 show.bs.tab 该事件标签显示触发,但是必须在新标签被显示之前。

    44.8K21

    BootStrap应用开发学习入门1

    导航应用或网站作为导航响应式基础组件。...#两端对齐导航 (屏幕宽度大于 768px ,通过分别使用 .nav、.nav-tabs 或 .nav、.nav-pills 同时使用它,让标签式或胶囊式导航菜单与父元素等宽。)...-- 切换导航菜单书签 提示: 与 .tab-pane 和 data-toggle="tab" (data-toggle="pill" ) 一同使用, 设置标签对应内容随标签切换而更改。...分页Class #分页 pagination .pagination #添加该 class 来面上显示分页 ul标签 .pagination-lg #获取不同大小项 .pagination-sm...标签需要用一个 data-target 或者一个指向 DOM 容器节点 href。 事件: 事件 描述 实例 show.bs.tab 该事件标签显示触发,但是必须在新标签被显示之前。

    44.3K30

    《手把手教你》系列技巧篇(五十二)-java+ selenium自动化测试-处理面包屑(详细教程)

    1.简介   面包屑(Breadcrumb),又称面包屑导航(BreadcrumbNavigation)这个概念来自童话故事“汉赛尔和格莱特”,当汉赛尔和格莱特穿过森林,不小心迷路了,但是他们发现沿途走过地方都撒下了面包屑...所以,面包屑导航作用是告诉访问者他们在网站位置以及如何返回。,是在用户界面一种导航辅助。它是用户一个程序或文件确定和转移他们位置一种方法。 2.什么是面包屑导航?...面包屑就是我们经常看到“主分类>一级分类>二级分类>三级分类>……>最终内容页面”这样方式,一种表达内容归属界面元素,如下图所示: 为了浏览体验,一般情况只有3级,首页>栏目>内容,3层目录结构可以让用户随时随地找到自己所在位置又能保证栏目分类后各个栏目的权重不至于太分散...3.测试场景   不仅在网页导航需要处理面包屑,实际测试脚本,有可能需要处理面包屑。处理面包屑主要是获取其层级关系,以及获得当前层级。...,如下小视频所示: 5.小结 因为现在这个导航比较流行,所以宏哥特地拿出一篇文章篇幅对其进行单独讲解一下,好了,时间不早了,今天就分享到这里!

    71620

    CSS_Flex 那些鲜为人知内幕

    ❞ CSS 布局算法 CSS 有不同模式,确定它如何在面上布局元素。这些模式通常被称为布局算法或布局模式。...流动将页面上每个元素都视为属于文本文档。 块级元素以垂直方式面上重叠显示。它们会尽量占用尽可能多水平空间,同时尽量减少垂直空间占用。 内联元素水平方向上像段落文本一样显示在一起。...还有一点需要注意,根据我们使用不同,我们可能需要「考虑元素父级」。例如,绝对定位元素,该元素相对于其最近定位布局祖先定位。...默认布局模式是流式布局,但我们可以通过更改父容器上display属性来选择使用Flexbox: display:block display:flex 当我们将 display 设置为 flex ,我们创建了一个...当我们设置width: 2000px,我们肯定能到一个宽度为 2000 像素元素,即使它已经超过当前视口宽度。 ❝然而, Flexbox ,width属性实现方式不同

    28510

    前端成神之路-vue路由

    1.路由概念 路由本质就是一种对应关系,比如说我们url地址输入我们要访问url地址之后,浏览器要去请求这个url地址对应资源。...前端路由基本概念:根据不同事件来显示不同页面内容,即事件与事件处理函数之间对应关系 前端路由主要做事情就是监听事件并分发执行事件处理函数 2.前端路由初体验 前端路由是基于hash值变化进行实现...hash值被改变,就会触发onhashchange事件 触发onhashchange事件时候,我们根据hash值来让不同组件进行显示: window.onhashchange = function...A.嵌套路由概念(★★★) 当我们进行路由时候显示组件还有新子级路由链接以及内容。...我们需要在这个根组件中继续路由实现其他功能子组件 先让我们更改根组件模板:更改左侧li为子级路由链接,并在右侧内容区域添加子级组件占位符 const app = { template

    78220

    Wijmo 更优美的jQuery UI部件集:从wijwizard和wijpager开始

    "stylesheet" type="text/css" /> 你要在这个快速开始第一件事情就是创建一个不包含任何Header,具有三个基本wijwizard部件。...同时元素标识符被设置成“pages”,你将在接下来通过jQuery访问这个元素以完成对部件初始化。 请注意,为了向部件添加,你所要做只是将文本放置一对标签中间。...保存你工程,并在浏览器打开。它将看起来像下面这样: ? 当部件包含多于一个页面的时候,导航按钮将自动被添加到部件上。你可以更改,甚至删除控件上显示导航按钮。... Header 3 以上标记应当放置和标记之间...现在你拥有header了,但是你没有导航,因为你之前某步操作已经把它删除了。

    2.5K70
    领券