jquery tab标签页的制作


Posted in Javascript onMay 10, 2010

这里有一个内容要特别注意的那就是给标签的mouseover事件设置延迟,这样防止用户恶意的移动鼠标导致放送大量的请求而是服务器崩溃,用到setTimeout函数,主要用到已下的事件

1 $().each(function(){}) 这个是个非常重要的遍历所有标签的好办法

2 mouseover事件,

还有就是关键的css样式编写,控制显示的样式,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE>tab </TITLE> 
<link rel="stylesheet" type="text/css" href="css/tab.css"> 
<script type="text/javascript" src="js/jquery-1.4.2.js"></script> 
<script type="text/javascript" src="js/tab.js"></script> 
</HEAD> <BODY> 
<ul id="ularea"> 
<li class="listli">标签1</li> 
<li >标签2</li> 
<li >标签3</li> 
</ul> 
<div class="divarea">内容1</div> 
<div>内容2</div> 
<div>内容3</div> 
</BODY> 
</HTML>

接下来就是控制样式的css
ul ,li { margin:0px; 
padding:0px; 
list-style:none; 
} 
li { float:left; 
background-color:#66CC00; 
margin-right:2px; //这个是设置标签之间的间距 
padding:5px; 
border:1px solid white; 
height:20px; 
color:white; } 
.listli { background-color:#663333; 
border:1px solid #663333; 
} 
div { clear:left; 
width:300px; 
height:100px; 
background-color:#663333; 
border-top:0px; 
color:white; 
display:none; 
} 
.divarea { display:block; }

下来就是编写控制滑动的js
//定义全局变量 
var timeout; 
$(document).ready(function(){ 
//找到所有的li标签 
$("li").each(function(index){ $(this).mouseover(function(){ 
//滑动门都要设置一个延迟时间,避免用户疯狂移动鼠标,导致服务器崩溃,这个很重要 
timeout =setTimeout(function(){ 
$("div.divarea").removeClass("divarea"); 
$("li.listli").removeClass("listli"); 
// $("div").eq(index).addClass("divarea"); //另一种写法是:$(div:eq(index)).addClass("divarea"); 
$("div:eq("+index+")").addClass("divarea"); 
$("li").eq(index).addClass("listli"); 
}, 
320); 
$(this).mouseout(function(){ 
clearTimeout(timeout); 
}); 
}); 
}); 
});
Javascript 相关文章推荐
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
May 13 Javascript
自己使用jquery写的一个无缝滚动的插件
Apr 30 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
Jun 20 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
Aug 15 Javascript
利用Angularjs和bootstrap实现购物车功能
Aug 31 Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 Javascript
Angular2  NgModule 模块详解
Oct 19 Javascript
微信小程序页面传值实例分析
Apr 19 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
浅谈JS和jQuery的区别
Mar 27 jQuery
JavaScript 存在陷阱 删除某一区域所有节点
May 10 #Javascript
js 小数取整的函数
May 10 #Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
May 10 #Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 #Javascript
JavaScript几种形式的树结构菜单
May 10 #Javascript
js function使用心得
May 10 #Javascript
javascript 模式设计之工厂模式详细说明
May 10 #Javascript
You might like
ThinkPHP的RBAC(基于角色权限控制)深入解析
2013/06/17 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
javascript 写类方式之五
2009/07/05 Javascript
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
浅谈JS运算符&amp;&amp;和|| 及其优先级
2016/08/10 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
python if not in 多条件判断代码
2016/09/21 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python中如何使用虚拟环境
2020/10/14 Python
2014年公务员工作总结
2014/11/18 职场文书
南京导游词
2015/02/03 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
docker-compose部署Yapi的方法
2022/04/08 Servers