跳过主要内容

gsap.getProperty()

返回值:*

返回所请求属性的值,如果可能的话返回一个数字;除非你指定了单位,这种情况下它会将单位添加到数字上,从而返回一个字符串。如果属性不存在则返回null

gsap.getProperty("#id", "x"); // 20
gsap.getProperty("#id", "x", "px"); // "20px"
gsap.getProperty("#id", "backgroundColor"); // "rgb(255, 128, 0)"

细节

getProperty()提供了一种简便的方式来获取任何属性的当前值,如果是 DOM 元素,你甚至可以将其转换为特定单位!对于 DOM 元素,它将按照以下顺序检查属性(找到即返回):元素的内联 CSS、元素的.getComputedStyle()CSS、元素自身的属性例如 (element.property)、元素上的属性例如 (element.getAttribute(property))。如果不存在则返回null

如果省略 unit 参数,它将返回一个数字(至少对于那些能够以数字形式表示的简单值而言)。parseFloat()返回的是数字。比如,"top"、"left" 或 "x" 这样的属性,尽管实际是 "20px",但会被作为 20 返回(不带单位后缀),因为在动画中处理数字非常常见。parseFloat()。但再次说明,如果你想包含单位,只需传入那个单位,例如gsap.getProperty("#element", "x", "px"),它会相应地返回一个字符串。

示例:

let w = gsap.getProperty("#id", "width"); //you can use selector text
let bgColor = gsap.getProperty(element, "backgroundColor");

// convert into a specific unit, like em
let emWidth = gsap.getProperty(element, "width", "em");

可复用的 getter 函数

如果你省略了property参数,gsap.getProperty()将返回一个 getter 函数,你可以重复使用它来获取该目标对象的属性:

let getter = gsap.getProperty("#id");
var x = getter("x"),
y = getter("y", "em"); //in em units
无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