onClick功能只触发一次

onClick function only trigger once

本文关键字:一次 功能 onClick      更新时间:2023-09-26

我搜索了一个解决方案或答案,以接近问题的解决方案,但没有任何运气。问题是,我不知道到底是什么原因导致了这种情况。我有以下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上,而我只是在.showcomment div中的.load(),它是.showall的子代。

也许有人能看到我在这里错过的东西。

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

你可以在MyWebSite上看到整个页面。

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

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

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

$('.comentwrapper').delay(2000).fadeOut(200);