docs: function handleScrollEvent() {
    const element = this.el;
    const scrollEventTarget = this.scrollEventTarget;
    // 已被禁止的滚动处理
    if (this.disabled) return;
  
    const targetScrollTop = Utils.getScrollTop(scrollEventTarget);
    const targetVisibleHeight = Utils.getVisibleHeight(scrollEventTarget);
    // 滚动元素可视区域下边沿到滚动元素元素最顶上 距离
    const targetBottom = targetScrollTop + targetVisibleHeight;
  
    // 如果无元素高度，考虑为元素隐藏，直接返回
    if (!targetVisibleHeight) return;
  
    // 判断是否到了底
    let needLoadMoreToLower = false;
    if (element === scrollEventTarget) {
      needLoadMoreToLower = scrollEventTarget.scrollHeight - targetBottom < this.offset;
    } else {
      const elementBottom = Utils.getElementTop(element) - Utils.getElementTop(scrollEventTarget) + Utils.getVisibleHeight(element);
      needLoadMoreToLower = elementBottom - targetVisibleHeight < this.offset;
    }
    if (needLoadMoreToLower) {
      this.cb.lower && this.cb.lower({ target: scrollEventTarget, top: targetScrollTop });
    }
  
    // 判断是否到了顶
    let needLoadMoreToUpper = false;
    if (element === scrollEventTarget) {
      needLoadMoreToUpper = targetScrollTop < this.offset;
    } else {
      const elementTop = Utils.getElementTop(element) - Utils.getElementTop(scrollEventTarget);
      needLoadMoreToUpper = elementTop + this.offset > 0;
    }
    if (needLoadMoreToUpper) {
      this.cb.upper && this.cb.upper({ target: scrollEventTarget, top: targetScrollTop });
    }
  }