您如何在我的网站上制作一个可点击的按钮,该按钮会变为<input>
字段并带有<submit>
按钮?单击按钮后,我希望它向右滑动,然后文本输入表单将出现在它旁边。我不知道我是否应该使用CSS或JavaScript。有什么帮助吗?
答案 0 :(得分:5)
HTML
<form>
<button>Slide In!</button>
<div>
<input type='text' />
<input type='submit' />
</div>
</form>
CSS
form {
position:relative;
}
form div {
position:absolute;
top:0;
left:-100%;
width:100%;
overflow:hidden;
transition:all 1s ease-in;
}
form div.active {
left:0;
}
的jQuery
$('button').on('click', function (event) {
event.preventDefault();
$('form div').addClass('active');
});
答案 1 :(得分:3)
带标签,焦点和转换CSS可以做一些非常接近问题的事情: http://codepen.io/anon/pen/gualw/
form {
line-height: 1.7em;
}
label {
/* make it look like a button */
width: 4em;
float: left;
overflow: hidden;
margin: 0.25em;
box-shadow: 0 0 0 1px;
border-radius: 5px;
line-height: 1.2em;
text-align: center;
background: #4285F4;
margin-left: 0;
transition: 0.5s;
}
input {
float: left;
clear: left;
margin: 0.25em 0.25em 0.25em -50%;
}
input:focus {
transition: 0.5s;
margin: 0.25em 0;
}
input:focus+label {
margin-left: -50%;
transition: 0.5s;
}
<form>
<input id="ipt1" />
<label for="ipt1"> input 1 </label>
<input id="ipt2" />
<label for="ipt2"> input 2 </label>
<input id="ipt3" />
<label for="ipt3"> input 3 </label>
</form>
答案 2 :(得分:1)
你可能会做这样简单的事情......将宽度从0动画到某个值......
<强> HTML 强>
<input type="text" id="input-txt">
<input type="button" id="input-btn" value="Go">
<强> CSS 强>
#input-txt {
width: 0;
transition: width 1s ease-in;
}
#input-txt.active {
width: 250px;
}
比特o&#39; JS 强>
document.getElementById('input-btn').addEventListener('click', function () {
document.getElementById('input-txt').classList.add('active');
});
<强> DEMO 强>
答案 3 :(得分:0)
您需要结合使用CSS和Javascript才能实现此目标
在设计中,通过css
制作文本框display = none将JS单击事件绑定到按钮(JQuery是更好更快的选项)并设置textbox display = block。要设置动画,请使用Jquery动画或任何预设动画来显示文本框。外观依赖于你的CSS风格
查看此thread以获取更多见解
答案 4 :(得分:-3)
您将使用两者的组合。 CSS用于制作动画和JavaScript以创建触发这些动画的功能。一个好的起点是onClick事件。