【发布时间】:2012-02-24 03:44:13
【问题描述】:
如果您使用 CSS3 动画在屏幕上为相对位置的元素定位内容
-moz-transform: translate(125px, 5px);
当您使用 javascript 询问项目位置时,它会报告该项目仍然存在
top:0
left:0
例如,看看这个使用 jQuery Isotope 插件的例子中元素的位置:
http://isotope.metafizzy.co/demos/basic.html
我必须像这样使用 jQuery css() 方法吗?我什至不知道这是否有效!
$(element).css('-moz-transform')
更新:
我在 JsFiddle http://jsfiddle.net/uQtur/3/ 上发布了一个示例
JS
var elements = $('.element').each(function(i, e){
var el = $(this);
var position = el.position();
var offset = el.offset();
console.log('position', position);
console.log('offset', offset);
var positionLeft = window.getComputedStyle(el.get(0), null).getPropertyValue('left');
var positionTop = window.getComputedStyle(el.get(0), null).getPropertyValue('top');
console.log('computed position left', positionLeft);
console.log('computed position top', positionTop);
var transform = el.css('-moz-transform');
console.log(transform);
// > matrix(1, 0, 0, 1, 340px, 10px)
});
HTML
<div id='container'>
<div class='element' style='left: 0px; top: 0px; -moz-transform: translate(10px, 10px);'>
H
</div>
<div class='element' style='left: 0px; top: 0px; -moz-transform: translate(120px, 10px);'>
He
</div>
<div class='element' style='left: 0px; top: 0px; -moz-transform: translate(230px, 10px);'>
He
</div>
<div class='element' style='left: 0px; top: 0px; -moz-transform: translate(340px, 10px);'>
He
</div>
</div>
【问题讨论】:
-
您能否发布一个演示(可能在JS Fiddle)让我们玩来帮助回答您的问题?
-
我会尝试,尽管我得到的只是“502:网关错误”错误(显然,这不是你的错;只是 JS Fiddle 被压低了,猜测.. .).
-
我尝试使用 getComputedStyle... 不起作用
标签: jquery css jquery-isotope css-animations