12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /**
- * 动态参数演示mixin
- */
- module.exports = {
- data() {
- return {
- // 效果显示框top的值
- contentContainerTop: '0px',
- contentContainerIsTop: false,
-
- // 参数显示框top的值
- sectionContainerTop: '0px'
- }
- },
- onReady() {
- this.updateSectionContainerTop()
- },
- methods: {
- // 处理演示效果框的位置
- async _handleContentConatinerPosition() {
- // 获取效果演示框的节点信息
- const contentContainer = await this._tGetRect('#content_container')
- // 获取参数框的节点信息
- this._tGetRect('#section_container').then((res) => {
- // 判断参数框是否在移动,如果是则更新效果框的位置
- // 如果效果框的顶部已经触控到顶部导航栏就停止跟随
- if (res.top - contentContainer.bottom != 15) {
- const newTop = res.top - (contentContainer.height + uni.upx2px(20))
- const minTop = this.vuex_custom_bar_height + 1
- if (newTop < minTop) {
- this.contentContainerTop = minTop + 'px'
- this.contentContainerIsTop = true
- } else {
- this.contentContainerTop = newTop + 'px'
- this.contentContainerIsTop = false
- }
- }
- })
- },
- // 更新状态切换栏位置信息
- updateSectionContainerTop() {
- this._tGetRect('#content_container').then((res) => {
- this.contentContainerTop = (this.vuex_custom_bar_height + 148) + 'px'
- this.sectionContainerTop = (res.height + 20) + 'px'
- })
- }
- },
- // 监听页面滚动
- onPageScroll() {
- this._handleContentConatinerPosition()
- }
- }
|