跳到主要内容

scrollToChild 滚动到能够显示子元素的位置

scrollToChild

类型: MethodDeclaration

所属类: WindowElement

定义位置: ui.ts

描述

滚动到能够显示子元素的位置

参数 element: 子元素

参数

参数名类型描述默认值
elementUIElement--

返回值

类型: void

源代码

位置: 第 5800 行

public scrollToChild(element: UIElement): void {
const index = this.children.indexOf(element)
if (index !== -1) {
switch (this.layout) {
case 'normal': {
const left = element.x - this.x
const top = element.y - this.y
const right = left + element.width
const bottom = top + element.height
this.scrollX = Math.clamp(this.scrollX, right - this.width, left)
this.scrollY = Math.clamp(this.scrollY, bottom - this.height, top)
break
}
case 'horizontal-grid': {
const cols = this.getVisibleGridColumns()
if (Number.isFinite(cols)) {
const rows = Math.floor(index / cols)
const y = rows * (this.gridHeight + this.gridGapY) + this.paddingY
this.scrollY = Math.clamp(this.scrollY, y + this.gridHeight - this.height, y)
}
break
}
case 'vertical-grid': {
const rows = this.getVisibleGridRows()
if (Number.isFinite(rows)) {
const cols = Math.floor(index / rows)
const x = cols * (this.gridWidth + this.gridGapX) + this.paddingX
this.scrollX = Math.clamp(this.scrollX, x + this.gridWidth - this.width, x)
}
break
}
}
}
}

文档生成时间:2025/7/7 12:07:07