7.vue原生实现点击页面滑动到指定位置
<template>
<div>
<div class="box"></div>
<p @click="backtop">回到顶部</p>
<p></p>
</div>
</template>
<script>
export default {
mounted() {
window.addEventListener("scroll", this.showbtn, true);
},
methods: {
showbtn() {
let that = this;
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
that.scrollTop = scrollTop;
},
backtop() {
var timer = setInterval(function () {
let osTop = document.documentElement.scrollTop || document.body.scrollTop;
let ispeed = Math.floor(-osTop / 5);
document.documentElement.scrollTop = document.body.scrollTop = osTop + ispeed;
this.isTop = true;
if (osTop === 0) {
clearInterval(timer);
}
}, 30);
},
},
};
</script>
<style scoped>
.box {
padding: 500px 0;
background: pink;
margin: 500px 0;
}
</style>