12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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()
- }
- }
- })
|