简单的javasrcipt选项卡
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<meta charset="gb2312">
<link rel="stylesheet" href="main.css">
<script type="text/javascript" src="main.js"></script>
<title>Document</title>
</head> <body>
<div class="top">
<ul class="clear" id="btn_one">
<li class="light" data-color="red">one</li>
<li data-color="blue">two</li>
<li data-color="yellow">three</li>
</ul>
</div>
<div class="main" id="amain">
<div class="min main1">
<ul>
<li>这里有座山</li>
<li>这里有座山</li>
<li>这里有座山</li>
<li>这里有座山</li>
<li>这里有座山</li>
</ul>
</div>
<div class="min main2" style="display: none">
<ul>
<li>窗外有风景</li>
<li>窗外有风景</li>
<li>窗外有风景</li>
<li>窗外有风景</li>
<li>窗外有风景</li>
</ul>
</div>
<div class="min main3" style="display: none">
<ul>
<li>天上有太阳</li>
<li>天上有太阳</li>
<li>天上有太阳</li>
<li>天上有太阳</li>
<li>天上有太阳</li>
</ul>
</div>
</div>
</body> </html>
上面是html代码,很简单就是一个选项卡内容
* {
margin: 0;
padding: 0;
font-size: 14px;
}
/*这里关键了,在float下一样可以获取width和height的值*/
.clear {
zoom: 1;
}
.clear:after {
content: '';
display: block;
clear: both;
}
.top ul {
list-style-type: none;
}
.top ul li {
width: 200px;
height: 50px;
line-height: 50px;
text-align: center;
float: left;
background-color: powderblue;
color: pink;
border: 2px solid powderblue;
}
.top ul li.light {
border: 2px solid red;
color: red;
}
.main {
width: 612px;
height: 300px;
position: relative;
background: red;
}
.min {
width: 612px;
height: 300px;
position: absolute;
left: 0;
top: 0;
}
.min ul li {
height: 30px;
line-height: 30px;
font-size: 20px;
}
上面是CSS样式,很简单;用light样式来高亮li初始
// 通过ID 封装函数,如果id字符串等于string,返回getElementById(id)
// 否则返回id 本身; function $(id) {
return typeof id == "string" ? document.getElementById(id) : id;
}
window.onload = function() {
//定义函数titles(li的集合)divs(div的集合);
var titles = $("btn_one").getElementsByTagName("li");
var divs = $("amain").getElementsByTagName("div"); //当titles和divs的长度不一样就不执行;
if (titles.length != divs.length) {
return;
}
for (var i = 0; i < titles.length; i++) {
//为btn_on下的每个li添加索引;
titles[i].id = i;
//滑动鼠标onmouseover时触发事件;
titles[i].onmouseover = function() {
//getAttribute可以取得自定义标签data-color的值;
var btnstyle = this.getAttribute("data-color");
//清楚所有li和div上的样式
clearBtn();
//鼠标滑过哪个li就高亮哪个li;
this.className = "light";
//data-color当下的值给当前次数的li的内容
this.style.color = btnstyle;
//把data-color当下的值给当前次数li的边框
this.style.border = '2px solid ' + btnstyle;
//设置当前li所对应的div为显示状态
divs[this.id].style.display = "block"; }
} function clearBtn() {
for (var i = 0; i < titles.length; i++) {
//li的样式为空
titles[i].className = "";
//li的内容为白色
titles[i].style.color = "";
//li的边框为空
titles[i].style.border = "";
//div为隐藏状态
divs[i].style.display = "none";
}
}
}
就是通过索引来连接上下两个div,直接可以通过titles和divs两个函数进行响应
简单的javasrcipt选项卡的更多相关文章
- jquery 选项卡切换、选项卡封装、简单的jquery选项卡封装、tab切换效果
相信选项卡切换是大家常用的效果单独写一个选项卡切换很方便但是要是一个页面出现多个选项卡不做封装的话会显得代码很杂乱 <div class="bodyCenter"> & ...
- 简单的jquery选项卡效果
html部分 <ul class="tab"> <li>最新</li> <li class="cur">热门&l ...
- Jquery 简单的Tab选项卡特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 简单竖向Tab选项卡
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- jquery简单实现tab选项卡效果
html: <ul class="tab"> <li>最新</li> <li class="cur">热门< ...
- (新手向)基于Bootstrap的简单轮播图的手机实现
个人电脑里存了不少适合手机欣赏的图片,但是放手机里看是件很占据资源的事.鉴于家里有一台电脑经常开着,正好用来做家庭局域网共享,于是笔者就设想通过一种比较简单环保的思路.通过手机访问电脑内的图片. 首先 ...
- js 实现tab选项卡
最近一直在研究js 如果不及时复习的话前边学到的东西很快就会忘掉,所以把前段时间的一个简单的tab选项卡的思路写出来也算复习了一下吧, 第一步:先把布局写出来: <div id="d ...
- EUI ViewStack实现选项卡组件 (封装了一个UI类)
封装一个选项卡的UI,用来应付游戏中各种需要选项卡的界面. 例如背包,背包界面的选项卡可以切换装备.物品.符文.宝箱. 下图方法的实现参考:EUI ViewStack实现选项卡组件 假如在主页Home ...
- 浅谈Android选项卡(二)
前面简单介绍了选项卡,下面以及后面的几篇文章介绍下Android选项卡的几种简单实现方法. http://blog.csdn.net/xia215266092/article/details/9613 ...
随机推荐
- linux命令之crontab详解
crontab命令: crontab -l : 显示定时任务列表 crontab -e: 编辑定时任务 crontab -r : 删除所有定时任务 基本格式 : * * * * * command ...
- 键盘快速启动工具Launchy的简单使用技巧
打开电脑面对林林总总的图标,找到对应的程序,快速启动显得尤为重要.这样有利于提高我们的效率. 好了,直接上图: 就是这款小巧的工具,界面如上. 接下来介绍这款工具的使用技巧. 1.安装成功后:打开工具 ...
- C# 压缩打包文件下载
C# 压缩打包文件下载 public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform { #region INam ...
- 关于string转整数
又是leetcode的easy级别题,很基本的题目,却漏考虑很多情况,动手前一定要考虑清楚呀!!! 就当做锻炼写作能力吧,先上题目! 将文本转换成整数,注意一下几点: 1.文本里面第一个不为空白的字符 ...
- Android UI方面的学习记录
1,android:textAllCaps=“false” android5.0后有可能button的text显示全是大写,设置这个后才能正常显示小写 2,优化listview性能: 1,view重用 ...
- nodejs问题整理--fs.exists无法正确判断文件的问题
fs.exists方法 方法说明: 测试某个路径下的文件是否存在.回调函数包含一个参数exists,true则文件存在,否则是false. 语法: fs.exists(path, callback) ...
- iOS Plugins
iOS Plugins This section provides details for how to implement native plugin code on the iOS platfor ...
- ARXObject的入门学习
刚刚学习一样新东西的时候,首先要解决的几个问题 1. 任何搭建一个项目环境: 2. 新建一个项目的流程: 3. 调试: 4. 熟悉其API: 5. 错误积累与解决办法: 6. 其中隐含的语法知识和UM ...
- Python爬虫----Beautiful Soup4 基础
1. Beautiful Soup简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: Beautiful Soup提供一些简单的.pyth ...
- python--函数式登录程序
# Author:Tim Gu def login(username,password): """这个login函数用于用户登录的验证 :param username:用 ...