每日一练【2023-04-25】

返回元素带滚动条的父元素集合。

// Returns a list of scroll offsets
function findScrollContainers(element: HTMLOrSVGElement | null): HTMLOrSVGElement[] {
  const result: HTMLOrSVGElement[] = []
  if (!element || element === document.body) return result
  const { overflow, overflowX, overflowY } = window.getComputedStyle(element)
  if ([overflow, overflowX, overflowY].some((prop) => prop === 'auto' || prop === 'scroll')) result.push(element)
  return [...result, ...findScrollContainers(element.parentElement)]
}

知识点:

用到了getComputedStyle和递归。

来源:

react-use-measure/index.ts at master · pmndrs/react-use-measure · GitHub

Supongo que te gusta

Origin blog.csdn.net/u012787757/article/details/130371406
Recomendado
Clasificación