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


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 相关文章推荐
用JTrackBar实现的模拟苹果风格的滚动条
Aug 06 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
Aug 15 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
Feb 23 Javascript
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
js浮动图片的动态效果
Jul 10 Javascript
jQuery中使用each处理json数据
Apr 23 Javascript
简介JavaScript中的setHours()方法的使用
Jun 11 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
node简单实现一个更改头像功能的示例
Dec 29 Javascript
微信小程序实现YDUI的ScrollNav组件
Feb 02 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数据库操作面向对象的优点
2006/10/09 PHP
如何去掉文章里的 html 语法
2006/10/09 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
PHP中echo和print的区别
2014/08/28 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
关于PHP求解三数之和问题详析
2020/11/09 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
jquery实现效果比较好的table选中行颜色
2014/03/25 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
JS前端笔试题分析
2016/12/19 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
python使用QQ邮箱实现自动发送邮件
2020/06/22 Python
Python json格式化打印实现过程解析
2020/07/21 Python
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
python 如何做一个识别率百分百的OCR
2021/05/29 Python
Python基本数据类型之字符串str
2021/07/21 Python
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
Python使用pyecharts控件绘制图表
2022/06/05 Python