柴门鸟雀噪,归客千里至。光明顶下来,一路听着阵阵松涛,我们走过西海,飞来石,天海,爬过百步云梯,伴着凤凰松迎客松的多姿到了玉屏峰。玉屏峰犹如一道屏障,山面光滑如镜子,如屏风,还不时有几个斗大的字,说是哪位名人留下的。玉屏峰最险的地方是在一线天,上下达七八十度的落差,台阶狭,仅容一人,台阶窄,仅托一足,百米长,走多了,腿便打抖了,害怕了,还不时地叫着好刺激呀。
本文实例为大家分享了微信小程序实现原生步骤条的具体代码,供大家参考,具体内容如下
效果
(步骤条颜色不对是录制工具的问题)
思路
其实与轮播图类似,使用了两个并排的轮播容器,在滑动监听后,给图片加上移动和缩放动画。
扩展
可以用于标签页的切换。
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
})
}
}
})
到此这篇关于微信小程序如何实现原生步骤条就介绍到这了。青春——人的一生中最美好年岁。它是一个人的生命含苞待放的时期,生机勃发朝气蓬勃;它意味着进取,意味着上升,蕴含着巨大希望的未知数。更多相关微信小程序如何实现原生步骤条内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!