gpt4 book ai didi

javascript - 在选定的输入字段下方显示一个 div?没有 JQuery

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:35 26 4
gpt4 key购买 nike

如何在用户每次关注输入字段时显示一个 div。已经有一个 div,它是隐藏的。 div的位置会根据所选字段的位置而变化,并显示在下方

这是我的代码

formFieldListWrapper.style.top = ((((formSelectedFieldInput.offsetTop > (formWrapper.offsetHeight/2))?((formSelectedFieldInput.offsetTop-(formWrapper.offsetHeight/2))-(formSelectedFieldInput.offsetHeight+formWrapper.offsetHeight*0.02)):(formSelectedFieldInput.offsetTop))/formWrapper.offsetHeight)*100) + "%";
formFieldListWrapper.style.left = ((formSelectedFieldInput.offsetLeft/formWrapper.offsetWidth)*100) + "%";

最佳答案

为什么要使用 javascript?这可以通过使用 CSS only 来实现

HTML

<div class="holder">
<input type="text" />
<div class="dropdown">
<p>Testing</p>
<p>Css ONLY</p>
<p>Dropdown</p>
</div>
</div>

CSS

.holder {
position: relative;
}
.dropdown {
position: absolute;
border: 1px solid red;
display: none;
}

input:focus + .dropdown {
display: block;
}

更新

有点误解了这个问题,如果你需要像this fiddle那样动态定位div , 你云使用:

HTML

<div class="holder">
<input type="text" />

</div>
<div class="holder" style="margin-top: 30px;">
<input type="text" />
</div>
<div class="dropdown">
<p>Testing</p>
<p>Css ONLY</p>
<p>Dropdown</p>
</div>

CSS

.holder {
position: relative;
}
.dropdown {
position: absolute;
border: 1px solid red;
display: none;
z-index: 1;
background: white;
}

input:focus + .dropdown {
display: block;
}

Javascript 定位下拉div

var inputs = document.querySelectorAll('input');
for (var i = 0; i < inputs.length; i++) {
inputs[i].addEventListener('focus', function(){
this.parentNode.appendChild(document.querySelector('.dropdown'));
});
}

关于javascript - 在选定的输入字段下方显示一个 div?没有 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com