微信小程序scroll-view锚点链接滚动跳转功能

html

<view class="list">
 <view bindtap='jumpTo' wx:for="{{keys}}" data-item="{{item}}">{{item}}</view>
</view>

<scroll-view scroll-into-view="{{toitem}}" scroll-y="true" scroll-with-animation="true" class="position gochooseAbank">
 <view wx:for="{{data}}" id="{{item.key}}"> {{item.name}} </view>
</scroll-view>

js

//index.js
//获取应用实例
const app = getApp()

Page({
data: {
 toitem:'',
 keys:['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','P','Q','S','T','U','W','X','Y','Z'],
 data: [
  {
   "id": "166",
   "name": "中国农业银行",
   "abbr": "ABC",
   "key": "A",
   "hot": "1"
  },

  {
   "id": "167",
   "name": "中国银行",
   "abbr": "BOC",
   "key": "B",
   "hot": "1"
  },
  {
   "id": "314",
   "name": "包商银行",
   "abbr": "BSB",
   "key": "B",
   "hot": "0"
  },
  {
   "id": "196",
   "name": "大连银行",
   "abbr": "DLB",
   "key": "D",
   "hot": "0"
  },
  {
   "id": "215",
   "name": "龙江银行",
   "abbr": "DAQINGB",
   "key": "D",
   "hot": "0"
  },
  {
   "id": "219",
   "name": "东莞农村商业银行",
   "abbr": "DRCBCL",
   "key": "D",
   "hot": "0"
  },
  {
   "id": "179",
   "name": "恒丰银行",
   "abbr": "EGBANK",
   "key": "E",
   "hot": "0"
  },
  {
   "id": "198",
   "name": "福建海峡银行",
   "abbr": "FJHXBC",
   "key": "F",
   "hot": "0"
  },
  {
   "id": "229",
   "name": "桂林银行",
   "abbr": "GLBANK",
   "key": "G",
   "hot": "0"
  },
  {
   "id": "294",
   "name": "广西省农村信用",
   "abbr": "GXRCU",
   "key": "G",
   "hot": "0"
  },
  {
   "id": "174",
   "name": "华夏银行",
   "abbr": "HXBANK",
   "key": "H",
   "hot": "0"
  },
  {
   "id": "189",
   "name": "杭州银行",
   "abbr": "HZCB",
   "key": "H",
   "hot": "0"
  },
  {
   "id": "322",
   "name": "湖南省农村信用社",
   "abbr": "HNRCC",
   "key": "H",
   "hot": "0"
  },
  {
   "id": "165",
   "name": "中国工商银行",
   "abbr": "ICBC",
   "key": "I",
   "hot": "1"
  },
  {
   "id": "188",
   "name": "江苏银行",
   "abbr": "JSBANK",
   "key": "J",
   "hot": "0"
  },
  {
   "id": "203",
   "name": "嘉兴银行",
   "abbr": "JXBANK",
   "key": "J",
   "hot": "0"
  },
  {
   "id": "311",
   "name": "金华银行",
   "abbr": "JHBANK",
   "key": "J",
   "hot": "0"
  },
  {
   "id": "248",
   "name": "昆仑银行",
   "abbr": "KLB",
   "key": "K",
   "hot": "0"
  },
  {
   "id": "279",
   "name": "库尔勒市商业银行",
   "abbr": "KORLABANK",
   "key": "K",
   "hot": "0"
  },
  {
   "id": "298",
   "name": "昆山农村商业银行",
   "abbr": "KSRB",
   "key": "K",
   "hot": "0"
  },
  {
   "id": "222",
   "name": "辽阳市商业银行",
   "abbr": "LYCB",
   "key": "L",
   "hot": "0"
  },
  {
   "id": "324",
   "name": "洛阳银行",
   "abbr": "LYBANK",
   "key": "L",
   "hot": "0"
  },
  {
   "id": "220",
   "name": "浙江民泰商业银行",
   "abbr": "MTBANK",
   "key": "M",
   "hot": "0"
  },
  {
   "id": "190",
   "name": "南京银行",
   "abbr": "NJCB",
   "key": "N",
   "hot": "0"
  },
  {
   "id": "191",
   "name": "宁波银行",
   "abbr": "NBBANK",
   "key": "N",
   "hot": "0"
  },

  {
   "id": "249",
   "name": "鄂尔多斯银行",
   "abbr": "ORBANK",
   "key": "O",
   "hot": "0"
  },
  {
   "id": "169",
   "name": "中国邮政储蓄银行",
   "abbr": "PSBC",
   "key": "P",
   "hot": "1"
  },
  {
   "id": "201",
   "name": "青岛银行",
   "abbr": "QDCCB",
   "key": "Q",
   "hot": "0"
  },
  {
   "id": "281",
   "name": "齐鲁银行",
   "abbr": "QLBANK",
   "key": "Q",
   "hot": "0"
  },
  {
   "id": "172",
   "name": "上海浦东发展银行",
   "abbr": "SPDB",
   "key": "S",
   "hot": "1"
  },
  {
   "id": "182",
   "name": "平安银行",
   "abbr": "SPABANK",
   "key": "S",
   "hot": "0"
  },
  {
   "id": "284",
   "name": "盛京银行",
   "abbr": "SJBANK",
   "key": "S",
   "hot": "0"
  },
  {
   "id": "287",
   "name": "深圳农村商业银行",
   "abbr": "SRCB",
   "key": "S",
   "hot": "0"
  },

  {
   "id": "202",
   "name": "台州银行",
   "abbr": "TZCB",
   "key": "T",
   "hot": "0"
  },
  {
   "id": "230",
   "name": "乌鲁木齐市商业银行",
   "abbr": "URMQCCB",
   "key": "U",
   "hot": "0"
  },
  {
   "id": "200",
   "name": "温州银行",
   "abbr": "WZCB",
   "key": "W",
   "hot": "0"
  },

  {
   "id": "307",
   "name": "威海市商业银行",
   "abbr": "WHCCB",
   "key": "W",
   "hot": "0"
  },
  {
   "id": "250",
   "name": "邢台银行",
   "abbr": "XTB",
   "key": "X",
   "hot": "0"
  },
  {
   "id": "256",
   "name": "西安银行",
   "abbr": "XABANK",
   "key": "X",
   "hot": "0"
  },
  {
   "id": "304",
   "name": "许昌银行",
   "abbr": "XCYH",
   "key": "X",
   "hot": "0"
  },
  {
   "id": "184",
   "name": "玉溪市商业银行",
   "abbr": "YXCCB",
   "key": "Y",
   "hot": "0"
  },
  {
   "id": "185",
   "name": "尧都农商行",
   "abbr": "YDRCB",
   "key": "Y",
   "hot": "0"
  },
  {
   "id": "297",
   "name": "宜宾市商业银行",
   "abbr": "YBCCB",
   "key": "Y",
   "hot": "0"
  },
  {
   "id": "211",
   "name": "齐商银行",
   "abbr": "ZBCB",
   "key": "Z",
   "hot": "0"
  },
  {
   "id": "213",
   "name": "遵义市商业银行",
   "abbr": "ZYCBANK",
   "key": "Z",
   "hot": "0"
  },

  {
   "id": "286",
   "name": "郑州银行",
   "abbr": "ZZBANK",
   "key": "Z",
   "hot": "0"
  },
  {
   "id": "303",
   "name": "张家口市商业银行",
   "abbr": "ZJKCCB",
   "key": "Z",
   "hot": "0"
  }
 ]
},
jumpTo: function (e) {
 console.log(e)
 let option = e.currentTarget.dataset.item;
 this.setData({
  toitem: option
 })
} ,

})

