jquery 實現在事件完成后才能再次點擊執行


        var doing=false;//定義一個全局變量 (在事件完成后才能再次點擊執行)
                        $(".zan-btn").on("click",function(){
                            if(doing){
                                layer.msg("上一個操作未完成,請稍等!");
                            }else{
                                doing=true;//變量設為true,表示開始操作
                                var that = this
                                var upvoteStatus=$(that).attr("data-upvoteStatus")
                                if(upvoteStatus==0){
                                    sendReq("addUpvote","post","/shop/course/query",{id:videoId},function(res){
                                        if(res.status==1){
                                        // $(that).addClass("ele-hidden")
                                        // $(that).siblings(".no-zan").removeClass("ele-hidden")
                                        // var zanNum = Number.parseInt($(that).find('.zan-number').text())
                                        var zanNum=$(".upvoteNumber").text()
                                        $(".upvoteNumber").text(Number.parseInt(zanNum)+1)
                                        layer.msg("點贊成功",{icon:1})
                                        $(".icon-zan-video").addClass("icon-zan1 text-red").removeClass("icon-zan")
                                        $(".zan-btn").attr("data-upvoteStatus",1)
                                        doing=false; //變量改回false 表示結束操作
                                        }else if(res.status==-1){
                                            layer.msg(res.msg,{icon:2})
                                            doing=false; //變量改回false 表示結束操作
                                        }
                                    })
                                }else if(upvoteStatus==1){
                                    sendReq("updateUpvote","post","/shop/course/query",{id:videoId},function(res){
                                        if(res.status==1){
                                        var zanNum=$(".upvoteNumber").text()
                                        $(".upvoteNumber").text(Number.parseInt(zanNum)-1)
                                        layer.msg("已取消點贊",{icon:1})
                                        $(".icon-zan-video").addClass("icon-zan").removeClass("icon-zan1 text-red")
                                        $(".zan-btn").attr("data-upvoteStatus",0)
                                        doing=false; //變量改回false 表示結束操作
                                        }else if(res.status==-1){
                                            layer.msg(res.msg,{icon:2})
                                            doing=false; //變量改回false 表示結束操作
                                        }
                                    })
                                }
                            }
                        })


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM