我有两个绝对定位的 div ,我将它们相对于彼此定位。当width
其中一个发生变化时,我会重新计算并设置位置。当我在“”属性上使用 css3 转换时width
,当我尝试获取width
动画的“”时,它为我提供了 dom 的当前值。但是我想在过渡效果开始时获得过渡的目标值以正确设置位置。这是否可以通过javascript或其他方式获得目标值?
编辑
下面是一个 jsfiddle 演示了我的问题。它会提醒“100px”,但我需要得到“300px”。
谢谢。
我有两个绝对定位的 div ,我将它们相对于彼此定位。当width
其中一个发生变化时,我会重新计算并设置位置。当我在“”属性上使用 css3 转换时width
,当我尝试获取width
动画的“”时,它为我提供了 dom 的当前值。但是我想在过渡效果开始时获得过渡的目标值以正确设置位置。这是否可以通过javascript或其他方式获得目标值?
编辑
下面是一个 jsfiddle 演示了我的问题。它会提醒“100px”,但我需要得到“300px”。
谢谢。
那是因为.css('width')
正在调用getComputedStyle
元素,它确实返回了过渡值。如果您确实直接访问该样式,您将获得刚刚设置的内容:
document.getElementById('transition_div').style.width
$('#transition_div').prop('style').width
$('#transition_div')[0].style.width
(更新小提琴)
您可以使用该transitionend
事件:(请参阅等效前缀供应商)
$('#transition_div').css('width', 300).on("transitionend", function () {
alert($(this).css('width'));
});