第一個案例是最簡單的可折疊示例。我們使用一個按鈕和一個折疊區(qū)域。在HTML代碼中,我們創(chuàng)建了一個<button>按鈕,一個包含待折疊內(nèi)容的<div>標(biāo)簽,并給它們指定相應(yīng)的id。CSS代碼中,我們通過設(shè)定初始狀態(tài)和點(diǎn)擊按鈕時的狀態(tài)來實現(xiàn)折疊效果。
<button onclick="toggleFold('foldContent1')">展開/折疊</button> <div id="foldContent1">待折疊的內(nèi)容</div> <br> <style> #foldContent1 { display: none; /* 初始狀態(tài)設(shè)置為隱藏 */ } <br> .show { display: block; /* 點(diǎn)擊按鈕后顯示折疊內(nèi)容 */ } </style> <br> <script> function toggleFold(id) { var foldContent = document.getElementById(id); <br> if (foldContent.style.display === "none") { foldContent.style.display = "block"; } else { foldContent.style.display = "none"; } } </script>
上面的代碼中,初始狀態(tài)下折疊內(nèi)容被設(shè)置為隱藏,點(diǎn)擊按鈕時,通過toggleFold
函數(shù)判斷折疊內(nèi)容是否處于隱藏狀態(tài),如果是,則將其顯示,如果不是,則將其隱藏。
第二個案例是一個帶有折疊狀態(tài)的列表。我們使用多個按鈕和對應(yīng)的折疊區(qū)域。通過給每個折疊區(qū)域增加一個類名來控制其折疊狀態(tài),點(diǎn)擊按鈕時,通過JavaScript代碼來切換折疊內(nèi)容的顯示狀態(tài)。
<button onclick="toggleFold('foldContent2-1')">展開/折疊1</button> <div id="foldContent2-1" class="fold">折疊的內(nèi)容1</div> <button onclick="toggleFold('foldContent2-2')">展開/折疊2</button> <div id="foldContent2-2" class="fold">折疊的內(nèi)容2</div> <br> <style> .fold { display: none; /* 初始狀態(tài)設(shè)置為隱藏 */ } <br> .show { display: block; /* 點(diǎn)擊按鈕后顯示折疊內(nèi)容 */ } </style> <br> <script> function toggleFold(id) { var foldContent = document.getElementById(id); <br> if (foldContent.classList.contains("show")) { foldContent.classList.remove("show"); } else { foldContent.classList.add("show"); } } </script>
在第二個案例中,我們給每個折疊區(qū)域添加了一個類名fold
,并通過CSS將其初始狀態(tài)設(shè)為隱藏。在JavaScript代碼中,我們通過切換類名show
來切換折疊內(nèi)容的顯示狀態(tài)。
最后一個案例是通過點(diǎn)擊標(biāo)題展開或者折疊關(guān)聯(lián)的內(nèi)容。在這個例子中,我們使用了一個有序列表(ol)并包含了多個標(biāo)題(li)和對應(yīng)的內(nèi)容(ul),每個內(nèi)容都包裹在一個折疊區(qū)域(div)中。點(diǎn)擊標(biāo)題時,通過JavaScript代碼來切換折疊內(nèi)容的顯示狀態(tài)。
<ol> <li onclick="toggleFold('foldContent3-1')">標(biāo)題1</li> <div id="foldContent3-1" class="fold">折疊的內(nèi)容1</div> <br> <li onclick="toggleFold('foldContent3-2')">標(biāo)題2</li> <div id="foldContent3-2" class="fold">折疊的內(nèi)容2</div> </ol> <br> <style> .fold { display: none; /* 初始狀態(tài)設(shè)置為隱藏 */ } <br> .show { display: block; /* 點(diǎn)擊標(biāo)題后顯示折疊內(nèi)容 */ } </style> <br> <script> function toggleFold(id) { var foldContent = document.getElementById(id); <br> if (foldContent.classList.contains("show")) { foldContent.classList.remove("show"); } else { foldContent.classList.add("show"); } } </script>
在這個案例中,通過給每個折疊區(qū)域添加一個共同的類名fold
,便于批量控制其初始狀態(tài)。點(diǎn)擊標(biāo)題時,通過調(diào)用toggleFold
函數(shù)切換折疊內(nèi)容的顯示狀態(tài)。
通過上面的幾個案例,我們可以看到使用<div>標(biāo)簽和少量的HTML、CSS和JavaScript代碼就可以實現(xiàn)一個簡單的可折疊區(qū)域。這種可折疊的設(shè)計可以使得網(wǎng)頁內(nèi)容更加緊湊,用戶可以按需展開或者折疊相關(guān)內(nèi)容,提升用戶體驗。