在微信小程序中通过使用scroll-view如何实现锚点滑动

本篇文章主要介绍了微信小程序 scroll-view实现锚点滑动的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前言

最近开始做小程序,通读一遍文档再上手并不算难,但不得不说小程序里还是有一些坑。这里说一下如何实现页面锚点跳转,一个城市列表的效果示意图如下:

在微信小程序中通过使用scroll-view如何实现锚点滑动

因为在微信小程序的环境中不能想在浏览器里设置标签,或者操作dom滚动,传统做法就行不通了,一切都得按小程序的文档来。

一开始我们的做法是使用boundingClientRect()方法获取每个锚点的坐标,然后再用wx.pageScrollTo()方法滑动过去。结果发现效果不是很好,因为boundingClientRect方法返回的每个点的坐标会随着屏幕滑动而变化,可能还会引起页面抖动,最后还是选择scroll-view(可滚动视图区域)组件来实现锚点效果。

具体实现

具体API就不赘述了,可以去看官方文档,这里讲几个需要注意的地方,下面是一个示意的scroll-view组件代码,上面的几个属性是必须的:


登录后复制

scroll-into-view:这个绑定了一个属性,它的值应该是页面元素的id,设置它的值就可以跳转到ID对应的元素那里了。

scroll-y:添加这个属性标明是竖向滑动的,对应的scroll-x则表示横向滑动,竖向滑动时scroll-view必须设置一个固定的height

bindscroll:监听滑动,传给他一个事件,滑动时执行该事件

文档上给的属性特别多,暂时只需要上述几个就可实现我们想要的效果。实现原理也很简单,内容部分,每个英文简写的view设置一个id,然后在导航list那里点击时,就把scroll-into-view的值设置成点击的那个id即可实现跳转。

再说一下scroll-view的高度问题,这个一定要做适配的固定高度,不然在不同屏幕大小的手机上的显示效果有差异。

几点优化

到这里功能基本都实现了,但后面还发现一些问题:如果要隐藏scroll-view的滚动条,需要设置css样式:::-webkit-scrollbar

::-webkit-scrollbar { width: 0; height: 0; color: transparent;}

登录后复制

还有就是点了一个锚点实现了跳转,这个时候你滚动页面再点之前点的锚点,页面就不会再跳转了,这个时候就需要监听滚动事件,滚动时将scroll-into-view属性的值清空。或者在每次锚点跳转后,再由一个异步操作将scroll-into-view属性的值清空。

2017/12/05补充:

scroll-view默认是无滑动动画的,需要滚动的动画效果需要在组件上设置:scroll-with-animation=’true’
关于固定高度height的设置问题,一开始我以为这个高度和滚动元素的数目/高度有关,这个时候处理动态变化的列表就很麻烦。后面在网上看到的一个方法就是使用wx.getSystemInfo方法得到windowHeight,把这个设置为scroll-view的高度(单位为px)即可。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在Webpack中有关自动化构建(详细教程)

在微信小程序中如何实现图片上传等一系列功能

如何搭建前端通用的数据模拟框架(详细教程)

以上就是在微信小程序中通过使用scroll-view如何实现锚点滑动的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2749469.html

(0)
上一篇 2025年3月8日 05:01:39
下一篇 2025年3月8日 05:01:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 在微信小程序中如何实现修改view标签背景颜色

    这篇文章主要介绍了微信小程序实现点击按钮修改view标签背景颜色功能,涉及微信小程序事件响应及数值运算实现动态设置view背景色样式的相关操作技巧,需要的朋友可以参考下 本文实例讲述了微信小程序实现点击按钮修改view标签背景颜色功能。分享…

    编程技术 2025年3月8日
    200
  • 在微信小程序中如何修改文字大小

    这篇文章主要介绍了微信小程序实现点击按钮修改文字大小功能,涉及微信小程序事件绑定及setdata动态修改page页面data数据,进而控制页面元素属性动态改变的相关操作技巧,需要的朋友可以参考下 本文实例讲述了微信小程序实现点击按钮修改文字…

    编程技术 2025年3月8日
    200
  • 在微信小程序中如何实改变view标签宽度和高度

    这篇文章主要介绍了微信小程序实现动态改变view标签宽度和高度的方法,涉及微信小程序事件响应及使用setdata针对data数据动态操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了微信小程序实现动态改变view标签宽度和高度的方法。分…

    编程技术 2025年3月8日
    200
  • 在微信小程序中有关如何使用picker组件

    这篇文章主要介绍了微信小程序picker组件简单用法,结合实例形式详细分析了picker组件的功能、使用方法与相关注意事项,需要的朋友可以参考下 本文实例讲述了微信小程序picker组件简单用法。分享给大家供大家参考,具体如下: picke…

    编程技术 2025年3月8日
    200
  • 在微信小程序中有关tabBar用法(详细教程)

    这篇文章主要介绍了微信小程序tabbar用法,结合实例形式详细分析了微信小程序中tabbar的功能、配置项使用方法与操作注意事项,并附带完整demo源码供读者下载参考,需要的朋友可以参考下 本文实例讲述了微信小程序tabBar用法。分享给大…

    2025年3月8日
    200
  • 使用微信小程序如何实现图片选择区域裁剪

    本篇文章主要介绍了微信小程序图片选择区域屏裁剪实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 本文介绍了微信小程序图片选择区域屏裁剪实现方法,分享给大家。具体如下: 效果图 HTML代码   开始裁剪 …

    2025年3月8日
    200
  • 在微信小程序中如何实现鼠标拖动

    这篇文章主要介绍了微信小程序实现鼠标拖动效果,涉及微信小程序事件绑定及元素属性动态操作相关实现技巧,需要的朋友可以参考下 本文实例讲述了微信小程序实现鼠标拖动效果。分享给大家供大家参考,具体如下: 关键代码 index.wxml文件 使用鼠…

    编程技术 2025年3月8日
    200
  • 在微信小程序中如何实现表单验证

    这篇文章主要介绍了微信小程序表单验证功能,结合完整实例形式分析了微信小程序完成表单验证功能所涉及的视图与逻辑操作技巧,需要的朋友可以参考下 本文实例讲述了微信小程序表单验证功能。分享给大家供大家参考,具体如下: Wxml 登录后复制 正在提…

    编程技术 2025年3月8日
    200
  • 在微信小程序中如何实现获取自己所处位置

    这篇文章主要介绍了微信小程序实现获取自己所处位置的经纬度坐标功能,涉及微信小程序地图功能获取经纬度信息的相关操作技巧,需要的朋友可以参考下 本文实例讲述了微信小程序实现获取自己所处位置的经纬度坐标功能。分享给大家供大家参考,具体如下: 1、…

    2025年3月8日
    200
  • 使用微信小程序如何实现购物车功能

    本篇文章主要介绍了微信小程序实战篇之购物车的实现代码示例,详细的介绍了购物车的功能实现,具有一定的参考价值,有兴趣的可以了解一下 哈喽,大家好,快半个月没写了,现在提笔都有点生硬了,一直没更新的原因,一个是代码君也要上班,加上最近工作比较忙…

    2025年3月8日
    200

发表回复

登录后才能评论