一个页面中有多个展开收起用jq怎么实现
时间: 2024-03-17 15:42:58 浏览: 22
可以先选中所有需要展开收起的元素,然后对每个元素分别绑定事件,实现展开收起的效果。具体实现过程如下:
1. 给需要展开收起的元素添加一个共同的 class,比如 `expandable`。
2. 使用 jQuery 选中所有的 `.expandable` 元素,然后对每个元素分别绑定事件。
3. 在事件中使用 `slideToggle()` 方法实现展开收起的效果。
示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<title>一个页面中有多个展开收起用jq怎么实现</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<style>
.expandable {
padding: 10px;
background-color: #eee;
cursor: pointer;
margin-bottom: 10px;
}
.expandable-content {
display: none;
padding: 10px;
background-color: #fff;
}
</style>
</head>
<body>
<div class="expandable">
<h3>标题1</h3>
<div class="expandable-content">
<p>内容1</p>
</div>
</div>
<div class="expandable">
<h3>标题2</h3>
<div class="expandable-content">
<p>内容2</p>
</div>
</div>
<div class="expandable">
<h3>标题3</h3>
<div class="expandable-content">
<p>内容3</p>
</div>
</div>
<script>
$(document).ready(function() {
$('.expandable').each(function() {
$(this).click(function() {
$(this).find('.expandable-content').slideToggle();
});
});
});
</script>
</body>
</html>
```
在上述代码中,我们首先给需要展开收起的元素添加了 `.expandable` 这个 class,然后使用 jQuery 选中所有的 `.expandable` 元素,并对每个元素分别绑定了点击事件。在点击事件中,我们使用 `slideToggle()` 方法来实现展开收起的效果。
注意,这里使用了 `each()` 方法对每个 `.expandable` 元素进行遍历,因为这样可以确保每个元素都被绑定了点击事件。如果直接使用 `$('.expandable').click()`,则只会对第一个元素绑定事件,其他元素则无法响应点击事件。