【发布时间】:2016-05-15 12:55:15
【问题描述】:
我正在与 offsetWidth 属性的怪异(我认为)作斗争。
这是场景:
比方说,我有一个 span 标签,在我的 js 中,在某个时刻我执行了一个 css3 转换 到这个元素,比如:
el.set('styles', {
'transform':'scale('+scale+', '+scale+')', /* As things would be in a normal world */
'-ms-transform':'scale('+scale+', '+scale+')', /* IE 9 */
'-moz-transform':'scale('+scale+', '+scale+')', /* Moz */
'-webkit-transform':'scale('+scale+', '+scale+')', /* Safari / Chrome */
'-o-transform':'scale('+scale+')' /* Oprah Winfrey */
});
w = el.getWidth();
console.log('after scaling: ' + w);
此时日志返回给我模糊的值,就像它不知道该说什么一样。
有什么建议吗?
【问题讨论】:
-
模糊值?请您再解释一下。
-
@Blowski,当然是 m8,只要我将上面的代码放在一个迭代 100 次的循环中,每次代码命中 console.log 我都会得到相同的值(即 setence 'lorem ipsum sit dolor' scaled of 10,总是返回它的初始值:272px,所以,根据日志,即使屏幕上的短语变得huge,缩放根本不会影响大小)
-
@holographix 你能发布你正在使用的
getWidth()函数吗?您正在查看哪些浏览器? -
@Blowski 我已经使用了 offsetWidth、getWidth() 和 window.computedStyle(el) 函数(都是一样的)并且我已经在 Moz、Safari 和 Chrome 中测试了它(使用结果相同)。通过使用萤火虫检查元素,它告诉我元素大小本身根本没有改变
-
还有更多我想知道缩放转换从元素的中心开始,而不是从 {0,0} 坐标开始......:-/
标签: javascript html css mootools