【发布时间】:2016-11-08 14:17:11
【问题描述】:
所以我尝试为在页面上移动的 div 设置动画,并在转换完成后更改它的 position 属性。但是transitionend 事件触发得太快了,我不知道为什么。查看答案。
【问题讨论】:
标签: javascript jquery html css transition
所以我尝试为在页面上移动的 div 设置动画,并在转换完成后更改它的 position 属性。但是transitionend 事件触发得太快了,我不知道为什么。查看答案。
【问题讨论】:
标签: javascript jquery html css transition
可见性转换比其他属性更快。将所需的属性放在回调内的条件中。
一段时间后,我发现由于某种原因,可见性的转换速度比其他属性快得多。不知道为什么。所以在我将transitionend回调的主体放入一个条件之后,它就起作用了。
.on('transitionend webkitTransitionEnd oTransitionEnd' +
' MSTransitionEnd', function (e) {
console.log(e.originalEvent.propertyName);
//visibility transitions way too soon
if (e.originalEvent.propertyName == 'top') {
$('#' + card.attr('id') + '-placeholder').remove();
card.css({
'top': '',
'left': '',
'width': '',
'height': '',
position: ''
}).removeClass('top');
console.log('end');
card.off('transitionend webkitTransitionEnd oTransitionEnd' +
' MSTransitionEnd');
}
});
另外,我必须使用on 而不是one,因为这样只会触发可见性,因此我必须在之后手动off。
【讨论】: