滚动定位,丝滑实现元素站C位
随着小程序生态的蓬勃发展,越来越多商家通过小程序落地运营活动,例如抽奖活动。不同的运营活动要求开发者灵活开发,实现快速上线。
以滚动抽奖活动为例,当用户点击抽奖按钮时,奖品定时滚动,最终得奖内容将自动显示在屏幕中间,便于用户直观看到抽奖结果。
(相关资料图)
例如用户点击「免费夺宝」按钮,上方图片滚动播放。倒计时结束,获奖内容将会自动显示在中间,如上图的「组队成功2」。
然而实现以上过程并不简单。开发者既需要实现灵活的滚动效果,也需要控制最终奖品的位置。下面一起来看看如何快速实现滚动+定位的能力!
实现原理解析
为了实现「滚动+定位」的效果,开发者需要考虑 3 个变量:
足够大且固定的奖品距离:如果滚动距离比较小,滚动效果很快结束,缺少丝滑滚动的效果;
抽中奖品的下标索引:用于标记抽中的奖品;
抽中奖品的偏移量:用于准确控制抽中奖品的出现位置。
具体实现方法
1、如何设置足够大且固定的奖品距离?
开发者可以以一个奖池整体宽度为滚动周期,例如上述免费夺宝的奖池一共有 5 个奖品,每个奖品的宽度设置成 itemwidth,则奖池整体宽度为 5 * itemwidth,滚动 5 圈即可。
通过奖池整体宽度为滚动周期的好处是:不会改变原来奖品的定位。例如一屏展示 4 个奖品,滚动 2 个周期,即可实现定位不变。
2、如何获取抽中奖品的下标索引 & 偏移量?
首先开发者对下标索引和偏移量分别进行命名 index 和 offset。继续以上述免费夺宝活动为例,假设抽中奖品 4 ,那么下标索引 index 为4,滚动 (index - 1) * itemWidth 距离。
然后,开发者需要将奖品 4 出现在第一个奖励位置,接着出现在第二个奖励位置,因此先设置向右前进一个周期,即 5 * itemwidth,然后再后退 1 个 itemwidth。
最后,以抽奖滚动的距离设置为 distance,奖品个数设置为 n,单个奖品的宽度为 itemwidth,中奖下标索引为 index,计算方法为:
distance = (n * 5 + index - 1 + n - 1) * itemWidth
通过巧妙设置距离位置,奖品能够在小程序实现丝滑滚动、精准定位的效果。开发者实现效果更快速,用户体验更好。
如有其他小程序相关的问题,可在 发帖互动,技术专员将为大家解答及进行深度交流。
原创|腾讯前端开发工程师banniyang
关键词:
相关新闻
- 滚动定位,丝滑实现元素站C位
- 每日讯息!「聚焦2023数博会」报名火爆!2023中国国际大数据产业博览会“数博发布”活动100名专业嘉宾已报满
- 热推荐:移卡:一季度支付GPV达6754亿,同比增长24%
- 贝泰妮:公司与淘宝直播头部主播及抖音、小红书、B站等红人形成合作,未来将通过继续扩大宣传投入,充分发挥新媒体的作用,继续提升品牌知名度、美誉度,提升品牌形象
- 不可以爱你漫画下拉式_不可以爱你-天天热门
- 全球热门:山东省福彩中心发布“青春创业”计划
- 巴雷特谈队内多人打满全场:这可是季后赛 对手也有人打了很久
- 国家粮食和物资储备局:我国口粮自给率超100%,谷物自给率超95%
- 【当前热闻】和元生物: 公司将按照中国证监会、上交所相关要求进行信息披露
- 海南启动防汛防风Ⅳ级应急响应 世界要闻
- 通州湾示范区一季度经济稳中向好 8个新开工项目总投资额54.3亿元
- 中东旅游市场强劲复苏 可持续旅游成为关注重点
- 谷歌推出 AI 视频对口型技术:根据翻译语言改变人物说话方式
- 乘舟向天宫!中国空间站应用与发展阶段任务拉开序幕
- 对投资者而言什么是生钱资产 生钱资产的意思是什么|当前聚焦
- 全球热议:向上网第二课堂下载_向上网第二课堂
- 远程办公板块5月10日跌1.72%,金山办公领跌,主力资金净流出12.08亿元
- 收益性支出和资本性支出有什么不同_收益性支出与资本性支出的区别
- 全球观点:罪恶都市鼠标没反应怎么调(罪恶都市鼠标没反应)
- 临河交警:骑电动车不戴头盔?来,发个朋友圈再走
- 当前头条:幸福迎泽丨爱心唠嗑队,十年暖心路
- 7月1日起,国六b标准正式实施!会引发新一轮油车降价吗?|每日速看
- 关注:岩门寨组
- 今日现代战争3手游在哪里下载(手机游戏现代战争3数据包问题)-全球独家