0

我有两个 div 元素.parentDiv,即.childDiv

我正在使用 css 过渡来为两者设置动画。应该首先.childDiv对其不透明度进行动画处理,然后在 transitionend 进行动画处理,对.parentDiv高度进行动画处理,然后调用警报检查。

所以这里是代码:

    $('.childDiv').addClass('faded').on('transitionend', function(){
            $('.childDiv').off('transitionend');

            $('.parentDiv')
                .addClass('no-height')
                .on('transitionend',event, function() {
                    alert(event.propertyName);
                });
        });

问题:

.addClass('faded')它继续执行第二次转换之后(这是正确的)。但是 ontransitionend ,已被警告的 event.propertyName 是“不透明”的,并且在完成其转换.parentDiv后立即被触发。.childDiv

我希望它仅在调整高度时执行。不要误会,一旦高度转换完成,“高度”也会被提醒,但它似乎还会读取除高度调整之外的其他转换。

这是它的一个jsfiddle:http: //jsfiddle.net/e9uwA/

感谢您的帮助!

4

1 回答 1

1

只需在 $('.childDiv').on() 中添加 event.stopPropagation()

因为 childDiv 的事件将传播到 parentDiv

于 2013-04-25T09:14:38.540 回答