USECASE
我将自定义属性“ - animation-duration ”定义为具有新“ registerProperty ”功能的时间值:
CSS.registerProperty({
name: '--animation-duration',
syntax: '<time>',
inherits: false,
initialValue: '1s'
});
在我的CSS中,我现在可以将此属性添加到我的类并调整它的值:
.my-el {
--animation-duration: 1.5s;
}
现在我希望通过javascript 始终在ms 获取此元素的值。这可以通过以下代码行来实现:
const duration = CSSNumericValue.parse(getComputedStyle(el).getPropertyValue('--ripple-anim-duration')).to('ms').value; // 1500
问题
是否有更短/更好的方式在我的常规JavaScript中获取此值?
附加
我知道你可以在 worklet (在paint-worklet中测试)中做得更短:
const duration = properties.get('--ripple-anim-duration').to('ms').value; // 1500
以下代码在我的常规javascript中无效:
const duration = el.attributeStyleMap.get('--ripple-anim-duration').to('ms').value; // ¯\_(ツ)_/¯
答案 0 :(得分:2)
这是正常的方式
php -v
如果您感兴趣,我写了一些有关“自定义属性和值”的文章: https://vitaliy-bobrov.github.io/blog/css-custom-properties-in-depth/ https://vitaliy-bobrov.github.io/blog/css-custom-properties-in-depth-part-2/