微信小程序实现锚点跳转
网络编程 2021-07-04 14:07www.168986.cn编程入门
这篇文章主要为大家详细介绍了微信小程序实现锚点跳转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了微信小程序实现锚点跳转的具体代码,供大家参考,具体内容如下
1、先上效果图,看看是不是你想要的。
2、主要用到的微信小程序的scroll-view 组件实现该效果。核心主要是使用scroll-into-view属性跳转对应的标签页和标签内容区域和bindscroll事件监听标签内容区域距离页面顶部的距离来判断顶部的标签应该处于哪个标签。
3、wxml代码
<!-- start 标签区域 --> <view class="text" style="height:{{height}}px " > <!-- scroll-into-view 可以跳转到绑定值对应的ID的标签区域 --> <scroll-view class='scroll-x-view1' scroll-x='true' scroll-into-view='{{indexMaodian}}'> <view bindtap="toDetail" data-id="a1" class='scroll-view-item1 bg_red' id="a" >1标签</view> <view bindtap="toDetail" data-id="b1" class='scroll-view-item1 bg_blue' id="b">2标签</view> <view bindtap="toDetail" data-id="c1" class='scroll-view-item1 bg_green' id="c">3标签</view> <view bindtap="toDetail" data-id="d1" class='scroll-view-item1 bg_yellow' id="d">4标签</view> <view bindtap="toDetail" data-id="e1" class='scroll-view-item1 bg_red' id="e">5标签</view> </scroll-view> <!-- end 标签区域 --> <!-- start 标签对应内容区域 --> <scroll-view class='scroll-x-view' scroll-y='true' bindscroll="onPageScroll" scroll-into-view='{{storeDetail}}'> <view class='scroll-view-item bg_red' id="a1">1标签对应内容区域</view> <view class='scroll-view-item bg_blue' id="b1">2标签对应内容区域</view> <view class='scroll-view-item bg_green' id="c1">3标签对应内容区域</view> <view class='scroll-view-item bg_yellow' id="d1">4标签对应内容区域</view> <view class='scroll-view-item bg_red' id="e1">5标签对应内容区域</view> </scroll-view> <!-- end 标签对应内容区域 --> </view>
4、wxss代码
.text{ width: 100%; display: flex; flex-direction: column; } .scroll-x-view { width: 100%; display: flex; flex: 1; } .scroll-x-view .scroll-view-item { margin-: 50rpx; width: 750rpx; height: 800rpx; display:inline-block; } .bg_red { background: lightpink; } .bg_blue { background: lightblue; } .bg_green { background: lightgreen; } .bg_yellow { background: lightyellow; } .scroll-x-view1 { width: 100%; height: 100rpx; white-space: nowrap; } .scroll-x-view1 .scroll-view-item1 { width: 400rpx; height: 100rpx; display:inline-block; }
5、js代码
Page({ / 页面的初始数据 / data: { // 标签锚点跳转值 indexMaodian: 'a', // 标签详情内容锚点跳转 storeDetail: 'a1' }, // 监听页面滑动距离 onPageScroll(e) { // 通过滑动的距离判断页面滑动那个区域让后让顶部的标签栏切换到对应位置 var height = Number(e.detail.scrollTop) if (height <= 400) { // 滑到1区域 this.setData({ indexMaodian: 'a' }); } else if (height > 400 && height<= 800) { // 滑到2区域 this.setData({ indexMaodian: 'b' }); } else if (height > 800 && height <= 1200) { // 滑到3区域 this.setData({ indexMaodian: 'c' }); } else if (height > 1200 && height <= 1600) { // 滑到4区域 后面难得写了,以此类推即可 this.setData({ indexMaodian: 'd' }); } }, // 跳转到对应的标签详情内容区 toDetail(e) { let id = e.target.dataset.id this.setData({ storeDetail: id }) }, / 生命周期函数--监听页面加载 / onLoad: function (options) { var systemInfo = wx.getSystemInfoSync(); var windowHeight = systemInfo.windowHeight; // 拿到导航栏以下可视区域的高度 this.setData({ height: windowHeight }); }, / 生命周期函数--监听页面初次渲染完成 / onReady: function () { }, / 生命周期函数--监听页面显示 / onShow: function () { }, / 生命周期函数--监听页面隐藏 / onHide: function () { }, / 生命周期函数--监听页面卸载 / onUnload: function () { }, / 页面相关事件处理函数--监听用户下拉动作 / onPullDownRefresh: function () { }, / 页面上拉触底事件的处理函数 / onReachBottom: function () { }, / 用户点击右上角分享 / onShareAppMessage: function () { } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南