滚动窗口至文档的特定位置
window.scroll(x,y)

案例分析

1.带有动画的返回顶部
2.此时可以继续使用我们封装的动画函数
3.只要把所有的跟left相关的值改为跟页面垂直滚动距离相关就可以
4.页面滚动了多少,可以通过window.pageYOffset得到

  1. //当我们点击了返回顶部模块,就让窗口的页面滚动到页面的最上方
  2. goBack.addEventListener('click',function(){
  3. // window.scroll(0,0);//里面的x,y不跟单位
  4. animate(window,0);
  5. });
  6. //动画函数
  7. //简单动画函数封装 obj目标对象 target目标位置
  8. //给不同的元素指定了不同的定时器
  9. //缓动动画
  10. function animate (obj,target,callback) {
  11. clearInterval(obj.timer);
  12. //让盒子在当前位置+1距离
  13. //定时器重复操作,最后清除定时器
  14. obj.timer = setInterval(function(){
  15. //步长值写到定时器的里面
  16. var step = (target - window.pageYOffset) / 10;
  17. step = step > 0 ? Math.ceil(step) : Math.floor(step);
  18. //获得盒子当前的位置
  19. var x = window.pageYOffset;
  20. if(x == target){
  21. clearInterval(obj.timer);
  22. //回调函数写在定时器结束的位置
  23. // if(callback){
  24. // //调用函数
  25. // callback();
  26. // }
  27. callback && callback();
  28. }
  29. // obj.style.left = x + step + 'px';
  30. window.scroll(0,x + step);
  31. },15);
  32. }

.