当前位置: 首页 > news >正文

vs网站开发视频教程环球经贸网

vs网站开发视频教程,环球经贸网,做地方门户网站的资质,做网站的代码小程序tab栏切换与页面滚动联动 tab栏与页面滚动联动点击tab栏页面跳到指定位置滚动页面时切换tab栏 tab栏与页面滚动联动 在进行小程序开发时,需要实现点击tab栏页面滚动到某一指定位置,并且滚动页面时,小程序的tab栏进行切换。 在一开始&a…

小程序tab栏切换与页面滚动联动

  • tab栏与页面滚动联动
  • 点击tab栏页面跳到指定位置
  • 滚动页面时切换tab栏

tab栏与页面滚动联动

在进行小程序开发时,需要实现点击tab栏页面滚动到某一指定位置,并且滚动页面时,小程序的tab栏进行切换。
在一开始,第一反应是使用id,然后看到了scrollIntoView方法,但是在小程序里面没有document,获取不到某个id的div,然后看到了createSelectorQuery
于是

      let query = uni.createSelectorQuery();let collapse1 = query.select("collapse1");collapse1.scrollIntoView();

然后就会报错n.scrollIntoView is not a function
后来又试了ref的方法,还是没有拿到node节点,于是放弃了这种办法

  • 但是我依然觉得这种方法有可实现性,只不过我不会
    当然,条条道路通罗马,好男人不会在一棵树上吊死,于是乎有了下面的方法:

点击tab栏页面跳到指定位置

寻寻觅觅,冷冷清清,看到了这个激动万分
在这里插入图片描述
于是乎页面的布局为

    <u-sticky bgColor="#fff"><u-tabs:list="list":current="current"@change="changeTabs"enhanced:show-scrollbar="false"></u-tabs></u-sticky><scroll-viewclass="scrollView"scroll-y="true":scroll-into-view="scrollView":scroll-with-animation="true"@scroll="scroll"><view id="id0">...</view><view id="id1">...</view><view id="id2">...</view></scroll-view>

在页面上给需要滚动的区域套上了一层scroll-view,给每个想要到达的view加上了id,然后在点击的操作里面将scroll-view绑定的值改为想要跳转到的id就可以了。

    changeTabs(index) {this.scrollView = `id${index}`;this.current = index;},

这样就可以实现点击tab切换时页面滚动到指定位置了。
做到这里有没有想到一个东西–锚点链接
在这里插入图片描述

滚动页面时切换tab栏

页面滚动刚刚好就需要用到scroll-view的scroll事件了,scroll事件默认返回的信息中有页面的一些属性。
首先在页面加载完成之后获取了每个需要跳转到的元素的高度

  onReady() {var that = this;setTimeout(function() {var query = wx.createSelectorQuery();query.select("#id0").boundingClientRect();query.select("#id1").boundingClientRect();query.select("#id2").boundingClientRect();query.exec(function(res) {that.heightData = res;});}, 500);},

然后根据高度来计算页面滚动到什么位置的时候修改tab的当前值

scroll(event) {let that = this;let e = event.detail;if (e.scrollTop >= 0 && e.scrollTop <= that.heightData[0].height - 45) {that.current = 0;}if (e.scrollTop >= that.heightData[1].top - 45 &&e.scrollTop <= that.heightData[1].top + that.heightData[1].height - 45) {that.current = 1;}if (e.scrollTop >= that.heightData[2].top - 45 &&e.scrollTop <= that.heightData[2].top + that.heightData[2].height - 45) {that.current = 2;}}

这样的话在滚动页面之后,判断页面的位置修改tab的值就可以了。

http://www.yayakq.cn/news/375747/

相关文章:

  • 江西求做网站wordpress 评论通知
  • php 导航网站有没有可以免费做试卷的网站_最好可以学会...
  • 苏州建设工程检测协会网站深圳网站设计公司排名前十
  • 网站制作深圳乡村振兴网站建设
  • 网站建设合同属于技术服务合同吗瓜子二手车网站开发
  • 开发区网站制作公司美容养生行业WordPress主题
  • 网站设计制作价格怎么样网络营销案例有哪些
  • h5 建站网站 移动端网站点击量查询
  • php网站开发程序编译软件网站建设私活
  • 创建网站基本步骤用微信怎么做商城网站
  • 汉中市住建局建设厅网站官网深圳招工网站
  • 佛山网站建设骏域网站建设专家建设网站的相关软件
  • 吉林大学建设工程学院官方网站基金网站开发
  • 网站建设技术难题互联网创业项目ppt模板
  • 织梦做的的网站首页显示空白游戏软件开发培训学校
  • 北京酷站科技有限公司学生管理系统wordpress
  • 做自己的网站的好处廊坊专业网站制作服务
  • 宠物网站建设总结wordpress导航栏去掉
  • 上城区商城网站建设烟台服装定制
  • 用cms创建自己带数据库的网站页面设计在哪里找
  • 世界著名网站开发语言个人网站建设规划案例
  • 群辉做网站wordpress怎么修改主题
  • 网站建设与设计教程网站是哪家公司开发的
  • 四川网站建设外包业务深圳网络营销网站建设
  • 如何做农产品网站网站 底部
  • 融资网站开发万网wordpress安装教程
  • 社交网站开发 转发网站开发销售
  • 汶上网站建设多少钱企业网站的公司和产品信息的介绍与网络营销关系
  • 榆林做网站的公司电话wordpress demo怎么下载
  • 用模板做网站的方法网站推广公司排名点击查看