css

/* 必须要给的100%不然无法实现滚动跳转效果 */
page{
 height: 100%;
}
/* 必须要给的100%不然无法实现滚动跳转效果 */
.position{
 position: relative;
 height: 100%;

}
.list{
 position: fixed;
 z-index: 9;
 top:175rpx;
 right: 7rpx;
 font-size: 28rpx;
 color: #6ea7f7;
 line-height: 20px;
 text-align: center;
}
.gochooseAbank view{
 height: 100rpx;
 line-height: 100rpx;
 border-bottom: 1rpx solid #e8e8e8
}
.keys{
 font-size: 28rpx;
 color: #6ea7f7;

}

总结

以上所述是小编给大家介绍的微信小程序scroll-view锚点链接滚动跳转功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 微信小程序 scroll-view组件实现列表页实例代码

    scroll-view组件介绍 scroll-view是微信小程序提供的可滚动视图组件,其主要作用是可以用来做手机端经常会看到的上拉加载下拉刷新列表页!下面就以<摇出微笑>为例来讲解一下这个组件的使用吧! 为app导入新page页面 首先需要为我们的小程序导入新的page页面,项目根目录打开app.json这个项目配置文件在里面的pages数组添加"pages/allJoke/allJoke"然后设置底部导航在"tabBar"的列表项("lis

  • 微信小程序 scroll-view实现上拉加载与下拉刷新的实例

    微信小程序 scroll-view实现上拉加载与下拉刷新的实例 实现效果图: 如图,使用小程序的scroll-view实现的上拉加载数据,下拉刷新数据,试下代码如下: js文件代码: var url = "http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action"; var page = 1; var GetList = function (that) { that.setData({ hidden: false }); wx.r

  • 微信小程序 scroll-view隐藏滚动条详解

    一:scroll-view隐藏滚动条 在书写网页的时候,往往会为了页面的美观,而选择去掉滚动区域默认的滚动条,而在这里,就是为小程序去掉滚动条的其中的一种方法: scroll-view.wxml: scroll-view.wxss scroll-view.js 最终显示效果如下; 注意: (1)不能在scroll-view中使用textarea,mao,canvas,video组件 (2)scroll-init-view的优先级高于scroll-top (3)onPullDownRefresh事

  • 微信小程序scroll-view实现滚动穿透和阻止滚动的方法

    scroll-view滚动穿透,阻止滚动 页面弹窗阻止滚动是一种常见的问题,这里简单介绍小程序scroll-view的一种解决方式 常用阻止滚动方式 在不使用scroll-view的弹窗中, 为position为absolute或fixed的元素设置catchtouchmove空事件就可以阻止弹窗下的页面因事件穿透滚动 <view catchtouchmove="doNothing"></view> 也可直接写catchtouchmove,相当于绑定了事件名为t

  • 微信小程序 scroll-view 实现锚点跳转功能

    在微信小程序中,使用 scroll-view 实现长页面的标记跳转,官方文档中没有例子演示,锚点标记主要是使用<scroll-view> 的 scroll-into-view 属性. 实现锚点跳转主要以下几点: 1.最外层容器使用 scroll-view 2.赋值scroll-into-view,如:<scroll-view scroll-into-view="{{toView}}"> 3.设置 scroll-view 滚动方向 scroll-y="t

  • 微信小程序 scroll-view实现锚点滑动的示例

    前言 最近开始做小程序,通读一遍文档再上手并不算难,但不得不说小程序里还是有一些坑.这里说一下如何实现页面锚点跳转,一个城市列表的效果示意图如下: 因为在微信小程序的环境中不能想在浏览器里设置标签,或者操作dom滚动,传统做法就行不通了,一切都得按小程序的文档来. 一开始我们的做法是使用boundingClientRect()方法获取每个锚点的坐标,然后再用wx.pageScrollTo()方法滑动过去.结果发现效果不是很好,因为boundingClientRect方法返回的每个点的坐标会随着屏

  • 微信小程序scroll-view锚点链接滚动跳转功能

    html <view class="list"> <view bindtap='jumpTo' wx:for="{{keys}}" data-item="{{item}}">{{item}}</view> </view> <scroll-view scroll-into-view="{{toitem}}" scroll-y="true" scroll-w

  • 微信小程序movable view移动图片和双指缩放实例代码

    movable-area是微信小程序的新组件,可以用来移动视图区域movable-view.移动方向可选择任何.垂直和平行.可移动区域里包含其他文本.图片.按钮等组件.可移动区域可绑定touchend等事件.movable-view的参数可调整动画效果. 先从movable-view开始说起吧. movable-view是小程序自定义的组件.其描述为:"可移动的视图容器,在页面中可以拖拽滑动". 官方文档地址: https://mp.weixin.qq.com/debug/wxadoc

  • 微信小程序实现录制、试听、上传音频功能(带波形图)

    最近接到这样一个需求,要求实现录制.试听.上传音频功能,选择的是getBackgroundAudioManager,声音录制和播放波形图是用css实现的,效果图及详细设计代码如下: xml文件 <view class="servicePage"> <view style="width:100%;height:320rpx;position:absolute;z-index:-1;"> <image style="width:1

  • 微信小程序开发之好友列表字母列表跳转对应位置

    微信小程序开发之好友列表字母列表跳转对应位置 前言: 在小程序里实现微信好友列表点击右侧字母列表跳转对应位置效果.写了个demo,核心部分很简单,所以没多少注释,如果遇到问题就加群问我吧. 核心技术点: 1.小程序scroll-view组件的scroll-into-view, scroll-with-animation. scroll-y属性. 2.小程序的touch事件的应用. 3.Js定时器的应用. view页面代码: index.wxml class="container" sc

  • 微信小程序 实现列表项滑动显示删除按钮的功能

    微信小程序 实现列表项滑动显示删除按钮的功能 微信小程序并没有提供列表控件,所以也没有iOS上惯用的列表项左滑删除的功能,SO只能自己干了. 原理很简单,用2个层,上面的层显示正常的内容,下面的层显示一个删除按钮,就是记录手指滑动的距离,动态的来移动上层元素,当然上层用绝对定位. wxml: <view class="container"> <view class="record-box" data-datetime="{{record.

  • 微信小程序使用canvas自适应屏幕画海报并保存图片功能

    小程序canvas的API并没有像其他的一样支持小程序独有的 rpx 自适应尺寸单位,在绘制内容时所应用的单位仍然是 px,那么如何实现不同尺寸屏幕的自适应呢? 我们的在开发中常用的参考屏幕尺寸(iPhone6)为:375*667: 那么想要适应其他尺寸的屏幕时只需按照iPhone6的绘制大小按比例进行换算即可: 获取系统屏幕尺寸 先利用wx.getSystemInfo (获取系统信息)的API获取屏幕宽度,然后除iPhone6的屏幕宽度,即可得到相对单位 // 在onLoad中调用 const

  • 微信小程序本地存储实现每日签到、连续签到功能

    昨天在看自己写的小程序项目,无意中打开了CSDN APP,突然间觉得,我去,如果在小程序中加个"签到"功能,岂不美哉!(好吧,其实是买的书昨天没到货,然后闲着无事,就想起了大明湖畔的"签到") 但是吧,又不想写和服务器交互的,本着"简单点"的原则,我想起了曾经的挚爱-- 本地存储 . 先说说相关注意吧: 其一就是 storage中只能存放字符串! 我去,昨晚大部分时间都是在搞这个.以前一直认为存放的是对象,兴致勃勃写完发现点击以后出现了"

  • 微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码

    具体代码如下所示: // 1.scroll-y="true" Y轴滚动 // 2.应该是设置了高才能行 // 3.使用scroll-top属性实现滚动到底部,scroll-top不要带单位 <scroll-view scroll-y="true" style="height:{{height-50}}px;" scroll-top="{{scrollTop}}"> <block wx:for="{{

  • 微信小程序点击item使之滚动到屏幕中间位置

    1.需求 想做类似猫眼电影选场次会自动滚动到屏幕中间的效果 如图是最终效果 2.分析 实现这种效果的方法有三种: 1.直接使用原生CSS+js; 2.使用swiper,一屏显示多个item,点击item会自动滚动到中间 3.使用微信的scroll-view配合JS实现 权衡了一下最终选择了第三个方案,比较是微信自带的方法,使用起来会比较流畅,swiper的话会比较臃肿,原生的话就比较麻烦,需要考虑的兼容问题比较多. 3.代码 wxml <view class="items-box"

随机推荐