|
@@ -13,8 +13,7 @@ module.exports = function (el, stage, changeState, init) {
|
|
|
|
|
|
|
|
var className = el.sd_trans_class,
|
|
var className = el.sd_trans_class,
|
|
|
classList = el.classList,
|
|
classList = el.classList,
|
|
|
- lastLeaveCallback = el.sd_trans_cb,
|
|
|
|
|
- lastEnterTimeout = el.sd_trans_to
|
|
|
|
|
|
|
+ lastLeaveCallback = el.sd_trans_cb
|
|
|
|
|
|
|
|
// in sd-repeat, the sd-transition directive
|
|
// in sd-repeat, the sd-transition directive
|
|
|
// might not have been processed yet
|
|
// might not have been processed yet
|
|
@@ -45,20 +44,13 @@ module.exports = function (el, stage, changeState, init) {
|
|
|
classList.add(className)
|
|
classList.add(className)
|
|
|
// append
|
|
// append
|
|
|
changeState()
|
|
changeState()
|
|
|
- // trigger show transition next tick
|
|
|
|
|
- el.sd_trans_to = setTimeout(function () {
|
|
|
|
|
- classList.remove(className)
|
|
|
|
|
- el.sd_trans_to = null
|
|
|
|
|
- }, 0)
|
|
|
|
|
|
|
+ // force a layout so transition can be triggered
|
|
|
|
|
+ var forceLayout = el.clientHeight
|
|
|
|
|
+ // trigger transition
|
|
|
|
|
+ classList.remove(className)
|
|
|
|
|
|
|
|
} else { // leave
|
|
} else { // leave
|
|
|
|
|
|
|
|
- // cancel unfinished enter transition
|
|
|
|
|
- if (lastEnterTimeout) {
|
|
|
|
|
- clearTimeout(lastEnterTimeout)
|
|
|
|
|
- el.sd_trans_to = null
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
// trigger hide transition
|
|
// trigger hide transition
|
|
|
classList.add(className)
|
|
classList.add(className)
|
|
|
var onEnd = function () {
|
|
var onEnd = function () {
|