首页 > 解决方案 > 在子transitionend上触发Transitionend

问题描述

我在父 div 上运行 transitionend,因为我想等到该转换完成。不幸的是,有一个子按钮有一个转换,它会在父 div 完成转换之前触发 transitionend 事件运行。我试过使用 event.stopPropagation() 但没有运气。

transitionend 只触发一次,而不是触发所有的转换,所以我不能通过 event.target 过滤。

<div class="section">
   <div class="fp-tableCell">
       <a href="http://www.gosomewhere.com" class="btn">View</a>
   </div>
</div>


function whichTransitionEvent(){
    var t,
        el = document.createElement("fakeelement");

     var transitions = {
         "transition"      : "transitionend",
         "OTransition"     : "oTransitionEnd",
         "MozTransition"   : "transitionend",
         "WebkitTransition": "webkitTransitionEnd"
     };

     for (t in transitions){
         if (el.style[t] !== undefined){
             return transitions[t];
         }
    }
}

var transitionEvent = whichTransitionEvent();
var fpSection = $('.section.active').children('.fp-tableCell');

fpSection.one(transitionEvent, function (event) {
     console.log('do stuff');
});

任何帮助都是极好的。谢谢

标签: javascriptjquerytransitionstransitionend

解决方案


推荐阅读