我试图建立一个简单的添加到购物车容器,也恰好在产品大小之间切换。
然而,我似乎不能使这一工作,没有写不同的功能,为每个这些按钮。
下面是JS:
const sizeBtn = document.getElementById("sizebutton");
const sizeBtnTwo = document.getElementById("sizebutton1");
const sizeBtnThree = document.getElementById("sizebutton2");
sizeBtn.addEventListener('click', sizeBtnActive);
sizeBtnTwo.addEventListener('click', sizeBtnActive);
sizeBtnThree.addEventListener('click', sizeBtnActive);
function sizeBtnActive () {
sizeBtn.classList.toggle('active');
sizeBtnTwo.classList.toggle('active');
sizeBtnThree.classList.toggle('active');
}
上下文的CSS:
.size-btn.faded,
.size-btn.active {
font-size: 12px;
color: #c2c2c2;
background-color: #f0f0f0;
width: 38px;
height: 42px;
border-radius: 0.5rem;
border: none;
margin-right: 10px;
margin-bottom: 35px;
cursor: none;
}
.size-btn.active {
color: #ffff;
background-color: #000000;
box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.3);
transition: 1.5s ease;
cursor: pointer;
}
这个代码可能是可怕的,你的指导将不胜感激.
我试着在谷歌上搜索类似的问题,但到目前为止没有一个有效。我希望能够在每个按钮之间切换,而不是他们所有的一次激活。
2条答案
按热度按时间kognpnkq1#
您可以创建一个按钮组,其作用类似于单选按钮组。
只需在组中的活动按钮上切换数据属性。
vxbzzdmp2#
我希望能够在每个按钮之间切换,而不是他们所有的一次激活。
最短的方法是首先给予所有按钮一个通用的类名。
然后我们使用
querySelectorAll
立即获取这些按钮,并执行forEach
循环,首先禁用所有按钮,然后激活选中的按钮: