3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
function revealAnswersFunction(e) {
var all =document.getElementsByClassName('showme');
for(let i=0;i<all.length;i++){
all[i].style.display='none';
}
var div = e.nextSibling.nextElementSibling;
div.style.display = "inline-block";
}
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(this)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1D, 2C</div>
</div>
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(this)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1A, 2D</div>
</div>
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(this)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1B, 2B</div>
</div>

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
一個(gè)簡單的解決方案是在函數(shù)中使用索引:
<div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(0)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1D, 2C</div>
</div>
? <div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(1)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1A, 2D</div>
</div>
? <div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(2)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1B, 2B</div>
</div>
function revealAnswersFunction(index) {
? if (answers[index].style.display === "none") {
? ? answers[index].style.display = "inline-block";
? } else {
? ? answers[index].style.display = "none";
? }
}
在 HTML 中,我向onclick="revealAnswersFunction(0)" . 然后在函數(shù)中使用該索引來獲取要顯示的答案。
為了將來參考,當(dāng)您調(diào)用它時(shí)document.getElementsByClassName(),它會返回一個(gè)數(shù)組,因此您將需要要修改的數(shù)組項(xiàng)的索引。
一個(gè)簡單的解決方案是在函數(shù)中使用索引:
<div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(0)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1D, 2C</div>
</div>
? <div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(1)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1A, 2D</div>
</div>
? <div class="showhim">?
? ? ? ? <button class="answerbtn" onclick="revealAnswersFunction(2)">Click/Tap To Reveal Answers:</button>
? ? <div class="showme" style="display:none">1B, 2B</div>
</div>
function revealAnswersFunction(index) {
? if (answers[index].style.display === "none") {
? ? answers[index].style.display = "inline-block";
? } else {
? ? answers[index].style.display = "none";
? }
}
在 HTML 中,我向onclick="revealAnswersFunction(0)" . 然后在函數(shù)中使用該索引來獲取要顯示的答案。
為了將來參考,當(dāng)您調(diào)用它時(shí)document.getElementsByClassName(),它會返回一個(gè)數(shù)組,因此您將需要要修改的數(shù)組項(xiàng)的索引。
一個(gè)更簡潔的解決方案是使用事件偵聽器將事件添加onclick
到 javascript 中的按鈕。

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
首先使用hide()方法隱藏所有答案,然后更改當(dāng)前答案的顯示屬性。
function revealAnswersFunction(e) {
$('.showme').hide();
e.target.nextElementSibling.style.display = 'inline-block';
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(event)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1D, 2C</div>
</div>
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(event)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1A, 2D</div>
</div>
<div class="showhim">
<button class="answerbtn" onclick="revealAnswersFunction(event)">Click/Tap To Reveal Answers:</button>
<div class="showme" style="display:none">1B, 2B</div>
</div>
- 3 回答
- 0 關(guān)注
- 160 瀏覽
添加回答
舉報(bào)