国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序實現原生步驟條

2020-03-21 15:50:56
字體:
來源:轉載
供稿:網友

本文實例為大家分享了微信小程序實現原生步驟條的具體代碼,供大家參考,具體內容如下

效果

微信小程序,步驟條

(步驟條顏色不對是錄制工具的問題)

思路

其實與輪播圖類似,使用了兩個并排的輪播容器,在滑動監聽后,給圖片加上移動和縮放動畫。

擴展

可以用于標簽頁的切換。

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   })  } } })

 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 同仁县| 天台县| 山丹县| 石门县| 武平县| 西宁市| 龙州县| 扎兰屯市| 新田县| 双鸭山市| 陵水| 桐梓县| 沈阳市| 凤台县| 武宁县| 沂源县| 张北县| 嘉祥县| 独山县| 开鲁县| 盐山县| 正阳县| 庄河市| 平潭县| 巴东县| 莱西市| 绿春县| 古浪县| 临海市| 鹿邑县| 肃南| 辽阳市| 喜德县| 大洼县| 淮南市| 股票| 青海省| 禹城市| 博湖县| 迁西县| 潼关县|