非a标签的锚点定位
- 锚点设置id
- 点击元素添加点击事件,使用scrollIntoView()方法
el.scrollIntoView()将元素对用户可见(滚动到可视区),参数alignToTop或scrollIntoViewOptions 这里使用第二个,其中包括三个属性:
<template><div><!-- 点击元素 --><div @click="changePoint(index)" v-for="(item, index) in list" :key="index">点击{{ index }}</div><!-- 锚点:设置id --><span :id="`point${index}`" v-for="(item, index) in list" :key="index">item</span></div></template><script>export default {data() {return {list: [1, 2, 3]};},methods: {changePoint(index) {const el = document.querySelector(`#point${index}`);el.scrollIntoView({block: 'center',behavior: 'smooth'});}}};</script><style></style>
