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小测验(代码集合)
Jul 27 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
跟我学习javascript的循环
Nov 18 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
微信小程序-消息提示框实例
Nov 24 Javascript
JS制作类似选项卡切换的年历
Dec 03 Javascript
Ajax验证用户名或昵称是否已被注册
Apr 05 Javascript
微信小程序中吸底按钮适配iPhone X方案
Nov 29 Javascript
微信小程序slider组件使用详解
Jan 31 Javascript
原生javascript AJAX 三级联动的实现代码
May 04 Javascript
在 HTML 页面中使用 React的场景分析
Jan 18 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中处理模拟rewrite 效果
2006/12/09 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
JQuery筛选器全系列介绍
2013/08/27 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
关于Vue.js一些问题和思考学习笔记(2)
2016/12/02 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
Python获取时间戳代码实例
2019/09/24 Python
3种python调用其他脚本的方法
2020/01/06 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
Linux操作面试题
2015/02/11 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
车间组长岗位职责
2013/12/20 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
Python如何利用正则表达式爬取网页信息及图片
2021/04/17 Python