作者 | 随笔川迹

ID | suibichuanji

前言

撰文:川川

您将在读完本篇后get到

在小程序中如何实现一类似新浪头条上下间歇性滚动效果

  • 利用 swiper实现垂直间歇性上下滚动

  • 用户名格式化处理,保留姓氏,中间位用*号隐藏

  • 电话号码格式化处理,中间四位特殊处理

  • 显示时间格式化处理

  • 结合小程序云开发完整实现垂直上下间歇性滚动效果

·  正  ·  文  ·  来  ·  啦  ·

01-需求分析

在做用户信息展示页的时候,有时候需要将用户名,联系方式放置在前端展示,但是用户名与电话号码属于私密信息,需要做加密处理

这里的加密只是用于在前端展示特殊处理,也就是只显示姓,名字用特殊字符替代,电话号码:中间四位用*替代,如下效果展示如下所示

02-完成最终效果

(扫码即可体验,用户名,电话,时间格式化处理显示)

03-实现方式

主要借助的是小程序官方提供的 swiper组件,对于横向的,普通的轮播,很多小伙伴都不陌生

但是对于这种垂直方式的滚动,有些同学,可能会比较棘手

04-完成页面布局

以下是wxml示例代码

<view class="order-list-wrap"><view class="order-title"><text>预约用户</text></view><swiper class="swiper" vertical="true" autoplay="true" circular="true" interval="3000" display-multiple-items='4'><block wx:for="{{ orderLists }}" wx:key="*this"><swiper-item><view class="swiper-item-box"><view class="username">{{item.username}}</view><view>{{item.phonenumber}}</view><view>已预约</view><view>{{item.createtime}}</view></view></swiper-item></block></swiper>
</view>

这里主要借助的是 swiper组件

  • vertical的属性值为 true,代表的是垂直方向

  • display-multiple-items表示的是同时显示的滑块数量,这里设置的是显示 4 个

swiper组件中各个属性含义,具体可看参考文档swiper 组件使用

如下是 wxss

.order-list-wrap {padding: 10rpx 0 10rpx 0;font-size: 28rpx;background:#23d5ab;margin: 0 20rpx 20rpx 20rpx;color: #fff;}.order-title {text-align: center;padding: 8rpx;
}.swiper {height: 320rpx;overflow:hidden;
}.swiper-item-box {display: flex;justify-content: space-around;border-bottom: 1px dashed #ede1d4;
}.swiper-item-box view {line-height: 80rpx;
}.swiper-item-box .username {width: 90rpx;
}

如下预约列表的数据格式

orderLists: [{phonenumber:15210927743,username:"杨海龙",createtime:"2020-06-17T07:54:41.146Z"},{createtime:"2020-06-18T13:35:02.944Z",phonenumber:13141467811,username:"洋洋"},{createtime:"2020-06-18T14:18:51.307Z",phonenumber:"15210927639",username:"郑霞"},{phonenumber:13801135148,username:"王海勇",createtime:"2020-06-17T07:53:34.584Z"},{createtime:"2020-06-17T09:28:47.062Z",phonenumber:15810923375,username:"向生明"}]

如果仅仅是这样,在页面中,姓名和电话号码会完全被显示,但是往往我们需要对姓名和电话进行特殊处理的

而这里的时间是从服务器返回给前端的时间,仍然需要做处理,进行转化

05-用户名格式化处理-保留姓氏

如下示例代码所示

