我正在做一個(gè)非常簡(jiǎn)單的練習(xí),使用 div 創(chuàng)建帶有按鈕的卡片作為顯示或隱藏答案的開(kāi)關(guān)。我想重新使用第一張卡片的代碼來(lái)制作我想要的所有具有相同行為的 div。這是腳本和練習(xí)的鏈接,因此更容易看到:<div class="container"><div class="card"> <div><img src="https://i.imgur.com/Sv1a28N.png" alt="manzana" /></div> <div class="card-title">Apple</div> <button class="card-button">Show</button> <div class="card-answer">Manzana</div></div>和腳本var cards = document.getElementsByClassName('card'); for (var cardIndex in cards) { var button = cards[cardIndex].querySelector('.card-button'); button.addEventListener('click', function(event){ var currentButton = event.target; var currentCard = currentButton.parentNode; var currentAnswer = currentCard.querySelector('.card-answer'); if (currentButton.innerHTML == 'Show') { currentAnswer.style.display = "block"; currentButton.innerHTML = 'Hide'; } else if (currentButton.innerHTML == 'Hide') { currentAnswer.style.display = 'None'; currentButton.innerHTML = 'Show'; } }) }如果您想查看完整代碼,這里還有 codepen 鏈接:Codepen問(wèn)題是,當(dāng)我單擊其中一張卡片中的按鈕時(shí),其他卡片的尺寸也會(huì)擴(kuò)大,就像它們也在顯示答案一樣。該按鈕只影響他的直接 div 父母,但似乎同時(shí)影響其他卡片的 div 存在一些問(wèn)題。我認(rèn)為這不是 JS 或 HTML 問(wèn)題,而是 CSS 問(wèn)題,因?yàn)槿萜骶哂小癴lex”屬性,而其他容器將其高度調(diào)整為第一個(gè)。事實(shí)上,我嘗試調(diào)整屏幕大小,它只影響第一行卡片,而不是第二行。我不知道如何解決這個(gè)問(wèn)題,而不必創(chuàng)建一個(gè)類(lèi)來(lái)影響被點(diǎn)擊的卡片并保持其他卡片目前未被點(diǎn)擊。我仍然只是一只蝌蚪,但我想保持代碼盡可能簡(jiǎn)單和干凈,并且只保留 Javascript(我想有辦法用 Jquery 解決這個(gè)問(wèn)題,但因?yàn)檫@只是一個(gè) JS 練習(xí),我想解決它接著就,隨即)。這是我在這里的第一篇文章,所以請(qǐng)隨時(shí)添加建議以改進(jìn)或修復(fù)我的問(wèn)題中的任何內(nèi)容。謝謝!
JS:擴(kuò)展一個(gè)div的大小會(huì)影響所有div的大小
qq_花開(kāi)花謝_0
2023-01-06 10:43:21