亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于jq的one方法,以及animationed事件的問題

關于jq的one方法,以及animationed事件的問題

眼眸繁星 2018-11-23 19:14:10
flip:function(){        var self = this;                self.element.addClass('flip');        self.element.one('animationend.a',function(){            alert(1);//這個時候動畫已經執行完畢            $(this).removeClass('flip');            self.shuffle();        })    },    shuffle:function(){        var self = this;        alert(1.1);//依舊會彈出        self.element.addClass('shuffle');        self.element.one('animationend.b',function(){             alert(2);//動畫剛要執行                    $(this).removeClass('shuffle');            self.deal();        })    },    deal:function(){        var self = this;        alert(2.2);//依舊會彈出        self.element.addClass('deal');        self.element.one('animationend.c',function(){            alert(3);//動畫剛要執行            $(this).removeClass('deal');        })    }寫的一個連續的動畫事件,添加一次事件監聽。這個動畫執行完畢,通過添加類,執行下一個動畫?,F在的問題是,只有第一個flip的事件監聽是在動畫執行完畢之后觸發的,后續的事件監聽,在動畫執行開始的時候就被觸發了。不得其解,求大佬拯救。
查看完整描述

1 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

原因在于,忽略了animationend說到底也是一個事件。動畫執行的元素實際是self.element的子元素,因為子元素有兩個,所以使用one方法會少得到一次消息。剛好下面再次添加了這個事件,導致的流程紊亂


查看完整回答
反對 回復 2018-12-28
  • 1 回答
  • 0 關注
  • 480 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號