// 格式化名字,只留姓,名字中间用*替代
function _formatName(name) {let newStr;if (name.length === 2) {newStr = name.substr(0, 1) + '*'; // 通过substr截取字符串从第0位开始截取,截取1个} else if (name.length > 2) { // 当名字大于2位时let char = '';for (let i = 0, len = name.length - 2; i < len; i++) { // 循环遍历字符串char += '*';}newStr = name.substr(0, 1) + char + name.substr(-1, 1);} else {newStr = name;}return newStr;
}console.log(_formatName("李海涛")) // 输出李*涛

06-电话号码格式化处理

小程序-实现类似新浪头条新闻上下间歇性滚动相关推荐

  1. php学习之----采集新浪头条新闻

    采集的时候要注意,编码,如果编码一致,会导致匹配不了采集失败 <?php //采集的时候要注意编码一直,才能匹配想要的东西,要不会采集不到东西,主要还是需要用正则表达式 $con = file_ ...

  2. 小程序创业:新金矿、野望与焦虑

    来源:视觉中国 摘要:小程序正在带来新的红利,互联网上的生意可以再做一遍? 张远想要尽可能地保持低调,但现在这个愿望正在变得越来越难. 在最近几个月阿拉丁小程序排行榜上,糖豆广场舞.糖豆爱生活.糖豆每 ...

  3. 小程序自制自带滑动条的表格组件

    小程序自制自带滑动条的表格组件 在编写过程中遇到的难点 1. 表格的编写 2. 表格内容宽度固定 长度自适应 3. 滚动条逻辑及代码编写 4. 滚动条的卡段优化 5. 小程序组件的编写及应用 尾声 先 ...

  4. 微信小程序如何添加新的icon图标

    微信小程序如何添加新的icon图标 第一步 先去阿里云下载图标http://www.iconfont.cn/ 根据需要把图片的代码下载下来,下载完成之后是一个 压缩包,解压压缩包里面有一个css的文件 ...

  5. 微信小程序动画之圆形进度条

    微信小程序动画之圆形进度条 上图: 代码: js: //获取应用实例 var app = getApp()var interval; var varName; var ctx = wx.createC ...

  6. 基于canvas 2D实现微信小程序自定义组件-环形进度条

    基于canvas 2D实现微信小程序自定义组件-环形进度条 最近开发一个小程序项目博闻金榜答题小程序,需要使用到一个可以显示答题倒计时的组件,基于进度条实现,下面就主要介绍基于canvas2D实现一个 ...

  7. 微信小程序:强大新UI装逼神器

    大家好这是一款装逼制作的一款微信小程序源码 标题为什么说用不完的模板呢,因为小编原本想数一下有多少个模板 但是小编一直翻呀翻,翻了多久都忘记了,都还没到底 所以说可以想象模板有多少,另外呢里面的模板还 ...

  8. 微信小程序实现点击导航条切换页面

    本文实例为大家分享了微信小程序实现点击导航条切换页面的具体代码,供大家参考,具体内容如下 我录制了个gif如下,黄色部分是不可以滑动的,蓝色部分可以滑动. 代码解说: 首先我在js自定义了navSta ...

  9. 【微信小程序】随机点名系统(点击开始滚动名字点击结束按钮结束滚动)

    [微信小程序]随机点名系统(点击开始滚动名字点击结束按钮结束滚动) 1.效果图: 2.js代码 {Page({data:{condition: Math.floor(Math.random()*7+1 ...

最新文章

  1. 直线宽度2 points wide_OpenGL 绘图实例二之直线和圆弧的绘制
  2. C - Insertion Sort Gym - 101955C
  3. 索引和未索引执行计划的比较_详解Oracle复合索引+实例说明
  4. 64位MinGW和MSYS的安装
  5. Could not open ServletContext resource [/WEB-INF/applicationContext.xml]”解决方案
  6. 4011-基于邻接表的深度优先遍历(C++,取巧做法)
  7. jstorm的acker实现
  8. python tkinter button_[转载]Python Tkinter之Button(转载)
  9. PADS无模命令总结
  10. Virtual Serial Port Driver虚拟串口vspd v7.2 下载及破解方法
  11. java insert 返回主键_MyBatis中insert操作返回主键的实现方法 – java – www.cfei.net
  12. scrapy 架构文档
  13. spine 导出纹理_Spine 的纹理打包器(texture packer)详解
  14. 王之泰201771010131《面向对象程序设计(java)》第十七周学习总结
  15. 1229. 日期问题 Java题解 (枚举) 【第八届蓝桥杯省赛C++B组,JAVA B组】
  16. STM32单片机通过ESP8266WiFi模块与Android APP实现数据传输(二)---上位机搭建
  17. 联想IBM服务器X3650M3之硬盘扩容
  18. CentOS7(图显)安装最新版本NVIDIA 显卡驱动
  19. 连手机热点宿主机无法连上VMvare linux Centos
  20. 如何学习解剖学的简单方法

热门文章

  1. 亚马逊干货|极致细节优化 爆款listing这样产出
  2. iPhone 这几个拍照功能,据说 80% 的人都不知道
  3. VUE打包过后图片等资源加载不出来
  4. 5. Qt5 实现Ftp功能
  5. 网站验证码WEB前端接入实例
  6. 世界10大物流公司介绍
  7. 萌新学Java之渐入佳境一----初识多线程
  8. excel处理几十万行数据_Excel处理数万条数据很慢,怎么办?
  9. 用筛法求素数(数组)
  10. 算法-克鲁斯卡尔算法