小程序之点击跳转到对应内容

我在写页面的时候,遇到一个问题,点击不同的按钮,跳转到不同的区域,这个怎么 实现呢?一开始我用了计算的方式,推理出公式,按照ilphone6的标准,功能实现了。

我本来以为没有问题了,结果换了一个手机,变成了iPhone5,又不对了。因为在wxml中,设置的元素的具体尺寸不同设备有不同的换算比例,那么就不能用具体的公式定义,

后来,我研究了小程序组件scroll-view。发现如果用这个组件,刚才的所有都不是问题。

如何实现呢?

https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

这是小程序文档中关于scroll-view的介绍。这里面有一个属性:scroll-into-view

咋看之下,没感觉什么,但是细细分析,我们发现这个属性可以定位到某个元素的id,那么我们只要给我要找到的元素加上指定的id,用这个属性定位过去,不是就可以做了吗?

而且官方文档也提供了案例,我按照官网的案例,找到了问题的解决方案,下面我把这个案例呈现出来:

<view class="section">
  <view class="section__title">vertical scroll</view>
  <scroll-view scroll-y style="height: 200px;" scroll-into-view="{{toView}}" >
    <view id="green" class="scroll-view-item bc_green"></view>
    <view id="red"  class="scroll-view-item bc_red"></view>
    <view id="yellow" class="scroll-view-item bc_yellow"></view>
    <view id="blue" class="scroll-view-item bc_blue"></view>
  </scroll-view>

  <view class="btn-area">
    <button size="mini" bindtap="tap">click me to scroll into view </button>
  </view>
</view>
var order = [‘red‘, ‘yellow‘, ‘blue‘, ‘green‘, ‘red‘]
Page({
  data: {
    toView: ‘red‘,
  },
  tap: function(e) {
    for (var i = 0; i < order.length; ++i) {
      if (order[i] === this.data.toView) {
        this.setData({
          toView: order[i + 1]
        })
        break
      }
    }
  }
})

原文地址:https://www.cnblogs.com/good-qinqin/p/9117385.html

时间: 2024-08-27 15:41:00

小程序之点击跳转到对应内容的相关文章

微笑小程序的几种跳转方式

微信小程序页面跳转 的几种方式 最近在做微信小程序,碰到页面跳转的问题,总结一下页面之间跳转的方式 一.wx.navigateTo(OBJECT) 这是最普遍的一种跳转方式,其官方解释为:"保留当前页面,跳转到应用内的某个页面" 类似于html中的 window.location.href=" "eg: wx.navigateTo({ url: 'test?id=1' })实际效果如下: 小程序中左上角有一个返回箭头,可返回上一个页面 也可以通过方法  wx.nav

小程序页面之间的跳转方法

1. 利用小程序提供的 API 跳转: 1.navigateTo // 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,但是 redirectTo wx.navigateTo({ url: 'page/home/home?user_id=111' }) 2.navigateBack // 关闭当前页面,返回上一页面或多级页面.可通过 getCurrentPages() 获取当

用mpvue写微信小程序时,webview跳转外部链接,再跳转回来需要点两次返回箭头才能跳转

问题描述: 给公司做微信小程序时遇到了这个问题,用mpvue框架搭建的小程序,从首页点击进去,先跳转到一个中间页面,在中间页面放上webview链接到外部的H5页面,这时点击小程序左上角自带的返回按钮,第一次会跳转到空白页,再点一次才能跳转到首页. 首页: 详情页: 这时需要点击左上角的返回箭头两次,才能跳转到首页 解决办法: 小程序跳到外部页面方法: 1.从首页(index)跳转到中间页(template): goPage(id){ wx.navigateTo({url:'../templat

微信小程序页面之间的跳转

wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面. OBJECT 参数说明: 参数 类型 必填 说明 url String 是 需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数.参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔:如 'path?key=value&key2=value2' success Function 否 接口调用成功的回调函数 fail Funct

微信小程序开发——点击按钮获取用户授权没反应或反应很慢的解决方法

异常描述: 点击按钮获取用户手机号码,有的时候会出现点击无反应或很久之后才弹出用户授权获取手机号码的弹窗,这种情况下,也会出现点击穿透的问题(详见:微信小程序开发——连续快速点击按钮调用小程序api返回后仍然自动重新调用的异常处理) 异常解析: 1. getPhoneNumber的使用: 对于 getPhoneNumber(OBJECT) API,由于小程序需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发(具体使用方法详见getP

微信小程序开发——点击按钮退出小程序的实现

微信小程序官方是没有提供退出的API的,但是在navigator这个组件中,是有退出这个功能的:详情参考官方文档:navigator.示例代码:1 navigator open-type="exit" target="miniProgram"关闭小程序/navigator不过这个 ... 微信小程序官方是没有提供退出的API的,但是在navigator这个组件中,是有退出这个功能的: 详情参考官方文档:navigator. 示例代码: 不过这个功能最低支持版本时 2

小程序提升界面使用体验 丰富了内容展示组件

昨晚,微信小程序开放了更多页面内能力,主要是提升界面使用体验.丰富内容展示组件.完善系统硬件能力,这些能力的提升可以帮助开发者更好地优化使用体验,让用户爱上你的小程序.以下是相关能力的展示 01—提升界面使用体验 小程序可以灵活调整顶部标题栏的颜色,同自己的页面保持色彩统一.小程序可以获取页面布局,了解用户屏幕滑动情况,并使用页面滚动接口.例如看到一半的文章,开发者可以定位并记住浏览的位置.在用户下次打开小程序时,立即滚动到未读处,方便用户继续阅读.地图.视频和画布上,现在可以展示简单的图片及文

微信小程序页面带参数跳转及接收参数内容navigator

功能从index页面跳转到draw页面,并在draw页面获取id及imgUrl index.wxml <navigator class='looks-view' wx:for="{{imgUrlNew}}" wx:key="index" url="/pages/draw/draw?id={{item.id}}&imgUrl={{item.img}}"> <image src='{{item.img}}' class='l

微信小程序bindtap点击事件与事件冒泡

原文链接:https://www.cnblogs.com/lhm166/articles/9947383.html 事件冒泡就是指嵌套事件发生,如果多层标签嵌套, 里层事件发生后, 其外层会相应发生, 如: <view bindtap='handout'> outer <view bindtap='handmiddle'> middle <view bindtap='handinner'>inner</view> </view> </vie