原生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 ...
随机推荐
- Promise对象解读
首先强调的是"Promise"是对象,也就是说与其他JavaScript对象的用法,没有什么两样:其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介.它使得异步操 ...
- java 上传文件-生成文件首页缩略图 生成pdf 抓取图片
方法:1.文件转换成pdf(采用openoffice或者jacob) 2.抓取pdf首页图 第一步:采用jacob: a.下载jacob 注意区分32位,64位,否则不能用 将dll文件放在ja ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- SSH整合的详细步骤
SSH整合 新建一个动态web工程-->加入Spring-->加入Hibernate-->加入Struts2 1.在 web中应用Spring 目的:在web应用程序加载成功之后,就 ...
- 我只是想获取access_token而已
起因是想在微信小程序中获取access_token. 之前资源只有一个阿里云虚拟主机和一个域名,于是用C#后端写了GET请求的接口,准备调用自己域名下的接口获取access_token 使用微信的wx ...
- JavaScript数组去重方法汇总
1.运用数组的特性 1.遍历数组,也遍历辅助数组,找出两个数组中是否有相同的项,若有则break,没有的话就push进去. //第一版本数组去重 function unique(arr){ var r ...
- 关于在 IntellIj IDEA中JSP页面 cannot resolve method getParameter("")的解决方案
File->Project Structure->Libraries,然后点加号,将Tomcat lib文件夹下的servlet.jar和servlet-api.jar包导入.
- Chrome DevTools 开发者工具 技巧 调试
https://developers.google.com/chrome-developer-tools/docs/tips-and-tricks 1.console面板多行输入 Shift + ...
- setImmediate()
在循环事件任务完成后马上运行指定代码 以前使用 setTimeout(fn, 0); Since browsers clamp their timers to 4ms, it really d ...
- DataProtection Key的选择
代码位于: Microsoft.AspNetCore.DataProtection.KeyManagement.DefaultKeyResolver.cs private IKey FindDefau ...