html - 没有 jQuery:div onclick 切换 div 功能
问题描述
我是 jQuery-phobic 和 CSS 新手。所以,请不要推荐使用jQuery。
我的代码有两个问题。
[已解决]当我点击任何一个
.active
div 时,其他的会掉下来。怎么固定在上面?当我单击 div时,如何将显示从更改
none
为?active
(我写的代码只显示 div,只要我“点击”它)
.wrap{
text-align: center;
}
.hidden{
background: grey;
display : none;
}
.active{
background : lightcoral;
display: inline-block;
vertical-align: top;
}
.active:active > .hidden{
display: block;
margin : 0 0;
}
<div class = 'wrap'>
<div class = 'active'>
<h2>1</h2>
<div class ='hidden' onclick='layer_toggle()'>a</div>
</div>
<div class = 'active'>
<h2>2</h2>
<div class ='hidden'>b</div>
</div>
<div class = 'active'>
<h2>3</h2>
<div class ='hidden'>c</div>
</div>
</div>
解决方案
如果通常的 javascript 函数适合您。
function switch_active(e) {
if (e.querySelector('.hidden').style.display == 'none') {
e.querySelector('.hidden').style.display = 'block';
} else {
e.querySelector('.hidden').style.display = 'none';
}
}
.wrap{
text-align: center;
}
.hidden{
background: grey;
display : none;
}
.active{
background : lightcoral;
display: inline-block;
vertical-align: top;
}
<div class = 'wrap'>
<div class = 'active' onclick='switch_active(this)'>
<h2>1</h2>
<div class ='hidden'>a</div>
</div>
<div class = 'active' onclick='switch_active(this)'>
<h2>2</h2>
<div class ='hidden'>b</div>
</div>
<div class = 'active' onclick='switch_active(this)'>
<h2>3</h2>
<div class ='hidden'>c</div>
</div>
</div>
推荐阅读
- html - CSS 纵横比 100vw 或 100vh 取决于窗口大小
- puppeteer - 如何使用 Puppeteer 以编程方式滚动范围输入栏中的值?
- sql - 将日历表与数据表连接并填写空白数据
- ionic-framework - Ionic React - Redux - IonInput OnIonChange 未将值传递给操作
- azure-ad-b2c - 自定义电子邮件验证示例似乎无法正常工作
- python-3.x - 如何编写 Mock unittest 来检查 git_status?
- python - 公会成员
- c# - 将 Razor 库资源移动到 MVC 发布文件夹
- node.js - FS readFile 在获取请求中不返回任何内容
- odoo - Odoo 控制器接收 blob