javascript - 按下输入文本字段时增加 div 元素的 paddingTop,否则减少
问题描述
我的HTML 元素中有一个input
文本字段。div
我想增加单击输入文本字段时padding-top
的div
,否则减少它。
我的HTML:
<div id="quarter_tenure"> <p id="date"><b>Occupancy Date</b> :<br> <input type="text" id="datepicker" name="datefilter" value="" onclick="reset_size()"/></p> </div>
我的Javascript:
function reset_size(){ let x = document.getElementById("quarter_tenure"); if(document.getElementById("datepicker") === document.activeElement){ x.style.paddingTop="30em"; } else{ x.style.paddingTop="15em"; } }
但是当我执行代码时,无论我点击文本字段,padding-top
它都不会改变。input
这里有什么问题?我如何解决它?
编辑:正如@Timothy Alexis Vass 所建议的,我已将他的代码添加到我的css
:
#quarter_tenure{
display: flex;
flex-direction: row;
border:dotted;
margin-top: 8em ;
padding-top: 15em;
border-width: 1px;
border-radius: 5px;
background-color: rgb(228, 255, 254);
transition: 2s;
}
#quarter_tenure:focus-within {
padding-top: 30em;
}
但它仍然无法正常工作。
解决方案
您只能使用 css 执行此操作。
#quarter_tenure {
padding-top: 1em;
transition: 1s;
}
#quarter_tenure:focus-within {
padding-top: 5em;
}
<div id="quarter_tenure">
<p id="date">
<b>Occupancy Date</b> :<br>
<input type="text" id="datepicker" name="datefilter" value="" />
</p>
</div>
推荐阅读
- websphere - WebSphere 门户 8.5 集群创建问题
- android - android的ViewModel的奇怪行为
- ios - 如何在 PDFView 中启用连续文本的选择以便我可以添加注释?
- ios - 在离线模式下获取iOS中的时差
- html - Bootstrap 4 - 全高
- shopify - 从管理 api 获取变体返回的“选项”值不一致?
- c++ - 重用 char 数组和 cin.getline
- node.js - 节点 JS 的新行
- php - Connect to Cloud SQL via PHP hosted on Compute Engine
- node.js - jsonwebtoken 错误未指定默认引擎且未提供扩展名