使用jQuery下拉输入

时间:2015-05-16 21:16:43

标签: javascript jquery html

所以我一直尝试使用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>

JSFiddle

我试过这个: 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)); }); });

有人能告诉我哪里出错了吗?任何帮助将不胜感激。

1 个答案:

答案 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>