gpt4 book ai didi

javascript - 一个按钮转换成一个简单的电子邮件表单

转载 作者:行者123 更新时间:2023-11-28 04:51:13 27 4
gpt4 key购买 nike

我有一个已完成的按钮,它是一个基本的事件和悬停 css 元素。我想这样做,当我的“加入循环”按钮被点击时,它会变成一个简单的电子邮件表单,就像这里的 https://gab.ai/

抱歉我的蹩脚解释。这是我的代码 https://jsfiddle.net/hkr95odp/1/

.up {
opacity: 0;
background-color:#FFF;
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:5px;
border:2px solid #ff0000;
display:inline-block;
cursor:pointer;
color:#ff0000;
font-family:Quicksand;
font-size:20px;
padding:10px 10px;
text-decoration:none;
margin-right: 30px;
margin-top: 20px;
transition: all 0.5s;
box-shadow: 0px 0px 130px -18px #ff0000;

}
.up:hover {

background-color: #ff0000;
color: #fff;

}
.up:active {

}

最佳答案

首先将 signup 和 signin anchor 包装在 span 元素中以保持可读性。给注册 anchor 一个 id 以便我们可以对其进行动画处理,并在注册 anchor 之后立即添加一个最初隐藏的表单。

<body>
<header class="header">
<div class="wrap">
<span id="animationSandbox" style="display: block;"><h1 class="site__title mega">CONCUR</h1></span>
<span class="beta subhead">Verifiable &#8226; Public &#8226; News</span>
</div>
</header><!-- /.site__header -->
<h5 class="credit">-Product of BRIMM-</h5>
<div class="sign">
<span id="signupSpan">
<a id="signup" href="#" class="up">Join the loop</a>
<form id="joinform" action="??????" class="join" style="display:none;">
<label for="email" class="subhead">Email</label>
<input name="email" style="width: 120px;" class="subhead">
<input type="submit" value="Send">
</form>
</span>
<span>
<a href="#" class="in">SIGN IN</a>
</span>
</div>
<div id="joinformdiv" class="join" style="display:none;border:1px solid red; padding: 10px;position:absolute;">
</div>
</body>

并修改 css 以包含与“up”类相同但没有转换的新类。这被分配给表单,因此它具有与按钮相同的外观。

.join {
background-color:#FFF;
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:5px;
border:2px solid #ff0000;
color:#ff0000;
font-family:Quicksand;
font-size:20px;
padding:10px 10px;
padding-bottom:12px;
text-decoration:none;
margin-right: 30px;
margin-top: 20px;
box-shadow: 0px 0px 130px -18px #ff0000;
}

然后包含jquery库,并添加脚本:

<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js">      </script>

$(document).ready(function() {
$("#signup").on("click", function(e){
$("#signup").fadeOut(400, function(){
$("#joinform")
.css({opacity: 0, display: "inline"})
.animate({opacity: 1},400, function(){ $("#email").focus()})
})
})
});

这里发生的事情是,当单击注册按钮时,它会淡出,然后隐藏的表单将其不透明度设置为不可见,并将其显示设置为内嵌。这很重要,因为表单是一个 block 元素,如果 w 只是使用 fadeIn() 它会将其他内容推到页面下方。然后我们使用 animate() 命令将不透明度设置为 1,使元素完全可见。

与使用 position 和 display absolute 固定电子邮件表单在按钮上的位置不同,此方法将电子邮件表单放在按钮的同一父元素内,这样滚动就不会出现问题。

关于javascript - 一个按钮转换成一个简单的电子邮件表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698848/

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