欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 點擊展開

黃文隆1年前6瀏覽0評論
在前端開發中,展開和收起的交互是十分常見的,今天我們就來聊聊如何使用JavaScript實現點擊展開的效果。 首先,我們需要明確展開和收起的內容是什么,可以是一段文本、一張圖片或者一個列表等等。接下來就可以考慮如何在頁面上實現一個點擊展開的交互。 常見的實現思路是通過添加/移除CSS類名來改變元素的顯示狀態。比如我們可以設置一個展開的class,用來控制元素的顯示與隱藏,點擊按鈕時動態添加或移除這個class。 舉個例子,我們現在有一個卡片,包含標題和內容。一開始,只顯示標題,內容以展開的形式隱藏起來。當點擊標題時,展開內容;再次點擊則收起內容。 HTML代碼如下:
<div class="card">
<h3 class="card__title">這是標題</h3>
<p class="card__content card__content--hidden">這是內容</p>
</div>
<button class="btn">展開/收起</button>
首先,我們在card__content上定義了一個名為card__content--hidden的class,用來控制內容的顯示和隱藏。CSS代碼如下:
.card__content--hidden {
display: none;
}
接下來我們需要在JavaScript中實現點擊事件,將class加上或移除掉:
const btn = document.querySelector('.btn');
const content = document.querySelector('.card__content');
btn.addEventListener('click', () =>{
content.classList.toggle('card__content--hidden');
})
這里我們使用了classList.toggle()方法,它可以用來切換指定元素的class。 除此之外,我們還可以借助其他的庫和框架來完成點擊展開的效果,比如使用jQuery或者React等。 比如,使用jQuery來操作DOM:
const btn = $('.btn');
const content = $('.card__content');
btn.on('click', () =>{
content.toggleClass('card__content--hidden');
})
使用React編寫組件:
const Card = () =>{
const [isExpanded, setIsExpanded] = useState(false);
return (
<div className="card">
<h3 className="card__title">這是標題</h3>
<p className={`card__content ${isExpanded ? '' : 'card__content--hidden'}`} onClick={() =>setIsExpanded(!isExpanded)}>這是內容</p>
</div>
)
}
總結來說,展開和收起的交互在前端開發中非常常見,可以通過JavaScript添加/移除CSS類名來實現。同時,我們也可以借助其他庫和框架來簡化實現過程。