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


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 相关文章推荐
JQuery 常用操作代码
Mar 14 Javascript
JS面向对象编程浅析
Aug 28 Javascript
由Javascript实现的页面日历
Nov 04 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
js图片处理示例代码
May 12 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
JavaScript按值删除数组元素的方法
Apr 24 Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
May 25 Javascript
Node.js实现文件上传
Jul 05 Javascript
vue treeselect获取当前选中项的label实例
Aug 31 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性能优化准备篇图解PEAR安装
2011/12/05 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
总结一些PHP中好用但又容易忽略的小知识
2017/06/02 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
javascript函数作用域学习示例(js作用域)
2014/01/13 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
js密码强度检测
2016/01/07 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
浅谈Vue.js中的v-on(事件处理)
2017/09/05 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
javascript实现对话框功能警告(alert 消息对话框)确认(confirm 消息对话框)
2019/05/07 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
Python ZipFile模块详解
2013/11/01 Python
python装饰器初探(推荐)
2016/07/21 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Django更新models数据库结构步骤
2020/04/01 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
幼儿园门卫岗位职责
2014/02/14 职场文书
大学生求职信范文
2014/05/24 职场文书
职工小家建设活动方案
2014/08/25 职场文书
高老头读书笔记
2015/06/30 职场文书