JavaScript:scroll() / scrollTop() / scrollBy()无效?

张森
2023-12-01

*note

  使用的浏览器:Chrome(67.0.3396.87)/ 火狐(60.0.2)/ IE(ie7和ie8),均为PC端。

 

· 示例

<script>
    window.scroll(0, 200);
</script>  

  1. 表现结果

    Chrome:只有第一次打开标签页面是有效的(在当前标签页不断刷新是无效的);

    火狐:有效;另外,scrollBy()方法在火狐中不断刷新的同时,会不断叠加滚动值。

    IE:全部有效。

 

· 万全之策

  通过在定时器内定义滚动方法或者在事件中定义滚动方法。

<script>
  document.body.onclick = function() {
    window.scroll(0, 200);
  };
  setTimeout(function() {
    window.scrollBy(0, 200);
  }, 0);
</script>

  1. 表现结果

    全部浏览器都可以正常滚动。

 

· 结尾

  其他两个方法(scrollTo()和scrollBy())实现的方式一致,都能正常表现出效果。另外,jQuery的“$( window ).scrollTop( 200 )”同理。

转载于:https://www.cnblogs.com/lyfx/p/9226419.html

 类似资料: