选项卡切换在页面中比较常见,这里是我利用js闭包还有setTimeout定时器实现的一个比较实用的选项卡功能。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>tab选项卡</title>
<style>
*{margin:0;padding:0;font-size: 12px;}
body{background: #fff;}
ul{list-style: none;}
.none{display:none;}
.tab{width:598px;height:135px;margin:20px auto;border:1px #e8e8e8 solid;}
.tag-box{height:30px;position: relative;overflow: hidden;}
.tag{position:absolute;left:-1px;width:600px;height:30px;background: #f7f7f7;}
.tag li{float:left;width:118px;padding:0 1px;height:29px;line-height: 29px;text-align: center;color:#666;border-bottom:1px #e8e8e8 solid;cursor: pointer;}
.tag li.on{padding:0;background: #fff;font-weight: bold;border-left:1px #e8e8e8 solid;border-right:1px #e8e8e8 solid;border-bottom:1px #fff solid;}
.cons li{float:left;width:250px;line-height: 15px;margin:20px 0 0 45px;}
.cons li a{color:#666;}
</style>
<script>
function tab(){
var tag = document.getElementById('tagBox').getElementsByTagName('li'),
con = document.getElementById('conBox').children,
length = tag.length,
i = 0,
timer = null;
for(; i<length; i++){
tag[i].onmouseover = (function(i){
return function(){
timer = setTimeout(function(){
for(var j=0; j<length; j++){
tag[j].className = '';
con[j].style.display = 'none';
//i === j ? (tag[i].className = 'on',con[i].style.display = 'block') : (tag[j].className = '',con[j].style.display = 'none'); //利用三元运算符也可以
}
tag[i].className = 'on';
con[i].style.display = 'block';
},200)
}
})(i);
tag[i].onmouseout = function(){
clearTimeout(timer);
time = null;
}
}
};
window.onload = tab;
</script>
</head>
<body>
<div class="tab">
<div class="tag-box">
<ul class="tag" id="tagBox">
<li class="on">公告</li>
<li>日志</li>
<li>天气</li>
<li>游戏</li>
<li>体育</li>
</ul>
</div>
<div class="con" id="conBox">
<ul class="cons">
<li><a href="javascript:;">为什么世界那么大?</a></li>
<li><a href="javascript:;">为什么世界那么大?</a></li>
<li><a href="javascript:;">为什么世界那么大?</a></li>
<li><a href="javascript:;">为什么世界那么大?</a></li>
</ul>
<ul class="cons none">
<li><a href="javascript:;">今天没有出去玩</a></li>
<li><a href="javascript:;">今天没有出去玩</a></li>
<li><a href="javascript:;">今天没有出去玩</a></li>
<li><a href="javascript:;">今天没有出去玩</a></li>
</ul>
<ul class="cons none">
<li><a href="javascript:;">万里无云</a></li>
<li><a href="javascript:;">万里无云</a></li>
<li><a href="javascript:;">万里无云</a></li>
<li><a href="javascript:;">万里无云</a></li>
</ul>
<ul class="cons none">
<li><a href="javascript:;">地下城与勇士</a></li>
<li><a href="javascript:;">地下城与勇士</a></li>
<li><a href="javascript:;">地下城与勇士</a></li>
<li><a href="javascript:;">地下城与勇士</a></li>
</ul>
<ul class="cons none">
<li><a href="javascript:;">NBA全明星赛</a></li>
<li><a href="javascript:;">NBA全明星赛</a></li>
<li><a href="javascript:;">NBA全明星赛</a></li>
<li><a href="javascript:;">NBA全明星赛</a></li>
</ul>
</div>
</div>
</body>
</html>

js选项卡切换效果的更多相关文章

  1. 用html+css+js实现选项卡切换效果

    文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...

  2. 纯js实现网页tab选项卡切换效果

    纯js实现网页tab选项卡切换效果 百度搜索     js 点击菜单项就可以切换内容的效果

  3. JS实现选项卡切换效果

    1.在网页制作过程中,我们经常会用到选项卡切换效果,它能够让我们的网页在交互和布局上都能得到提升 原理:在布局好选项卡的HTML结构后,我们可以看的出来,选项卡实际上是三个选项卡标头和三个对应的版块, ...

  4. 使用jquery实现选项卡切换效果

    几张简陋的框架效果图 页面加载时: 选项卡操作后: css样式: <style type="text/css"> *{margin:0px;padding:0px;} ...

  5. [前端] html+css+javascript 实现选项卡切换效果

    用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...

  6. vue实现选项卡切换效果

    效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta chars ...

  7. 使用ViewPager+Fragment实现选项卡切换效果

    实现效果 本实例主要实现用ViewPage和Fragment实现选项卡切换效果,选项卡个数为3个,点击选项卡或滑动屏幕会切换Fragment并实现选项卡下方下边框条跟随移动效果. 本程序用androi ...

  8. vue实现tab选项卡切换效果

    tab选项卡切换效果: 通过点击事件传入参数,然后通过v-show来进行切换显示 <template> <div class="box"> <div ...

  9. 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果

    利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼 ...

随机推荐

  1. Android 学习笔记(一)

    环境配置在网上搜索的一大堆. 这里简单发几个连接. http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html http://jing ...

  2. MVC中的错误过滤器无法拦截URL路径错误的解决办法

    “/”应用程序中的服务器错误. 无法找到资源. 说明: HTTP 404.您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用.请检查以下 URL 并确保其拼写正确. 请求 ...

  3. js取整数、取余数的方法

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.f ...

  4. Sicily 1790. Single Round Match

    高进度求余 或者 将一个数奇位上的数字与偶位上的数字分别加起来,再求它们的差,如果这个差是11的倍数(包括0),那么,原来这个数就一定能被11整除. #include <iostream> ...

  5. wordpress一些常用代码

    显示最新文章 <div id="newpost"> <h2> 最新文章</h2> <?php $previous_posts = get_ ...

  6. python运维开发(九)----socket

    内容目录: socket通信过程 单线程socket 多线程socket ThreadingTCPServer socket socket通常也称作"套接字",用于描述IP地址和端 ...

  7. 安装apk到虚拟的device

    adb device 显示你的设备 adb install  apk包

  8. Ring3 和Ring0 解释

    这得从CPU指令系统(用于控制CPU完成各种功能的命令)的特权级别说起.在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃.比如:清内存.设置时钟等.如果所有的程序都能使用这些 ...

  9. web安全测试工具介绍---webscarab

    webscarab: 这主要是一款代理软件或许没有其它的工具能和OWASP的WebScarab如此丰富的功能相媲美了,如果非要列举一些有用的模块的话,那么他们包括HTTP代理,网络爬行.网络蜘蛛,会话 ...

  10. SQL Server数据库空间管理 (1)

    数据库经常遇到的问题: 1).数据库文件空间用尽  2).日志文件不停增长 3).数据库文件无法收缩  4).自动增长和自动收缩 本系列就以上面的4个问题入手分析并总结数据库空间的管理方法.   1. ...