我想绕过 CSS 转换并立即更改属性。
我尝试设置transition-duration
为0s
更改之前,然后设置transition-duration
回其原始值:
$('div').css('width', '200px').delay(1000).queue(function() {
$(this).css({
transitionDuration: '0s',
msTransitionDuration: '0s',
mozTransitionDuration: '0s',
webkitTransitionDuration: '0s',
oTransitionDuration:'0s'
}).css('width', '10px').css({
transitionDuration: '2s',
msTransitionDuration: '2s',
mozTransitionDuration: '2s',
webkitTransitionDuration: '2s',
oTransitionDuration:'2s'
})
})
小提琴
这显然行不通。
我知道规范没有为此定义该行为:
由于本规范没有定义计算值何时更改,因此计算值的哪些更改被认为是同时发生的,因此作者应该意识到,在进行可能转换的更改后的一小段时间内更改任何转换属性可能会导致行为不同的实现之间有所不同,因为在某些实现中可能会同时考虑更改,而在其他实现中则不会。
是否有捷径可寻?
注意:我正在更改的属性transform
因此.animate()
不是一个选项。