ASEMiniProgram/dist/sticky-item/index.js
2021-03-21 01:48:56 +08:00

40 lines
1.1 KiB
JavaScript

Component({
externalClasses: ['i-class'],
options: {
multipleSlots: true
},
relations : {
'../sticky/index' : {
type : 'parent'
}
},
data : {
top : 0,
height : 0,
isFixed : false,
index : -1,
},
methods: {
updateScrollTopChange(scrollTop){
const data = this.data;
const top = data.top;
const height = data.height;
this.setData({
isFixed : ( scrollTop >= top && scrollTop < top + height ) ? true : false
})
},
updateDataChange(index) {
const className = '.i-sticky-item';
const query = wx.createSelectorQuery().in(this);
query.select( className ).boundingClientRect((res)=>{
if( res ){
this.setData({
top : res.top,
height : res.height,
index : index
})
}
}).exec()
}
}
})