5

我在使用 scrollIntoView 时遇到了一个非常奇怪的问题。Refresh在 Safari 和 Chrome 中,当我打开新窗口或标签时,代码可以工作,但在我按下按钮时不起作用。在 Firefox 中它始终有效。当我使用按钮时,会在所有浏览器setTimeout()Refresh触发滚动,如下所示:

setTimeout( function () {scrollToSelection();}, 1);

scrollToSelection = function() {
  var element = document.querySelector('p');
  element.scrollIntoView();
};
p {
  margin-top: 1000px;
}
<!DOCTYPE html>
<html>

<head></head>

<body onload="scrollToSelection()">
  <p>Some text to see
  </p>
</body>

</html>

有什么想法可能导致这种情况吗?

4

0 回答 0