滚动到在IOS上不起作用的元素位置

时间:2019-04-29 22:25:06

标签: javascript

我有一个按钮,用于向下滚动到当前容器下方的下一个div。 这适用于我计算机上的所有浏览器,但在ipad(9.3.5)上,它会滚动到顶部。

如何使它更具兼容性?

HTML:

<div id="content">
  <div>
    <button class="scroll">Scroll</button>
  </div>
  <div>
    Some Content
  </div>
</div>

JS:

var scrollBtns = document.querySelectorAll('.scroll');
for(i=0; i < scrollBtns.length; i++) {
  scrollDown(i);
};
function scrollDown(i) {
  scrollBtns[i].addEventListener('click', function() {

    var parent = scrollBtns[i].closest('#content > div');
    var winScroll = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
    var scrollPos = parent.getBoundingClientRect().bottom + winScroll;

    window.scrollTo({ top: scrollPos, behavior: 'smooth' });
  });
};

1 个答案:

答案 0 :(得分:-1)

我本来以为滚动位置不正确,但这里似乎是=DATE(LEFT(A1,4),MID(A1,6,2),MID(A1,9,2))+TIME(MID(A1,12,2),MID(A1,15,2),MID(A1,18,2))+TIME(MID(A1,21,2),RIGHT(A1,2),0)*if(MID(A1,20,1)="-",-1,1) 的问题。因此,要解决,我发现似乎可以解决问题的polyfill Smooth Scroll