3 回答
TA贡献1802条经验 获得超4个赞
我删除了许多无用的 JavaScript,并更改了单击按钮的激活方式。为了简洁起见我也删除了console.log。
var pathStr = "images/lessons/lessonBtns/";
var btnArray = ["kBtn", "firstBtn", "secondBtn", "thirdBtn", "fourthBtn"];
function toggleGradeBtns(gradeBtn) {
var gradeBtnArray = document.getElementsByClassName("grade-btn");
for (var i = 0; i < gradeBtnArray.length; i++) {
gradeBtnArray[i].children[0].src = pathStr + btnArray[i] + ".png";
}
gradeBtn.children[0].src = gradeBtn.children[0].src.slice(0, -4) + "Down.png";
}
TA贡献1836条经验 获得超13个赞
您只需使用 HTML 和 CSS 即可完成此操作。当然,你也可以使用 JS 来完成,但我喜欢这种简单性:
#image::after {
content: "🤷";
font-size: 200px;
}
#checkButton:checked ~ #image::after {
content: "🦠";
}
#checkButton:checked ~ label {
background-color: black;
color: white;
}
#checkButton {
position: absolute;
opacity: 0;
}
label {
border-radius: 10px;
border: 1px solid black;
padding: 5px;
}
<input type="checkbox" id="checkButton">
<label for="checkButton"> label that looks like a button </label>
<div id="image"></div>
有关此“方法”的更多信息,请谷歌“css checkbox hack”。
另外,为了简单起见,我在这里使用了表情符号,但您也可以使用content: url('your-url-here')
.
TA贡献1840条经验 获得超5个赞
这是我的仅 CSS/HTML 方法。如果您需要每个向上和向下箭头不同,您可以为每个单选按钮指定一个 ID 并单独设置它们的样式。
[type=radio] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
[type=radio] + p {
display: inline;
}
[type=radio] + p::after {
cursor: pointer;
background-image: url(https://www.pngitem.com/pimgs/m/111-1118943_up-arrow-icon-png-up-arrow-symbol-png.png);
background-size: 20px 20px;
display: inline-block;
width: 20px;
height: 20px;
content:"";
}
[type=radio]:checked + p::after {
background-image: url(https://www.iconsdb.com/icons/preview/red/down-xxl.png);
background-size: 20px 20px;
display: inline-block;
width: 20px;
height: 20px;
content:"";
}
<label>
<input type="radio" name="myRadio" value="1" checked> <p></p>
</label>
<label>
<input type="radio" name="myRadio" value="2"> <p></p>
</label>
<label>
<input type="radio" name="myRadio" value="3"> <p></p>
</label>
<label>
<input type="radio" name="myRadio" value="4"> <p></p>
</label>
<label>
<input type="radio" name="myRadio" value="4"> <p></p>
</label>
- 3 回答
- 0 关注
- 100 浏览
添加回答
举报