选项卡切换在页面中比较常见,这里是我利用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的第一个小程序(小布局、button点击事件、toast弹出)

    因为上班,学习时间有限,昨晚才根据教程写了一个小程序,今天忙里偷闲写一下如何实现的,来加深一下印象. 首先创建一个Android项目, 通过activity_xxx.xml布局文件来添加组件来达到自己 ...

  2. android学习---屏幕旋转

    /** *问题:今天学习android访问Servlet,Servlet给返回一个xml格式的字符串,android得到数据后将其显示到一个TextView中,发现Activity得到数据显 * 示到 ...

  3. hdu2317Nasty Hacks

    Problem Description You are the CEO of Nasty Hacks Inc., a company that creates small pieces of mali ...

  4. 浅谈HTML5拖放

    现在,新增的HTML5元素很多,也给开发者带来了很多便利,比如说:结构标记header .nav.arctile.section.footer 表单元素:url.date.emaile.search. ...

  5. Git学习笔记:Git基础

    一.Git与其他版本控制系统的差别 Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异.这类系统每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容.如下图,其他 ...

  6. python-整理-面向对象

    python的类和perl的类有相似之处,类的方法的第一个参数是表示类的对象自己,相当于c#的this python中定义类 class person: ''示例类,人'' count=0; def ...

  7. Scrapy:python3下的第一次运行测试

    1,引言 <Scrapy的架构初探>一文讲解了Scrapy的架构,本文就实际来安装运行一下Scrapy爬虫.本文以官网的tutorial作为例子,完整的代码可以在github上下载. 2, ...

  8. Git for PyCharm

    Git for PyCharm Using PyCharm's Git integration locally:http://confluence.jetbrains.com/display/PYH/ ...

  9. 【Python备忘】python判断文件和文件夹是否存在

    python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...

  10. Nginx 变量漫谈(二)

    关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的.其实不然.我们来看一个涉及“内部跳转”的例子:     server {        listen ...