Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 香草JS和x2B;VueJS:在单击按钮时滚动到div顶部_Javascript_Vue.js - Fatal编程技术网

Javascript 香草JS和x2B;VueJS:在单击按钮时滚动到div顶部

Javascript 香草JS和x2B;VueJS:在单击按钮时滚动到div顶部,javascript,vue.js,Javascript,Vue.js,我有一个使用VueJS创建的应用程序。这是一个带有“下一步”按钮的多步骤表单。 您可以在此处查看正在运行的应用程序: 我试图解决的问题是,一旦用户单击“下一步”按钮,就会看到下面问题的顶部。有人能帮我一个香草JS解决方案或一些建议吗 按钮html: <button class="button-container__next" type="button" @click="goToNextStep()">Next</button> 滚动条似乎是用于主体。所以你可以这样

我有一个使用VueJS创建的应用程序。这是一个带有“下一步”按钮的多步骤表单。 您可以在此处查看正在运行的应用程序:

我试图解决的问题是,一旦用户单击“下一步”按钮,就会看到下面问题的顶部。有人能帮我一个香草JS解决方案或一些建议吗

按钮html:

  <button class="button-container__next" type="button" @click="goToNextStep()">Next</button>

滚动条似乎是用于
主体
。所以你可以这样做:

goToNextStep: function () {
   this.currentStep++;
   window.scrollTo(0, 0);
}
如果主滚动条未连接到
主体
,请尝试以下两行:

document.body.scrollTop = 0; // For safari
document.documentElement.scrollTop = 0;

我通过以下方法解决了这个问题。我找到了这个脚本,但我必须说实话,我真的不知道它是如何工作的。有人能给我解释一下吗

goToNextStep: function () {
        this.currentStep++

        let myDiv = document.getElementById('wrapper');
        scrollTo(document.body, myDiv.offsetTop, 100);

        function scrollTo(element, to, duration) {
          if (duration < 0) return;
          var difference = to - element.scrollTop;
          var perTick = difference / duration * 2;

          setTimeout(function() {
            element.scrollTop = element.scrollTop + perTick;
            scrollTo(element, to, duration - 2);
          }, 10);
        }
      }

单击“下一步”时是否要滚动到内容的顶部?我说得对吗@madameFerryYes这是正确的。当用户单击“下一步”时,以下问题的顶部将隐藏在“进度”栏下方的视图中。当用户向下滚动查看按钮时会发生这种情况。还有其他想法吗?我已经编辑了答案,因为您已将滚动条附加到
html
标记,而不是
正文
@madameFerry
goToNextStep: function () {
        this.currentStep++

        let myDiv = document.getElementById('wrapper');
        scrollTo(document.body, myDiv.offsetTop, 100);

        function scrollTo(element, to, duration) {
          if (duration < 0) return;
          var difference = to - element.scrollTop;
          var perTick = difference / duration * 2;

          setTimeout(function() {
            element.scrollTop = element.scrollTop + perTick;
            scrollTo(element, to, duration - 2);
          }, 10);
        }
      }
html { height: 100%; overflow:auto!important; }
body { height: 100%!important; }