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


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 相关文章推荐
extjs之去除s.gif的影响
Dec 25 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
Jul 14 Javascript
JavaScript SHA512加密算法详细代码
Oct 06 Javascript
使用jquery datatable和bootsrap创建表格实例代码
Mar 17 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
前端防止用户重复提交js实现代码示例
Sep 07 Javascript
jQuery pagination分页示例详解
Oct 23 jQuery
vue实现图片预览组件封装与使用
Jul 13 Javascript
JavaScript常用工具函数库汇总
Sep 17 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
调频问题解答
2021/03/01 无线电
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
php数据访问之查询关键字
2016/05/09 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
angularjs自定义过滤器demo示例
2019/08/24 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
Python简单过滤字母和数字的方法小结
2019/01/09 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
自我介绍演讲稿
2014/01/15 职场文书
大学生创业感言
2014/01/25 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
英文导游词
2015/02/13 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
刑事案件上诉状
2015/05/23 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python