gpt4 book ai didi

Javascript 单击并切换类问题

转载 作者:行者123 更新时间:2023-11-28 04:16:20 25 4
gpt4 key购买 nike

我只是在尝试让一个简单的 3 幻灯片 slider 工作,但遇到了一些 javascript 问题。我想要发生的只是点击 slider 颜色我希望当前 slider 滑出并滑入所选 slider 。我试图通过向我单击显示的 slider 编号添加一个事件类来做到这一点.我就是想不通哪里出了问题。我不想使用 jQuery,因为我正在尝试学习 vanilla javascript。

一如既往的感谢

window.onload = onPageLoad();

function onPageLoad() {
document.querySelector('.red').classList.add('active');
};

document.querySelector('.box').addEventListener('click', function() {
document.querySelector('.red').classList.toggle('active');
document.querySelector('.green').classList.toggle('active');
document.querySelector('.yellow').classList.toggle('active');


});
* {
padding: 0;
margin: 0;
}

.main__wrapper {
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
}

.red,
.green,
.yellow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
transform: translateX(-100%);
transition: transform 1.2s;
}

.red {
background-color: red;
}

.green {
background-color: green;
}

.yellow {
background-color: yellow;
}

.active {
transform: translateX(0) !important;
transition: transform 1s !important;
}

.slide__select {
position: absolute;
bottom: 0;
right: 0;
width: 60%;
height: 20%;
z-index: 10;
display: flex;
}

.box {
position: relative;
flex: 1 0 0;
color: $color-white;
display: flex;
align-items: center;
cursor: pointer;
background-color: #A68D71;
}

.box span {
display: block;
position: relative;
z-index: 11;
}

.box::after {
content: "";
position: absolute;
top: 0;
left: 0;
background-color: yellow;
width: 100%;
height: 0;
transition: height .3s;
}

.box:hover::after {
height: 100%;
transition: height .3s;
}
<div class="main__wrapper">

<section class="red">

</section>

<section class="green">

</section>

<section class="yellow">

</section>

<div class="slide__select">
<div class="box">
<span>red</span>
</div>
<div class="box">
<span>green</span>
</div>
<div class="box">
<span>yellow</span>
</div>
</div>

</div>

最佳答案

您只是向第一个框添加一个事件监听器,并且按顺序切换每个框的事件类,最后一个是黄色的,所以您得到的是黄色背景。

querySelector 返回它找到的第一个 DOM 元素,即红色框。

对于您想要的功能,您必须向每个框添加事件监听器 (querySelectorAll)

关于Javascript 单击并切换类问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49865878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com