1

我已经搜索了解决方案或答案,以使我接近我的问题的解决方案,但没有任何运气。问题是我不知道实际上是什么原因造成的。我有以下 HTML 结构:

<body>
<div class="showall">
    <div class="comentwrapper" style="height:0; width:800px">

    </div>
    <div class="articol">
        Some article over here !
    </div>
    <input type="button" id="adaugacomentariu" value="Adauga comentariul tau ..." onclick="addBlogComent()" style="float:left; margin-left:5px" /><br /><br />
    <div class="showcomment">
        Coments go over here ..
    </div>
</div>

和以下 JS 代码:

function addBlogComent() {
    $('.comentwrapper').animate({"height":"340px"});
    $('.margine').delay(200).fadeIn(400);
}

function hideComent() {
    $('.margine').fadeOut(200);
    $('.comentwrapper').animate({"height":"0px"});
}

$(function() {
    $('#addblogcoment').on('submit', function(e) {
        $('.aratamesaj').fadeIn(300);

        $.post('submitcomentblog.php', $(this).serialize(), function (data) {
            $('.showcoment').load("blogcoment.php");
            $("#addblogcoment").find('input[type=text], textarea').val("");
            $('.aratamesaj').delay(5000).fadeOut(800);
            $('.comentwrapper').delay(2000).fadeOut(200);
        }).error(function() {

        });
        e.preventDefault();
    });
});

.post()我的.load()问题是之后.onClick=""不再为表单设置动画。

我不明白可能是什么原因,因为形式和button是在 上,.showall div而我只是.load().showcomment div其中是 的孩子.showall

也许有人能看到我在这里想念的东西。

有一个小小提琴。没有外部资源,但这不是问题,所有内容都已正确发布和加载。

您可以在MyWebSite看到整个页面 。

4

1 回答 1

1

请按如下方式更改您的 addBlogComment 函数代码,您正在为高度设置动画但不使元素可见。

function addBlogComent(){
$('.comentwrapper').css("display","block").animate({"height":"340px"});
    $('.margine').delay(200).fadeIn(400);
};

在您的成功回调处理程序中,fadeOut 设置为无显示。这就是为什么它只工作一次。每次都会调用您的 onclick 函数。希望能回答你的问题。

$('.comentwrapper').delay(2000).fadeOut(200);
于 2013-08-18T12:52:18.373 回答