微信小程序实现原生步骤条


Posted in Javascript onJuly 25, 2019

本文实例为大家分享了微信小程序实现原生步骤条的具体代码,供大家参考,具体内容如下

效果

微信小程序实现原生步骤条

(步骤条颜色不对是录制工具的问题)

思路

其实与轮播图类似,使用了两个并排的轮播容器,在滑动监听后,给图片加上移动和缩放动画。

扩展

可以用于标签页的切换。

vue与微信小程序有类似的地方,所以微信小程序做出的效果,原理也可用于vue在网页上的应用。

代码

wxml

<view class='window'>
 <view class='content' bindtouchstart='touchS' bindtouchend='touchE' style='left:{{left}}rpx'>
  <view wx:for="{{list}}">
   <!-- 时间线 -->
   <view class='pot'>
    <view class='{{index == 0?"blank":"line"}}'></view>   
    <view class='circle' style='background:{{show_index == index?"orange":""}}'></view>
    <view class='{{index == length - 1?"blank":"line"}}'></view>
   </view>
   <!-- 图片 -->
   <view class='pic_container'>
    <image class='pic' style='{{show_index != index?"transform:scale(0.5,0.5)":""}}' src="../../images/{{index+1}}.jpg"></image>
   </view>
  </view>
 </view>
</view>

wxss

.window{
 width: 450rpx;
 background-color: #eee;
 padding: 25rpx;
 position: relative;
 overflow: hidden;
 margin: 0 auto;
 border-radius: 20rpx;
}
.content{
 display: flex;
 position: relative;
 transition: all 0.5s;
}
.content>view{
 display: flex;
 flex-direction: column;
 align-items: center;
}
.pot{
 width: 450rpx;
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.circle{
 border-radius: 100%;
 height: 20rpx;
 width: 20rpx;
 border:4rpx solid orange;
}
.line{
 height: 4rpx;
 width: 50%;
 background: orange;
}
.blank{
 height: 4rpx;
 width: 50%;
}
.pic_container{
 width: 450rpx;
 height: 450rpx;
 display: flex;
 justify-content:center;
 align-items: center;
}
.pic{
 width: 400rpx;
 height: 400rpx;
 transition: all 0.5s;
}

js

Page({
 data: {
  list: ['1', '2', '3'],
  left:0,
  show_index:0
 },
 
 onLoad: function () {
  this.setData({
   length:this.data.list.length
  })
 },
 
 touchS:function(e){
  var that = this;
  this.data.start = e.touches[0].pageX;
  this.data.start_left = this.data.left;
 },
 
 touchE:function(e){
  var that = this;
  this.data.end = e.changedTouches[0].pageX;
  var distance = this.data.end - this.data.start;
  //左滑
  if (distance <= -40 && this.data.left > -900) {
   this.setData({
    left: that.data.start_left - 450,
    show_index:++ this.data.show_index
   })
  }
  //不滑
  else if(distance <= 40){
   this.setData({
    left: that.data.start_left,
   })
  }
  //右滑
  else if (distance > 40 && this.data.left < 0) {
   this.setData({
    left: that.data.start_left + 450,
    show_index: --this.data.show_index
   })
  }
 }
 
})

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
May 20 Javascript
浅谈JavaScript Array对象
Dec 29 Javascript
javascript实现禁止复制网页内容汇总
Dec 30 Javascript
VUEJS实战之利用laypage插件实现分页(3)
Jun 13 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
微信小程序 跳转方式总结
Apr 20 Javascript
详解操作虚拟dom模拟react视图渲染
Jul 25 Javascript
原生js 实现表单验证功能
Feb 08 Javascript
微信小程序与公众号卡券/会员打通的问题
Jul 25 #Javascript
微信小程序tabBar 返回tabBar不刷新页面
Jul 25 #Javascript
微信小程序与公众号实现数据互通的方法
Jul 25 #Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
Jul 25 #Javascript
微信小程序实现收货地址左滑删除
Nov 18 #Javascript
jquery-ui 进度条功能示例【测试可用】
Jul 25 #jQuery
微信小程序实现左滑动删除效果
Mar 30 #Javascript
You might like
php foreach 参数强制类型转换的问题
2010/12/10 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
Laravel 5框架学习之用户认证
2015/04/09 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
Thinkphp框架开发移动端接口(2)
2016/08/18 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
使用 Node.js 对文本内容分词和关键词抽取
2017/05/27 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python增加图像对比度的方法
2019/07/12 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
将python安装信息加入注册表的示例
2019/11/20 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server