商城分类页面点击左侧分类,实现以后点击的分类滚动到屏幕视图两头地位,
首先获取屏幕的宽度,再获取点击元素的宽度,计算一下就能够取得应该滚动的间隔,再更改scroll-top='scrollTop'即可

微信获取元素宽高的办法

wx.createSelectorQuery().select(ele).boundingClientRect(function (rect) {

}).exec()

<scroll-view class="classify-left" scroll-y="true" :scroll-top="scrollTop" @scroll="scrollMove"><view class="model-left">     <block v-for="(item, index) in mainArray" :key="index">      <view :class="select == item.catId ?'mix-model-hover':'mix-model'" :data-catid="item.catId" :id="'s' + index" @tap="showAssify">{{item.catName}}</view>     </block>   </view> </scroll-view> data(){    return{      scrollTop: 0,      moveParams: {        scrollTop: 0      }    } }, methods:{    showAssify(e) {       this.getRect('#s' + id);    },    getRect(ele) {      var that = this;      //节点查问      wx.createSelectorQuery().select(ele).boundingClientRect(function (rect) {        console.log(rect);        let moveParams = that.moveParams;        moveParams.subTop = rect.top;        moveParams.subHalfHeight = rect.height / 2;        moveParams.screenHalfHeight = wx.getSystemInfoSync().windowHeight / 2;        that.moveTo();      }).exec()    },    moveTo: function () {      let subTop = this.moveParams.subTop;      let screenHalfHeight = this.moveParams.screenHalfHeight;      let subHalfHeight = this.moveParams.subHalfHeight;      let scrollTop = this.moveParams.scrollTop;        let distance = subTop - screenHalfHeight + subHalfHeight;        scrollTop = scrollTop + distance;        this.setData({        scrollTop      })    },    scrollMove(e) {      let moveParams = this.moveParams;      moveParams.scrollTop = e.detail.scrollTop;      this.setData({        moveParams      })    } }