微信上有一种功能吗,就是点击列表字母就能跳转到相应位置,本文主要介绍微信小程序开发之好友列表字母列表跳转对应位置的相关资料,希望通过本文能帮助到大家让大家实现这样的功能,需要的朋友可以参考下,希望能帮助到大家。
微信小程序开发之好友列表字母列表跳转对应位置
前言:
在小程序里实现微信好友列表点击右侧字母列表跳转对应位置效果。写了个demo,核心部分很简单,所以没多少注释,如果遇到问题就加群问我吧。
核心技术点:
1、小程序scroll-view组件的scroll-into-view, scroll-with-animation. scroll-y属性。
2、小程序的touch事件的应用。
3、Js定时器的应用。
view页面代码:
index.wxml
>js代码:
index.js
//index.js //获取应用实例 const app = getApp() Page({ data: { letter_list: [], info_list: [], hide: true, active: false, toView: #39;A #39;, curView: #39;A #39;, letter_height: 18 onLoad: function () { this.active = false; this.timer = null; var letter_list = [ #39;A #39;, #39;B #39;, #39;C #39;, #39;D #39;, #39;E #39;, #39;F #39;, #39;G #39;, #39;H #39;, #39;I #39;, #39;J #39;, #39;K #39;, #39;L #39;, #39;M #39;, #39;N #39;, #39;O #39;, #39;P #39;, #39;Q #39;, #39;R #39;, #39;S #39;, #39;T #39;, #39;U #39;, #39;V #39;, #39;W #39;, #39;X #39;, #39;Y #39;, #39;Z #39;]; var info_list = []; for (var i = 0; i i++) { var obj = {}; obj.id = letter_list; obj.desc = #39;这是一个用于测试的DEMO。1.目标是用于实现微信好友列表的点击首字母跳转到对应好友位置。2.目标是用于实现微信好友列表的点击首字母跳转到对应好友位置 #39;; info_list.push(obj); this.setData({ height: app.globalData.height, info_list: info_list, letter_list: letter_list, sHeight: 100 * 26 + 25 start: function (e) { this.setData({ active: true, hide: false end: function (e) { if (this.timer) { clearTimeout(this.timer); this.timer = null; var moveY = e.changedTouches[ 0 ].clientY - 18, that = this; var curIndex = parseInt(moveY / 18); var view = this.data.letter_list[curIndex]; this.setData({ toView: view, active: false if (!this.timer) { this.timer = setTimeout(function () { that.setData({ hide: true that.timer = null; }, 1000); move: function (e) { var moveY = e.changedTouches[ 0 ].clientY - 18; var curIndex = parseInt(moveY / 18); var view = this.data.letter_list[curIndex]; this.setData({ curView: view down: function (e) { if (this.timer) { clearTimeout(this.timer); this.timer = null; var index = e.currentTarget.dataset.index, that = this; if (index != 999) { var view = this.data.letter_list[index]; this.setData({ toView: view, curView: view } else { this.setData({ toView: #39;A #39;, curView: #39;☆ #39; if (!this.timer) { this.timer = setTimeout(function () { that.setData({ hide: true that.timer = null; }, 1000); })样式部分
index.wxss
/**index.wxss**/ text { font-weight: bold .letter { font-size: 12px; width: 24px; height: 100%; position: fixed; right: 0; top: 0; z-index: +999; .litem { width: 24px; height: 18px; line-height: 18px; text-align: center; .info { font-size: 12px; text-align: justify; overflow: hidden; .active { background: rgba(0, 0, 0, 0.2); .iitem { padding: 10rpx 10rpx; margin-bottom: 10rpx; border-radius: 8rpx; background: rgba(222,222,222,0.2); box-sizing: border-box; .tips { width: 40px; height: 40px; background: rgba(0,0,0,0.4); font-size: 20px; text-align: center; line-height: 40px; color: #fff; position: fixed; left: 50%; top: 50%; margin: -20px; z-index: +999; border-radius: 10rpx;相关推荐:
微信小程序滚动视图容器如何实现的
微信小程序url与token如何设置
Thinkphp5微信小程序如何获取用户信息接口
以上就是如何实现微信好友列表点击字母跳转对应位置的详细内容,更多请关注php中文网其它相关文章!
微信app下载
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!