JavaScript-在CSS转换期间获取元素的宽度

时间:2019-01-02 09:15:04

标签: javascript jquery angular css-animations

我想在javascript中显示元素的宽度。这部分已经在工作,但这是我的问题: 当元素的宽度设置为动画时,在动画过程中,我想查看实际元素的宽度,而不是最终元素的宽度。

我正在使用Angular,可以通过使用功能$(el).width()包含JQuery来实现我想做的事情,但是我想删除JQuery的使用。

我已经尝试过(假设el是HTML元素):

el.offsetWidth
el.clientWidth
el.scrollWidth
el.getBoundingClientRect().width

1 个答案:

答案 0 :(得分:0)

前一段时间,我遇到了同样的问题,即尚未加载且大小为0的图像。我通过使用以下代码来获取原始图像大小来解决此问题。确保在onload函数中继续执行代码

var image = new Image();
image.onload = function() {

    // set its dimension to target size
    var width = image.width;
    var height = image.height;
};
image.src = el.img;

如果需要,也可以使用base64字符串进行

var image = new Image();
image.onload = function() {

    // set its dimension to target size
    var width = image.width;
    var height = image.height;
};
image.src = "data:image/jpg;base64," + img;