this.$refs.scroll.scrollToElement(this.$refs.listGroup[anchorIndex], 200)

来源:5-5 listview 基础组件的开发和应用-右侧快速入口实现(1)

慕工程0232640

2017-09-29

老师,this.$refs.scroll.scrollToElement(this.$refs.listGroup[anchorIndex], 200),我用200ms,为什么左侧部分没有动画,仍然是瞬时定位的

写回答

1回答

ustbhuangyi

2017-09-29

并不会啊,我把我的代码修改成 200,是有缓动动画的,建议你去对比我主干的源码。

0
1
慕工程0232640
首先感谢老师的回答,我发现一些问题: 1、@touchstart.stop.prevent="onShortcutTouchStart"加了.stop后,这个事件才会有动画 2、加了200ms缓动动画后,在scroll组件中是能够监听到滚动事件,不加缓动动画是不能监听到滚动事件的,而能够监听到滚动事件即能够触发listview组件的scroll事件,从而改变this.scrollY这个值,实际上onShortcutTouchStart已经会改变this.scrollY这个值,这里就会造成重复改变呢! 3、加了200ms(或者1000ms)缓动动画后,点击右侧字母导航,左侧部分能够滚动到相对应位置,但是右侧字母高亮有时会不对(个人感觉这个问题的产生是由于第2问题造成,因为可以监听到滚动事件,而滚动事件获取到的位置有时不是滚动的最后一个值,即没有到达那个值),比如点击S字母时,左侧到达位置,右侧高亮是R字母。 以上都是在chrome下的手机模式
2017-09-30
共1条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程