JS实现标签页效果(配合css)


Posted in Javascript onApril 03, 2013

实现的效果
JS实现标签页效果(配合css)
如上图所示为制作的标签页,我们想要实现的效果是当鼠标移到某一个标签的时候,在下面的内容区显示对应的内容,并且相应标签的颜色需要改变,如图中所示当前鼠标的位置在“标签1”上,则内容区域显示的内容为“我是内容1”,并且“标签1”的颜色要比“标签2”和“标签3”深一些,同样鼠标移到“标签2”和“标签3”的时候显示“我是内容2”和“我是内容3”。这样的效果是CSS和JS配合实现的。下面我们就来看看具体代码:

首先来看HTML代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>标签页效果</title> 
<link href="../CSS/tab.css" rel="stylesheet" type="text/css" /> 
<script language="JavaScript" type="text/javascript" src="../JS文件/jquery.js"></script> 
<script language="JavaScript" type="text/javascript" src="../JS文件/tab.js"></script> 
</head> 
<body> 
<ul id="tabfirst"> 
<li class="tabin">标签1</li> 
<li>标签2</li> 
<li>标签3</li> 
</ul> 
 <div id="contentnow" class="contentfirst contentin">我是内容1</div> 
<div id="contentnow" class="contentfirst">我是内容2</div> 
<div id="contentnow" class="contentfirst">我是内容3</div> 
</body> 
</html>

JS代码实现思路很简单,首先给每个标签项注册一个mouseover函数,当鼠标移到任何一个标签上的时候都会执行moveover函数体内的代码。函数体代码首先获取当前节点,将原来显示的内容进行隐藏,然后根据传入的节点index把对应于相应标签下的内容显示出来。在代码中我们可以看到除了对HTML中节点样式进行改动外还使用了setTimeout函数,该函数的作用是延迟函数的执行时间,下面代码中的延迟时间为300毫秒,也就是当鼠标移到标签后并不是立即执行而是延迟300毫秒后在执行,如果在300毫秒时间内鼠标移出标签区域则不再执行该代码。
$(document).ready(function(){ 
var timeoutid; 
$("#tabfirst li").each(function(index){ //每一个包装的li的JQuery对象都会执行function中的代码 
//index是当前执行这个function代码的li对应在所有li组成的数组中的索引值 
//有了index的值后,就可以找到当前标签对应的内容区域 
$(this).mouseover(function(){ 
var liNode = $(this); 
timeoutid = setTimeout(function(){ 
//将原来显示的内容进行隐藏 
$("div.contentin").removeClass("contentin"); 
//将原来有tabin属性的标签去掉tabin属性 
$("#tabfirst li.tabin").removeClass("tabin"); 
//将当前标签对应的内容区域显示出来 
$("div.contentfirst").eq(index).addClass("contentin"); 
//$("div.contentfirst:eq(" + index + ")").addClass("contentin"); 
//将当前标签增加tabin属性 
liNode.addClass("tabin"); 
},300); 
}).mouseout(function(){ 
clearTimeout(timeoutid); 
}); 
}); 
});

除了该效果外,我们还可以利用相同的原理给每个标签注册click函数,当点击每个标签的时候在原内容区域可以装载不同的页面或任意页面的一部分,有兴趣的话可以点击这里下载源码。该源码中包含了文中所提到的两种不同函数所实现的不同功能。
Javascript 相关文章推荐
javascript 判断数组是否已包含了某个元素的函数
May 30 Javascript
jquery下实现overlay遮罩层代码
Aug 25 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
Jul 13 Javascript
Jquery实现图片预加载与延时加载的方法
Dec 22 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
Jun 12 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
Nov 26 Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
May 17 Javascript
JavaScript表单验证实现代码
May 22 Javascript
详解Vue 开发模式下跨域问题
Jun 06 Javascript
微信小程序实现登录注册功能
Dec 29 Javascript
JS实现下拉框的动态添加(附效果)
Apr 03 #Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 #Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 #Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 #Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
Apr 02 #Javascript
JS获取浏览器版本及名称实现函数
Apr 02 #Javascript
js 火狐下取本地路径实现思路
Apr 02 #Javascript
You might like
PHP 采集程序 常用函数
2008/12/18 PHP
php写的AES加密解密类分享
2014/06/20 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
JS跨域总结
2012/08/30 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
python解析文件示例
2014/01/23 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python切割图片的示例
2020/11/12 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
阿波罗盒子:Apollo Box
2017/08/14 全球购物
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
员工工作表现评语
2014/04/26 职场文书
大学生作弊检讨书
2014/09/11 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
PO模式在selenium自动化测试框架的优势
2022/03/20 Python
SQL Server 中的事务介绍
2022/05/20 SQL Server