所以我一直尝试使用sub_region
向下滑动输入,但它似乎没有效果,除非我只是放错地方。
当您点击“添加字段”时,我基本上希望.slideDown()
向下滑动。而不只是立即出现更好的效果。
这是我的代码:
HTML:
input_line
JQUERY:
<form action="javascript:void(0);" method="POST" autocomplete="off">
<button id="add">Add Field</button>
<div class='input_line'>
<input type="text" name="input_0" placeholder="Input1">
</div>
</form>
我试过这个:
jQuery(document).ready(function () {
'use strict';
var input = 1,
blank_line = $('.input_line');
$('#add').click(function () {
$('form').append(blank_line.clone(true));
$('.input_line').last().before().before($(this));
});
});
有人能告诉我哪里出错了吗?任何帮助将不胜感激。
答案 0 :(得分:3)
在使用slideDown()
显示元素之前,您需要隐藏元素。 slideDown
本质上是一个动画show
函数。它们的行为相同:在已经可见的元素上调用show
什么都不做。
此外,可以通过将按钮保持在原位并将其更改为绝对定位来对按钮进行动画处理。
jQuery(document).ready(function () {
'use strict';
var input = 1,
blank_line = $('.input_line');
$('#add').click(function () {
var newElement = blank_line.clone(true).hide();
$('form').append(newElement);
newElement.slideDown();
});
});
#add {
position:absolute;
bottom: 0;
left: 0;
}
.input_line {
margin-left: 70px;
}
form {
position:relative;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="javascript:void(0);" method="POST" autocomplete="off">
<button id="add">Add Field</button>
<div class='input_line'>
<input type="text" name="input_0" placeholder="Input1">
</div>
</form>