SPZCore 对象
SPZCore 对象挂载在 window
上,可以在全局中使用。该对象定义了布局、DOM 操作和类型判断相关的函数和数据。
属性
跳转到“属性”属性 | 说明 | 类型 |
---|---|---|
Layout | 包含所有布局属性值 | Layout |
isLayoutSizeDefined |
布局如果是下列其中之一,则返回true:
|
(layout) => boolean |
SpzEvents | 包含SPZ事件名称 | SpzEvents |
isLayoutSizeFixed | 判断是否是 fixed 或 fixed-height 布局 |
(layout) => boolean |
isLayoutSizeLogic | 判断是否是 logic 布局 |
(layout) => boolean |
observeIntersections | IntersectionObserver 的内部实现,返回一个移除观察器函数 | (element, callback, opts) => (() => unobserveIntersections) |
Dom | 包含 DOM 操作的方法 | DomActionObject |
Types | 包含判断数组类型、节流和防抖等方法 | TypeActionObject |
Layout
跳转到“Layout”一个对象,包含所有布局类型,数据格式如下所示:
{
"NODISPLAY": "nodisplay",
"FIXED": "fixed",
"FIXED_HEIGHT": "fixed-height",
"RESPONSIVE": "responsive",
"CONTAINER": "container",
"FILL": "fill",
"FLEX_ITEM": "flex-item",
"FLUID": "fluid",
"INTRINSIC": "intrinsic",
"LOGIC": "logic",
}
SpzEvents
跳转到“SpzEvents”一个对象,包含 SPZ 事件类型,数据格式如下所示:
{
"DOM_UPDATE": "spz:dom-update",
"FORM_DIRTINESS_CHANGE": "spz:form-dirtiness-change",
"FORM_VALUE_CHANGE": "spz:form-value-change",
"VISIBILITY_CHANGE": "spz:visibilitychange",
"LOAD_START": "spz:load-start",
"LOAD_END": "spz:load-end",
"SIZE_CHANGED": "spz:size-changed"
}
DomActionObject
跳转到“DomActionObject”一个对象,包含 DOM 操作的方法。
属性 | 说明 | 类型 |
---|---|---|
tryFocus | 元素获取焦点 | (element) => void |
closest | 找离给定的元素最近且满足条件(用 callback 函数来判断是否满足条件)的元素。opt_stopAt 可选项,用于指定一个停止的元素,尽管没有找到满足条件的元素 |
(element, callback, opt_stopAt) => Element \| null |
closestAncestorElementBySelector | 根据给定的选择器找离元素最近的祖先元素 | (element, selector) => Element |
removeElement | 移除元素 | (element) => void |
realChildElements | 获取所有子元素 | (element) => Element[] |
scopedQuerySelector | 通过给定的根元素中查找匹配选择器的第一个子元素 | (rootElement, selector) => Element \| null |
scopedQuerySelectorAll | 通过给定的根元素中查找匹配选择器的所有子元素 | (rootElement, selector) => Element[] |
removeChildren | 移除所有子元素 | (parentElement) => void |
toggleAttribute | 切换属性。forced 可选项,如果为 true ,该属性一定存在;如果为 false ,移除属性 |
(element, attrName, forced) => boolean |
getStyle | 获取指定名称的样式值 | (element, property, opt_bypassCache) => string |
setImportantStyles | 设置带 !important 的样式。styles 是一个对象 |
(element, styles) => void |
setStyle | 设置样式 | (element, property, value, opt_units, opt_bypassCache) => void |
setStyles | 设置一系列样式。styles 是一个对象 |
(element, styles) => void |
computedStyle | 与 window.getComputedStyle() 一致。 |
(win, el) => Object |
toggle | 切换元素的可见性。opt_display 可选项,如果为 true ,移除元素的 hidden 属性 |
(element, opt_display) => void |
waitForChild | 调用 checkFunc ,如果返回 true ,执行回调函数。通常用来检查以来的 DOM 元素是否已经挂载,才执行某些操作 |
(parentElement, checkFunc, callback) => void |
TypeActionObject
跳转到“TypeActionObject”属性 | 说明 | 类型 |
---|---|---|
isArray | 用于确定传递的值是否是一个 Array ,与原生的 Array.isArray 实现一样。 |
(value) => boolean |
toArray | 从一个可迭代或类数组对象创建一个新的浅拷贝的数组实例 | (arrayLike) => Array |
isEmptyObject | 用于确定传递的值是否是一个空对象({} ) |
(object) => boolean |
getValueForExpr | 根据给定的路径表达式(例如:data.items 取 object['data']['items'] 值),从对象中获取值 |
(object, expr) => any |
hasOwn | 判断对象自身属性中是否具有指定的属性(也就是,是否有指定的键) | (object, prop) => boolean |
throttle | 创建一个节流函数,仅仅调用一次在每次等待 minInterval 毫秒内 |
(win, callback, minInterval) => void |
debounce | 创建一个防抖函数,仅仅在等待 minInterval 毫秒结束后才调用一次 |
(win, callback, minInterval) => void |