zoukankan      html  css  js  c++  java
  • scrollIntoView

     使当前滚动元素滚动到选中的元素区域

    function scrollIntoView(container, selected) {
          if (!selected) {
            container.scrollTop = 0;
            return;
          }
          const offsetParents = [];
          let pointer = selected.offsetParent;
          while (pointer && container !== pointer && container.contains(pointer)) {
            offsetParents.push(pointer);
            pointer = pointer.offsetParent;
          }
          const top = selected.offsetTop + offsetParents.reduce((prev, curr) => (prev + curr.offsetTop), 0);
          const bottom = top + selected.offsetHeight;
          const viewRectTop = container.scrollTop;
          const viewRectBottom = viewRectTop + container.clientHeight;
    
          if (top < viewRectTop) {
            container.scrollTop = top;
          } else if (bottom > viewRectBottom) {
            container.scrollTop = bottom - container.clientHeight;
          }
        }
  • 相关阅读:
    linux学习记录-----vsftpd服务安装配置
    PTA数据结构第一次作业
    第十一次作业
    第十次作业
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    第五次作业
    第四次作业
  • 原文地址:https://www.cnblogs.com/wjyz/p/13218508.html
Copyright © 2011-2022 走看看