使用IF语句切换需要两次点击才能触发

时间:2017-12-16 06:26:51

标签: javascript jquery ajax

这是Twitter跟随系统的'跟随取消关注'按钮的切换。当按钮具有类unfollow时,需要两次单击才能触发。当按钮具有类follow时,只需单击一下即可触发。这与if语句有关。如果脚本不需要运行if语句,则只需单击一次即可激活脚本,该单击是脚本else部分的一部分。值得注意的是,当需要两次点击时,如果页面中没有刷新,那么您只需按一下即可来回切换。当脚本需要通过if语句时,您知道如何避免使用两次单击?

提前致谢。

<button class="followUnfollow" id="boton<?php echo $member->id; ?>" type="button" data-member_id="<?php echo $member->id; ?>" user_id="<?php echo $id;?>"> <?php echo $status; ?> </button>
<script>
   $(document).ready(function() {
    $("#boton<?php echo $member->id; ?>").on('click', function() {
        var memberId = $(this).attr('data-member_id');
        var userId = $(this).attr('user_id');
         if($("#boton<?php echo $member->id; ?>").hasClass('unfollow')) { // TWO CLICKS TO FIRE
             $.get("follow_actions.php", {unfollow_id:memberId, user_id:userId} , function(data) {
             });            
             $(this).html('follow');
             $(this).removeClass('unfollow').addClass('follow');
         } else { // WORKS WELL, ONE CLICK TO FIRE
             $.get("follow_actions.php", {follow_id:memberId, user_id:userId} , function(data) {
             });
             $(this).html('unfollow');
             $(this).removeClass('follow').addClass('unfollow');
         }
    });
   }); 
</script>

0 个答案:

没有答案