博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序-锚点定位+内容滑动控制导航选中
阅读量:7200 次
发布时间:2019-06-29

本文共 2146 字,大约阅读时间需要 7 分钟。

之前两篇文章分别介绍了锚点定位和滑动内容影响导航选中,这里我们就结合起来,实现这两个功能!

思路不再多说,直接上干货!

WXML

商品
评价
详情
商品信息...
评价内容...
商品详情...
复制代码

WXS

data: {  winHeight: '100%',  toView: 'productBox',//锚点跳转的ID  actionView: 'productBox',//控制导航显示  productBoxTop: 0,//商品模块距离顶部的距离  commentBoxTop: 0,//评价模块距离顶部的距离  infoBoxTop: 0,//详情模块距离顶部的距离};onLoad() {  let that = this;  wx.getSystemInfo({    success: function (res) {      //屏幕的宽度/屏幕的高度 = 微信固定宽度(750)/微信高度      that.setData({        winHeight = res.windowHeight-(res.windowWidth*90/750)+'px'        })    }  });}onShow() {  // 获取各模块距离顶部的距离  new Promise(resolve => {    let query = wx.createSelectorQuery();    query.select('#productBox').boundingClientRect();    query.select('#commentBox').boundingClientRect();    query.select('#infoBox').boundingClientRect();    query.exec(function (res) {      resolve(res);    });  }).then(res => {    this.setData({      productBoxTop: res[0].top,      commentBoxTop: res[1].top,      infoBoxTop: res[2].top    });  });}//锚点定位toViewClick(e) {  this.setData({    toView: e.target.dataset.hash,      actionView: e.target.dataset.hash  })},scrollTo(e){  let scrollTop = e.detail.scrollTop+100;  //滚动的Y轴  if(scrollTop >= this.infoBoxTop){    this.setData({      actionView: 'infoBox'        })  }else if(scrollTop >= this.commentBoxTop){    this.setData({      actionView: 'commentBox'      })  }else {    this.setData({      actionView: 'productBox'      })  }  //this.$apply();//WEPY更新数据}复制代码

WXSS

page {  height: 100%;}.navigateBox {  background: #fff;  height: 80rpx;  padding: 0 100rpx;  margin-bottom: 10rpx;}.navigateBox .title {  margin: 20rpx 46rpx;  float: left;  font-size: 27rpx;  width: 60rpx;  padding-left: 30rpx;}.navigateBox .title .right {  float: right;  margin-top: -5rpx;}.navigateBox image {  width: 30rpx;  height: 30rpx;  margin-left: -30rpx;}.navigateBox .checked {  color: #f73c3c;}.content {  height: 1000rpx;}复制代码

转载于:https://juejin.im/post/5c9068245188252d7c21627f

你可能感兴趣的文章
bootstrap课程13 bootstrap的官方文档中有一些控件的使用有bug,如何解决这个问题...
查看>>
python re模块 正则表达式
查看>>
flask系列三之Jinja2模板
查看>>
爬取阳光问政平台
查看>>
CentOS6.10安装详解
查看>>
linux文件类型及相关命令
查看>>
VS2008 调试慢的问题
查看>>
MySQL学习笔记(四)
查看>>
百度自然语言处理api用法
查看>>
python 可以写 桌面应用程序不?需要依赖 python 么?python 是不是 类似.net framework?...
查看>>
POJ 3041 - Asteroids
查看>>
【BZOJ】1954: Pku3764 The xor-longest Path
查看>>
【算法】计算几何
查看>>
web项目中配置文件的加载顺序
查看>>
小技巧:在向导式页面设计中使用hidden型输入可以避免session的使用
查看>>
[JVM-3]Java垃圾回收(GC)机制和垃圾收集器选择
查看>>
HashMap底层结构、原理、扩容机制
查看>>
About struct in C
查看>>
Maven: Usage
查看>>
20172318 2018-2019-1 《程序设计与数据结构》实验1报告
查看>>