html仿京东选项卡切换代码,js仿京东轮播效果 选项卡套选项卡使用
时间: 2023-08-25 07:04:33 浏览: 231
jQuery仿京东商品分类选项卡切换代码
以下是一个简单的HTML仿京东选项卡切换代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>选项卡切换</title>
<meta charset="utf-8">
<style type="text/css">
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
.tab-nav li {
display: inline-block;
padding: 10px;
border: 1px solid #ccc;
cursor: pointer;
}
.tab-nav li.active {
border-bottom: none;
}
</style>
</head>
<body>
<div class="tab">
<ul class="tab-nav">
<li class="active">选项卡1</li>
<li>选项卡2</li>
<li>选项卡3</li>
</ul>
<div class="tab-content active">
<p>选项卡1内容</p>
</div>
<div class="tab-content">
<p>选项卡2内容</p>
</div>
<div class="tab-content">
<p>选项卡3内容</p>
</div>
</div>
<script type="text/javascript">
var tabNav = document.querySelectorAll('.tab-nav li');
var tabContent = document.querySelectorAll('.tab-content');
for (var i = 0; i < tabNav.length; i++) {
tabNav[i].addEventListener('click', function() {
var currentTab = this.dataset.tab;
for (var j = 0; j < tabNav.length; j++) {
tabNav[j].classList.remove('active');
}
for (var j = 0; j < tabContent.length; j++) {
tabContent[j].classList.remove('active');
}
this.classList.add('active');
document.querySelector('.tab-content[data-tab="' + currentTab + '"]').classList.add('active');
});
}
</script>
</body>
</html>
```
以上代码使用了纯CSS来隐藏和显示选项卡内容,使用了JavaScript来切换选项卡。每个选项卡都有一个`data-tab`属性来指定它对应的选项卡内容。
以下是一个简单的JavaScript仿京东轮播效果:
```html
<!DOCTYPE html>
<html>
<head>
<title>轮播效果</title>
<meta charset="utf-8">
<style type="text/css">
.carousel {
position: relative;
overflow: hidden;
width: 500px;
height: 300px;
}
.carousel .slides {
position: absolute;
top: 0;
left: 0;
width: 500%;
height: 100%;
display: flex;
animation: slide 10s infinite;
}
.carousel .slides .slide {
flex: 1;
height: 100%;
background-size: cover;
}
@keyframes slide {
0% { transform: translateX(0); }
20% { transform: translateX(0); }
25% { transform: translateX(-100%); }
45% { transform: translateX(-100%); }
50% { transform: translateX(-200%); }
70% { transform: translateX(-200%); }
75% { transform: translateX(-300%); }
95% { transform: translateX(-300%); }
100% { transform: translateX(-400%); }
}
</style>
</head>
<body>
<div class="carousel">
<div class="slides">
<div class="slide" style="background-image: url('image1.jpg');"></div>
<div class="slide" style="background-image: url('image2.jpg');"></div>
<div class="slide" style="background-image: url('image3.jpg');"></div>
<div class="slide" style="background-image: url('image4.jpg');"></div>
<div class="slide" style="background-image: url('image5.jpg');"></div>
</div>
</div>
</body>
</html>
```
以上代码使用了CSS3动画来实现轮播效果。`.carousel`元素是一个具有相对定位和溢出隐藏的容器,`.slides`元素是一个具有绝对定位和`flex`布局的容器,其中每个`.slide`元素都占据`.slides`的一个等分部分,背景图片使用了`background-image`属性。
在`@keyframes`规则中,我们定义了一个名为`slide`的动画,将`.slides`元素向左平移,每个图片占据一个完整的`.slides`宽度。`animation`属性将动画应用到`.slides`元素上,并将其无限循环播放。
阅读全文