gpt4 book ai didi

javascript - CSS3/JS 在动画期间获取元素的位置

转载 作者:技术小花猫 更新时间:2023-10-29 12:02:07 24 4
gpt4 key购买 nike

我需要获取元素的位置(使用 jQuery)

$(".mydiv").position().left;

但是我需要在 css3 translate animation 期间执行此操作。此 div 位置的动画转换包含在 position() 数据中。

是否有可能在动画期间获取元素的位置,但没有任何翻译的位置(就像没有动画一样)?

最佳答案

编辑

"I'm not using .animate for simple animations since css3. – Kluska000"

应该仍然能够利用 jquery 的 animate() startstepprogress 回调函数 - 甚至虽然实际动画是在 css 上完成的。例如,可以在目标元素上使用 .animate() - 无需实际动画元素 - 仅使用 startstepprogress 回调函数; duration 同步到 css 动画持续时间。此外,看起来 jquery .animate() 实际上并不要求目标是 DOM 元素;可能是 2 个 js 对象

另见window.requestAnimationFrame()

https://developer.mozilla.org/en-US/docs/Web/API/window.requestAnimationFrame

http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/

尝试(参见 jsfiddle 的 console,链接如下)

  $(function() {
$(".mydiv").animate({
left :"0px"
}, {
duration : 1234,
start : function (promise) {
console.log($(".mydiv").position().left);
},
step : function (now, tween) {
console.log($(".mydiv").position().left);
},
progress : function (promise) {
console.log($(".mydiv").position().left);
},
complete : function () {
$(this).animate({left:"0px"}, 1234)
}
});
});

jsfiddle http://jsfiddle.net/guest271314/xwL7v/

参见 http://api.jquery.com/animate/start , step , progress

关于javascript - CSS3/JS 在动画期间获取元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com