想要在调用函数时延迟几秒钟

时间:2013-09-10 05:01:28

标签: ajax function call delay seconds

我希望在调用函数时延迟几秒钟,以便用户不会通过快速单击类似按钮而垃圾邮件,并且我的ajax调用在后台成功执行。

这样做的原因:(因为我正在对ajax文件中的点击进行计算。因此,如果用户快速点击,则会干扰计数。)

点击按钮后的效果:类似按钮更改为不像按钮

这是我的Jquery代码:

<script type="text/javascript">
function like(post_id,post_user_id,user_id)
{
    var last_msg_id         = $('.load_more').attr("id");
        $.post('ajax_files/like.php', {post_id:post_id,post_user_id:post_user_id,user_id:user_id},
        function(data) 
        {
            $("#extra_small_loader_"+post_id).empty().html('<img src="images/extra_small_loader.gif">');            




            if(last_msg_id!='end')
            {
                $.ajax({
                    type: "POST",
                    url: "ajax_files/maintain_posts.php",
                    data: "lastmsg="+ last_msg_id, 
                    beforeSend:  function() 
                        {
                        $('a.load_more').html('<img src="load_more_script/loading.gif" />');

                        },
                    success: function(html)
                        {
                        $("#reload_posts").html(html);
                        }
                });
            }



        });
}
</script>

这是 LIKE 按钮的HTML:

<a href="javascript:void(0);" onclick="like(<?php echo $ps->id; ?>,<?php echo $ps->user_id; ?>,<?php echo $user_id; ?>)">

  <span class="Icon_Text_Font">Like</span>

</a>

这是我的代码 UNLIKE 按钮:

<a href="javascript:void(0);" onclick="unlike(<?php echo $ps->id; ?>,<?php echo $ps->user_id; ?>,<?php echo $user_id; ?>)">

  <span class="Icon_Text_Font">Unlike</span>

</a>

1 个答案:

答案 0 :(得分:1)

您是否尝试使用setTimeout()

例如

setTimeout(function() { functionName() },5000);