vue2.0中goods选购栏滚动算法的实现代码
内容摘要
这篇文章主要为大家详细介绍了vue2.0中goods选购栏滚动算法的实现代码,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
不多说,直接代码,以
对此感兴趣的朋友,看看idc笔记做的技术笔记!
不多说,直接代码,以
文章正文
这篇文章主要为大家详细介绍了vue2.0中goods选购栏滚动算法的实现代码,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
不多说,直接代码,以便以后重复利用:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | <code> <script type= "text/ecmascript-6" > import BScroll from 'better-scroll' ; const ERR_OK = 0; export default { props: { sell: { type: Object } }, data() { return { goods: [], listHeight: [], scrollY: 0 }; }, computed: { currentIndex() { for (let i = 0; i < this.listHeight.length; i++) { let height1 = this.listHeight[i]; let height2 = this.listHeight[i + 1]; if (!height2 || (this.scrollY >= height1 && this.scrollY < height2)) { return i; }; } return 0; } }, created() { this.classMap = [ 'decrease' , 'discount' , 'special' , 'invoice' , 'guarantee' ]; this. $http .get( '/api/goods' ).then((response) => { response = response.body; if (response.errno === ERR_OK) { this.goods = response.data; this. $nextTick (() => { this._initScroll(); this._calculateHeight(); }); } }); }, methods: { _initScroll() { this.menuScroll = new BScroll(this. $refs .menuwrapper, { click: true }); this.foodScroll = new BScroll(this. $refs .foodswrapper, { probeType: 3 }); this.foodScroll.on( 'scroll' , (pos) => { this.scrollY = Math. abs (Math. round (pos.y)); }); }, _calculateHeight() { let foodList = this. $refs .foodswrapper.getElementsByClassName( 'food-list-hook' ); let height = 0; this.listHeight.push(height); for (let i = 0; i < foodList.length; i++) { let item = foodList[i]; height += item.clientHeight; this.listHeight.push(height); } }, selectMenu(index, event) { if (!event._constructed) { return ; }; console.log(index); let foodList = this. $refs .foodswrapper.getElementsByClassName( 'food-list-hook' ); let el = foodList[index]; this.foodScroll.scrollToElement(el, 300); } } }; </script></code> |
以上所述是小编给大家介绍的vue2.0中goods选购栏滚动算法的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对php教程网站的支持!
注:关于vue2.0中goods选购栏滚动算法的实现代码的内容就先介绍到这里,更多相关文章的可以留意
代码注释