我正在开发一个 JavaScript 动画库并遇到了一个问题:所有值通常都使用这个默认函数以像素为单位返回:
window.getComputedStyle(element).getPropertyValue(property);
但是,当像这样获取背景位置的值时:
window.getComputedStyle(element).getPropertyValue('background-position');
结果是50% 50%(背景位置:中心)。如何将值转换为像素?我编写了以下函数,但它给了我错误的结果,原因是背景位置的百分比也与图像大小有关。
var pixelsX = (parseFloat(percentX) / 100 * element.offsetWidth) + 'px';
var pixelsY = (parseFloat(percentY) / 100 * element.offsetHeight) + 'px';
我也无法使用 Image() 获取大小,因为计算必须实时进行,而且我不能等待图像加载。
谢谢!
相关分类