在制作jqeury 标签页时,要注意,标签的mouseover事件设置延迟,防止用户恶意的移动鼠标导致放送大量的请求而导致服务器崩溃,需要用到setTimeout函数,主要是以下的事件:
1、$().each(function(){}) //遍历所有标签的好办法
2、mouseover事件,
另外,要注意css样式的编写,不然会样式错乱的哦。
好了,开始今天的jquery 教程吧。
1、前台页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Jquery tab 标签页效果 - 脚本学堂_www.jb200.com</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>
2、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; }
3、控制滑动的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); }); }); }); });
好了,以上全部完成后,一个漂亮的jquery tab标签页效果就完成了。
脚本学堂,祝大家学习进步。