Javascript 香草JS和x2B;VueJS:在单击按钮时滚动到div顶部
我有一个使用VueJS创建的应用程序。这是一个带有“下一步”按钮的多步骤表单。 您可以在此处查看正在运行的应用程序: 我试图解决的问题是,一旦用户单击“下一步”按钮,就会看到下面问题的顶部。有人能帮我一个香草JS解决方案或一些建议吗 按钮html: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> 滚动条似乎是用于主体。所以你可以这样
<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; }