我希望在调用函数时延迟几秒钟,以便用户不会通过快速单击类似按钮而垃圾邮件,并且我的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>
答案 0 :(得分:1)
您是否尝试使用setTimeout()
例如
setTimeout(function() { functionName() },5000);