gpt4 book ai didi

javascript - 输入文本后表单标 checkout 现在输入框内

转载 作者:行者123 更新时间:2023-11-28 17:11:20 24 4
gpt4 key购买 nike

您知道如何在 Bootstrap 或 jQuery/JavaScript 中执行以下功能吗?

  • 带有占位符文本的默认输入状态(即“电子邮件”占位符)
  • 点击那个输入
  • 开始输入您的电子邮件地址
  • “电子邮件”占位符消失
  • “电子邮件”标 checkout 现并向上移动到输入的电子邮件地址上方和输入框内

Default "Email" placeholder "Email" placeholder disappears, label appears and moves above the entered text

您可以在 Shopify 上查看此演示:

这是 Plunker 的起点:

https://plnkr.co/edit/bd9yGmgKfK53Tpn8rCSp?p=preview

<!DOCTYPE html>
<html>

<head>
<style>
label {
display: none;
}
</style>
</head>

<body>
<label>Email</label>
<br />
<input placeholder="Email" />
</body>

</html>

非常感谢任何有关如何复制此功能的建议。

最佳答案

不幸的是,仅 CSS 无法解决问题,因为您无法根据输入的实际值来定位输入。 (在这里阅读更多 Detect if an input has text in it using CSS -- on a page I am visiting and do not control? )

因此,从上面的帖子中获取的诀窍是监听输入的事件并添加一个类来标记输入何时具有值。如果您碰巧显示一些带有预填充输入的输入,则必须在页面加载后运行该函数。

技巧的其余部分是关于将标签放置在输入上方并确保输入有足够的填充以使两个文本不会重叠。我会让你根据自己的需要设计它的优点。

$('.labeled_input_group input').on("change keyup keydown",function(e){
var elem = $(this);
if(elem.val()){
elem.closest('.labeled_input_group').addClass('hasValue');
}else{
elem.closest('.labeled_input_group').removeClass('hasValue');
}
});
.labeled_input_group{
position:relative;
}

label{
display:none;
position:absolute;
top:0px;
font-size:12px;
}
.labeled_input_group input{

}

.labeled_input_group.hasValue label{
display:block;
}
.labeled_input_group.hasValue input{
padding-top:14px;
font-size:12px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>

<head>

</head>

<body>
<div class="labeled_input_group">
<label>Email</label>
<input placeholder="Email"/>
</div>
</body>

</html>

关于javascript - 输入文本后表单标 checkout 现在输入框内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548364/

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