javascript - 当按下输入文本字段时增加 div 元素的 paddingTop,否则减少

标签 javascript html

我的 HTML 中的 div 元素内有一个 input 文本字段。我想在单击输入文本字段时增加 divpadding-top ,否则减少它。

  • 我的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";
        }
    }
    

但是当我执行代码时,无论我点击 input 文本字段,padding-top 都不会改变。这里有什么问题吗?我该如何修复它?


编辑:正如@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;
}

但是还是不行。

最佳答案

您可以使用两个事件onfocusonfocusout:

function goUpSize() {
   document.getElementById("quarter_tenure").style.paddingTop = "6em";
}

function goDownSize() {
   document.getElementById("quarter_tenure").style.paddingTop = "1em";
}
 <div id="quarter_tenure">
        <p id="date">
            <b>Occupancy Date</b> :<br>
            <input type="text" id="datepicker" name="datefilter" value="" onfocus="goUpSize()" onfocusout="goDownSize()" />
        </p>
    </div>

关于javascript - 当按下输入文本字段时增加 div 元素的 paddingTop,否则减少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68510621/

相关文章:

javascript - 速记属性名和计算属性名可以同时使用吗?

javascript - 将 javascript 变量保存在服务器端变量中(vbscript)

html - 如何在悬停时更改同级元素 CSS

javascript - Jquery 根据选择值创建输入元素数量

javascript - JQUERY keyup 函数仅当鼠标不在输入字段上时响应

html - 删除 HTML5 视频播放器菜单按钮

javascript - AngularJS 和 Windows 8 路由错误

jquery - 单击其他按钮时,如何使所有选定的按钮恢复为原始按钮?

javascript - 提交表单后如何使用清除缓存硬刷新 Internet Explorer?

javascript - NPM安装全局困惑