利用jQuery load 方法加载HTML公共页面,导航菜单自动选中

本文介绍了如何在纯静态页面中利用jQuery的load方法加载header.html、footer.html和nav.html等公共页面,以避免重复编写。通过在index.html中引入jQuery库,预留公共页面位置,并创建一个公共JS文件来处理导航菜单的选中状态,实现了导航菜单的自动选中功能。

最近做了一个纯静态页面的网页,有一些页面的公共部分,不想重复在每一个html 中编写,想用

<!-- #include file="header.html" --> ,发现引用不了,不起作用。

后来知道,include是SSI(Server Side Include),在html中不支持include。

查了下资料,看到jQuery的load方法可以引用其他html 页面,用了下,果然很方便。记录一下

公共页面:header.html     ,   footer.html  , nav.html

主页面:index.html等

1) 在 index.html 中先引入 jquery.min.js

2) 在index.html 页面中预留公共页面的引入位置:

<div class="header"></div>

<div class="nav-left"></div>

......

<div class="footer"></div>

3) 写一个公共js,在每个html中引入该js

对于选中当前页面对应的菜单项处理方法,一定要放在公共页面加载完毕之后。

我是选中<a>标签所在的<li>

$(document).ready(function(){
	$(".header").load("header.html");
	$(".nav-left").load("nav.html",function(){
		var links = $(".nav-left li a"),
		index = 0, //默认第一个菜单项
		//取当前URL最后一个/后面的文件名,pop方法是删除最后一个元素并返回最后一个元素
		url = location.href.split("?")[0].split("/").pop();
		if(url){//如果有取到,则进行匹配,否则默认首页(即index所指向的那个)
			for(var i=0;i<links.length;i++){//遍历menu中的链接地址
				if(links[i].href.indexOf(url)!=-1){
					index = i;
					break;
				}
			}
		}
		$(".nav-left li").eq(index).addClass("active");//给对应的<li>增加选中样式
	})
})




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值