如何滚动以生成本机javascript?

如何滚动以生成本机javascript?,javascript,jquery,dom,scroll,Javascript,Jquery,Dom,Scroll,我正在将代码转换为直接使用DOMAPI,而不是使用jQuery,有一个场景具有滚动功能。我无法直接使用DOM API转换为版本: jQuery代码: function scrollToResult() { var $height1 = $('.class1').outerHeight(); $('body, html').stop().animate({ scrollTop : $('.class2').offset().top - $height1;

我正在将代码转换为直接使用DOMAPI,而不是使用jQuery,有一个场景具有滚动功能。我无法直接使用DOM API转换为版本:

jQuery代码:

function scrollToResult() {
    var $height1 = $('.class1').outerHeight();

    $('body, html').stop().animate({
        scrollTop : $('.class2').offset().top - $height1;
    }, 200);
}
纯JavaScript代码:

function scrollToResult() {
    var $height1 =document.querySelector('.class1').offsetHeight;

  //error
    document.querySelector('body, html').stop
}
我知道
stop
不是JavaScript的任何方法。这里怎么办

我知道stop不是JavaScript的任何方法。这里怎么办

是的,本机Javascript中没有
stop()
方法,但是本机的方法是使用,它:

滚动到文档中的特定坐标集


您可以使用
setTimeout()
使延迟动画发生。

注意:这不是jQuery vs ES6,而是jQuery vs直接访问DOM API。在第二段代码中,没有ES6JavaScript特性。ES6是一种语言规范,可在各种上下文(浏览器、节点等)中使用,具体取决于上下文,有不同的API可用。例如,DOM API在浏览器中可用,但在NodeJ中不可用。ES6功能将类似于
let
const
class
,承诺,箭头函数,解构。。。