原生javascript选项卡
js选项卡是一个常用的实现。这里我们将用原生js来将其给予实现。
首先html代码:
<div id="container">
<input type="button" id="btn1" value="黄色" class="active">
<input type="button" id="btn2" value="红色">
<input type="button" id="btn3" value="绿色">
<input type="button" id="btn4" value="褐色">
<div id="cont">
<div style="display: block;">111</div>
<div>222</div>
<div>333</div>
<div>444</div>
</div>
</div>
简单的css代码:
* { margin: 0; padding: 0; }
#container { width: 204px; margin: 0 auto; }
#container .active { background-color: yellow }
#cont { width: 200px; height: 200px; border: 1px solid #333; background-color: #999 }
#cont div { display: none; }
重点的js代码:
window.onload = function(){
var oContainer = document.getElementById("container");
var aIput = oContainer.getElementsByTagName("input");
var oCont = document.getElementById("cont");
var aDiv = oCont.getElementsByTagName("div");
for( var i = 0; i < aIput.length; i ++ ){
aIput[i].index = i;
aIput[i].onclick = function(){
for( var i = 0; i < aIput.length; i ++ ){
aIput[i].className = "";
aDiv[i].style.display = "none"
}
this.className = "active";
aDiv[this.index].style.display = "block"
}
}
}
说明:1、首先是获取元素,一般原生js获取元素都是document.get..这个格式,其实还可以先将被获取元素的父级先获取到,然后通过他再获取目标元素。
2、显示隐藏的div索引值问题,有一种方案是在各个div里面添加index索引值,如:
但是这样会有兼容性,在标准浏览器下面
会出现错误,而且当div数量不确定的时候弄起来不方便;所以我们通过js来设置索引值;aIput[i].index = i; 这样就能使得div能够很好地显示和隐藏。
原生javascript选项卡的更多相关文章
- 原生javascript写自己的运动库(匀速运动篇)
网上有很多JavaScript的运动库,这里和大家分享一下用原生JavaScript一步一步写一个运动函数的过程,如读者有更好的建议欢迎联系作者帮助优化完善代码.这个运动函数完成后,就可以用这个运动函 ...
- MUI框架-12-使用原生底部选项卡(凸出图标案例)
MUI框架-12-使用原生底部选项卡(凸出图标案例) 今天,用 mui 做 app 时,遇到了可能各位都遇到过的头疼问题:底部中间图标凸起,如下图: 最后有源代码 [提示]:有人问我在 HBuilde ...
- 原生tab选项卡
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 原生JavaScript
原生JavaScript 为了方便查看. 所有的js和css代码都是嵌入式直接写在html代码中 1.js的引入方式 <!DOCTYPE html> <html lang=" ...
- 原生javascript 实现 animate
原生javascript 实现 animate //animate function getstyle(obj,name){ if(obj.currentStyle){ return obj.curr ...
- 浅谈 原生javaScript&&react 实现全局触摸按钮(附带对addeventlistener的了解)
1.采用原生javaACript 实现全局触摸按钮 首先在控制台输出,观察事件有哪些关于触摸的字段可以使用,然后拿这些字段的数据开始来写方法. 因为要做的是全局触摸按钮,我需要拿到的是按钮时时的坐标位 ...
- 你可能不需要 jQuery!使用原生 JavaScript 进行开发
很多的 JavaScript 开发人员,包括我在内,都很喜欢 jQuery.因为它的简单,因为它有很多丰富的插件可供使用,和其它优秀的工具一样,jQuery 让我们开发人员能够更轻松的开发网站和 We ...
- 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)
11.原生JavaScript加入收藏夹 function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sT ...
- 原生javascript加载运行
原生javascript加载运行 (function(){ //TODO sometings }()); 在要运行相应代码的位置加入script标签,创建函数并自执行; 关于window.onload ...
随机推荐
- 开源API集成测试工具 Hitchhiker v0.3更新 - 自动同步
Hitchhiker 是一款开源的 Restful Api 集成测试工具,支持Schedule, 数据对比,压力测试,可以轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http: ...
- Svn———搭建及配置
一.Svn介绍 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows ...
- sqoop1.4.6配置安装
1.下载sqoop1.4.6 2.配置环境变量. 3.复制sqoop/conf/sqoop-env-template.sh为sqoop-env.sh 添加相关的配置 #Setpath to where ...
- 阿里JAVA开发手册零度的思考理解(二)
转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流-- 上篇文章:阿里JAV ...
- 你不知的DOM编程
前言:随着vue,react, angular的流行,可能现在我们不必经常的操作DOM,三大框架在副交互的操作中发挥着极大地优势.因为我们知道用脚本对DOM的操作非常昂贵,本文主要探讨常规的DOM操作 ...
- NFS存储服务部署
第1章 NFS介绍 1.1 NFS服务内容的概述 □ RPC服务知识概念介绍说明,以及RPC服务存在价值(必须理解掌握) □ NFS服务工作原理讲解(必须理解掌握) □ NFS共享文件系统使用原理讲解 ...
- SVN Upgrade working copy
出现这个的原因是因为你机器上安装的svn客户端版本过高,而你从别的地方拷贝代码中的svn版本过低,点击SVN Upgrade working copy可以将代码中的svn版本升级.
- Flex 布局实例
如图: 代码如下: <!DOCTYPE HTML> <html> <meta charset="utf-8"> <head> < ...
- <template> 标签
<template> 元素,用于描述一个标准的以 DOM 为基础的方案来实现客户端模板.该模板允许你定义一段可以被转为 HTML 的标记,在页面加载时不生效,但可以在后续进行动态实例化.( ...
- Js的闭包,这篇写的是比较清晰明了的
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...