点击一次后点击等待然后重新启用的正确方法?使用Javascript

时间:2017-11-12 15:42:09

标签: javascript jquery

我查看了许多与我相同的问题,并尝试将它们应用到我的代码中,但没有运气。

$(document).ready(function(){
    // when the user clicks on like
    $('.icon-wrapper').on('click', function(){
        setTimeout(function() {

                }, 5200);
        var postid = $(this).data('id');
            $post = $(this);

        $.ajax({

            url: 'user_profiles.php',
            type: 'post',
            data: {
                'liked': 1,
                'postid': postid
            },

            success: function(response){

                $post.parent().find('span.likes_count').text(response);

                $post.addClass('hide');
                $post.siblings().removeClass('hide');
                $post.siblings().addClass('anim');
                $post.removeClass('anim');



            }
        });
    });


// when the user clicks on unlike
    $('.icon-appear').on('click', function(){
        setTimeout(function() {

                }, 5200);
        var postid = $(this).data('id');
        $post = $(this);

        $.ajax({
            url: 'user_profiles.php',
            type: 'post',
            data: {
                'unliked': 1,
                'postid': postid
            },
            success: function(response){

                $post.parent().find('span.likes_count').text(response);
                $post.siblings().removeClass('anim');
                $post.addClass('anim');
                $post.addClass('hide');
                $post.siblings().removeClass('hide');


            }
        });
    });
});

以上代码是我插入setTimeout

时无效的代码
    var $iconWrapper = $(".icon-wrapper");
$iconWrapper.on('click', function() {
  var _this = $(this);
  if (_this.hasClass('anim')) _this.removeClass('anim');
  else {
    _this.addClass('anim');
    _this.css('pointer-events', 'none');
    setTimeout(function() {
      _this.css('pointer-events', '');
    }, 3200);
  }
})

这个有效,但效果不尽如人意。当我喜欢它时,它并没有延迟那样,它延迟了不同的。

当我喜欢某事时,不会采取任何行动。我试图阻止按钮被快速推送多次。 我还在学习Javascript,所以我很高兴感谢任何回复/答案!

0 个答案:

没有答案