contentScroll(position) {
console.log(position);
const positionY = -position.y;
// 和主题中的值进行对比
// [0, 1, 2, 3]
// positionY 在0 和 1之间时候,index = 0
// positionY 在1 和 2之间时候,index = 1
// positionY 在2 和 3之间时候,index = 2
// positionY 大于 3,index = 3
let length = this.themeTopYs.length;
for(let i = 0; i < this.themeTopYs.length; i++) {
if( this.currentIndex !== i && ((i < length-1) && (positionY >= this.themeTopYs[i] && positionY < this.themeTopYs[i+1]) ||
(i=== length - 1 && positionY > this.themeTopYs[i]))) {
this.currentIndex = i;
console.log(this.currentIndex);
this.$refs.navBar.currentIndex = this.currentIndex;
}
}
}
if( this.currentIndex !== i && ((i < length-1) && (positionY >= this.themeTopYs[i] && positionY < this.themeTopYs[i+1]) ||
(i=== length - 1 && positionY > this.themeTopYs[i]))) {
this.currentIndex = i;
console.log(this.currentIndex);
this.$refs.navBar.currentIndex = this.currentIndex;
}
// 条件成立的情况下:this.currentIndex = i;
// 条件一: 防止赋值的过程过于频繁
// 条件二: ((i < length-1) && (positionY >= this.themeTopYs[i] && positionY < this.themeTopYs[i+1])
// 条件1: (i < length-1) && (positionY >= this.themeTopYs[i])
// 条件2: (i === length - 1 && positionY >= this.themeTopYs[i]);
// ** 判断大于等于: i === length - 1;
for(let i = 0; i < this.themeTopY.length-1;i ++) {
if(this.currentIndex !== i && (positionY >= this.themeTopYs[i] && positionY < this.themeTopYs[i+1])) {
this.currentIndex = i;
this.$refs.nav.currentIndex = this.currentIndex;
}
}
空间换时间(执行性能/写代码时间)
计算机操作系统
提高运算性能