猿问

JavaScript:以像素为单位获取背景位置

我正在开发一个 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() 获取大小,因为计算必须实时进行,而且我不能等待图像加载。


谢谢!


杨__羊羊
浏览 139回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答