使用类似功能的纯JavaScript来重现scrollIntoView

时间:2018-10-06 19:32:04

标签: javascript html dom

如果我当前的项目没有出现在父母的视角中,我将使用scrollIntoView。 如果我的商品的'offsetTop'大于父商品的offsetHeight,请稍微浏览一下该商品以显示在父商品视图中。

在野生动物园中使用scrollIntoView时出现错误。许多浏览器仅部分支持chrome和mozilla https://caniuse.com/#feat=scrollintoview

在两个smooth地方使用时,另一个问题似乎是带有中断的动画。

我的尝试:

const scrollToBottom = () => {
     const elements = document.querySelectorAll(`[data-elementid='${action.payload.id}']`);

     elements.forEach((element) => {
         const menuContainer = element.parentElement.parentElement.offsetHeight;
         const elementsHeight = element.offsetTop;

         if (elementsHeight > menuContainer) {
             element.scrollIntoView({
                 behavior: 'smooth',
                 block: 'end',
             });
         }
     });
};

setTimeout(scrollToBottom, 200);

我每页在两个地方使用此功能。 如何用其他方法代替scrollIntoView函数。

0 个答案:

没有答案