6

我正在尝试让 jQuery 的slideDown()动画正常工作,但在我的情况下,应该向下滑动的文本只会出现..如何让它在动画到位的情况下出现?

我也尝试手动指定速度,但最终结果是一样的。

HTML:

<section class="subscribe">
    <button id="submitBtn" type="submit">Subscribe</button>
    <p></p>
</section>

JavaScript:

$(function () {
    $("#submitBtn").click(function (event) {
        $(".subscribe p").html("Thanks for your interest!").slideDown({
                        duration: 4000
                    });
    });
});

JSFiddle:http: //jsfiddle.net/ahmadka/A2mmP/

4

3 回答 3

8

p当您输入文本并尝试向下滑动时,您的元素已经显示。所以不需要动画。

$(function () {
  $("#submitBtn").click(function (event) {
    $(".subscribe p").hide().html("Thanks for your interest!").slideDown(4000);
  });
});
于 2013-07-10T09:08:53.103 回答
4

您可以先隐藏内容,然后使用slideDown功能显示它:

HTML

<section class="subscribe">
    <button id="submitBtn" type="submit">Subscribe</button>
    <p>Thanks for your interest!</p>
</section>

CSS

.subscribe p{
    display:none;
}

jQuery

$(function () {
    $("#submitBtn").click(function (event) {
        $(".subscribe p").slideDown({duration: 400});
    });
});

活生生的例子:http: //jsfiddle.net/A2mmP/2/

于 2013-07-10T09:10:01.560 回答
3

您修改后的代码

$(function () {
    $("#submitBtn").click(function (event) {
        $(".subscribe p").html("Thanks for your interest!").hide().slideDown('400');
    });
});

检查这个演示

于 2013-07-10T09:12:33.613 回答