分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

原生js实现选项卡

发布时间:2023-09-06 01:31责任编辑:苏小强关键词:js

html代码:

<div class="tab">
???<ul>
???????<li class="selected">图片</li>
???????<li>专栏</li>
???????<li>热点</li>
???</ul>
???<div class="selected">图片内容</div>
???<div>专栏内容</div>
???<div>热点内容</div>
</div>

css代码:

*{ margin: 0; padding: 0; }
.tab{
???width: 360px;
???margin: 30px auto;
}
.tab ul{
???list-style: none;
}
.tab ul:after{
???content: "";
???clear: both;
???display: block;
}
.tab ul li{
???float: left;
???width: 100px;
???height: 40px;
???text-align: center;
???line-height: 40px;
???background: #ccc;
???margin-right: 10px;
}
.tab ul li.selected{
???background: lightpink;
}
.tab div{
???display: none;
???width: 360px;
???height: 200px;
???text-align: center;
???line-height: 200px;
???background: lightpink;
}
.tab div.selected{
???display: block;
}

js代码:

var tab = document.getElementsByClassName(‘tab‘)[0];
var lis = tab.getElementsByTagName(‘li‘);
var divs = tab.getElementsByTagName(‘div‘);
for(var i=0; i<lis.length; i++){ //3
???lis[i].index = i;
???lis[i].onclick = function (){
???????//console.log(this); //点击哪个元素,那么this就是哪个
???????for(var j=0; j<lis.length; j++) {
???????????lis[j].className = ‘‘;
???????????divs[j].className = ‘‘;
???????}
???????this.className = ‘selected‘;
???????divs[/*需要this的索引*/this.index].className = ‘selected‘;
???}
}

注:

/*
* ??自定义属性: 当一个值没有地方存储,或者存储不安全。不妨存储在自己身上
* ??this: 当事件被触发的那一刻,this就是触发事件的那个元素。把事件绑定给谁,谁就是this
* */

原生js实现选项卡

原文地址:http://www.cnblogs.com/jj-z/p/8081872.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved