用JS怎样实现类似淘宝tab切换栏的功能?
Admin 2021-10-19 群英技术资讯 949 次浏览
用JS怎样实现类似淘宝tab切换栏的功能?tab切换栏的功能还是比较实用的,例如淘宝页面的商品详情,规格参数和累计评价三个栏,点击不同的栏下面出现的内容不同,这样的设计的好处就是能让页面更整洁美观,接下来我们就看看这个效果要怎样做。

根据淘宝做出默认状态下为商品介绍栏以及对应的文字,鼠标点击其他栏目,点击的栏目背景颜色变红,同时下面的栏目出现点击栏目的解释。

程序源码:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>tab栏切换操作</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.tab {
margin: 100px auto;
width: 1200px;
height: 330px;
background-color: royalblue;
}
.tab .tab_list {
height: 30px;
background-color: slategrey;
}
.tab ul li{
float: left;
list-style: none;
cursor: pointer;
width: 100px;
height: 30px;
}
.color {
background-color: red;
}
.tab .tab_con {
height: 300px;
background-color: silver;
}
</style>
</head>
<body>
<div class = "tab">
<div class="tab_list">
<ul>
<li class = "color">商品介绍</li>
<li>规格与包装</li>
<li>售后保障</li>
<li>商品评价</li>
<li>手机社区</li>
</ul>
</div>
<div class="tab_con">
<div class="item" style="display:block;">商品介绍</div>
<div class="item" style="display: none;">规格与包装</div>
<div class="item" style="display: none;">售后保障</div>
<div class="item" style="display: none;">商品评价</div>
<div class="item" style="display: none;">手机社区</div>
</div>
</div>
<script>
var tab_list = document.querySelector('.tab_list');
var lis = tab_list.querySelectorAll('li');
var items = document.querySelectorAll('.item');
for(var i = 0;i<lis.length;i++){
//给所有的li添加自定义属性索引号
lis[i].setAttribute('index',i)
//设置鼠标点击事件
lis[i].onclick = function(){
for( var i = 0;i<lis.length;i++){
//将所有类的类名设置为空
lis[i].className='';
//将所有的display设置为none
items[i].style.display='none';
}
//给点击事件的类名设置为color
this.className='color';
//获取点击事件的索引号
var index = this.getAttribute('index');
// for (var i=0;i<items.length;i++){
// items[i].style.display='none';
// }
//将点击事件的display设置为block
items[index].style.display = 'block';
}
}
</script>
</body>
</html>
以上就是用JS实现类似淘宝tab切换栏的功能的具体代码,需要的朋友可以参考学习,希望对大家学习JS有帮助,想要了解更多tab切换栏效果的实现,大家可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
客户端的抖动,快速操作,网络通信或者服务器响应慢,都容易造成服务器重复处理,这篇文章主要给大家介绍了关于jquery项目中如何防重复提交的相关资料,需要的朋友可以参考下
jQuery中让li标签显示与隐藏的方法是什么?li标签用于定义列表项目,有时候我们需要对其做显示或隐藏的操作,那么有什么方法可以实现呢?对此本文给大家分享两种方法,感兴趣的朋友就继续往下看吧。
这篇文章主要为大家详细介绍了JavaScript实现表单全选或反选效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
关于ES6字符串的扩展详解 目录 一.字符串的扩展 字符的 Unicode 表示法 字符串的遍历器接口 模板字符串 二.字符串的新增方法 includes(), startsWith(), endsWith() 实例方法:repeat() 实例方法:padStart(),padEnd() 实例方法:trimStart(),trimEnd() 总结 一.字符串的扩展 字符的 Unicode 表示法 ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点.
不断调用generator对象的next()方法,执行generator代码,然后,每次遇到yieldx;返回一个对象,然后暂停。直接用for...of循环迭代generator对象,不需要自己判断done。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008