小程序实现满屏上下滑动效果
写的时候发现网上没有好用的,要么过于复杂,要么不太实用,我就自己整了个简单的
直接上代码部分
//wxml部分
<swiper indicator-dots="true" indicator-color="green" indicator-active-color="red" autoplay="true" interval="5000" duration="1000" circular="true" vertical="true">
<swiper-item wx:for="{{images}}">
<image src="{{item}}" mode="scaleToFill"></image>
</swiper-item>
</swiper>
下面是js部分,大部分都是自动生成的函数,只要在data里面存放地址就行,其他的可以不用管
// pages/template/templatejs
Page({
/
页面的初始数据
/
data: {
images: ["/pages/template/images/1png","/pages/template/images/2png","/pages/template/images/3png","/pages/template/images/4png"]
},
/
生命周期函数--监听页面加载
/
onLoad: function (options) {
},
/
生命周期函数--监听页面初次渲染完成
/
onReady: function () {
},
/
生命周期函数--监听页面显示
/
onShow: function () {
},
/
生命周期函数--监听页面隐藏
/
onHide: function () {
},
/
生命周期函数--监听页面卸载
/
onUnload: function () {
},
/
页面相关事件处理函数--监听用户下拉动作
/
onPullDownRefresh: function () {
},
/
页面上拉触底事件的处理函数
/
onReachBottom: function () {
},
/
用户点击右上角分享
/
onShareAppMessage: function () {
}
})
效果图
iphone5表现效果
在这里插入描述
iphone 12/13 Pro Max表现效果
在这里插入描述
本人前端一般般,可能会有问题,仅供参考
看到一个需求,对一些前端小白或者刚开始写小程序的人来说,可能会有点帮助,效果如下:
就是以上效果,废话不多说,上代码
wxml:
<view class='list_box' wx:for='{{list}}' wx:key='this' wx:for-item='parentItem' wx:for-index='parentIndex' >
<view class='list'>
<view class='list_name_box' catchtap='listTap' data-parentindex='{{parentIndex}}'>
<text class='list_item_name'>{{parentItemlistName}}</text>
<image src='/img/downpng' class='icon_down {{parentItemshow&&"icon_down_rotate"}}'></image>
</view>
<view class='list_item_box' wx:if='{{parentItemshow}}'>
<view class='list_item' wx:for='{{parentItemitem}}' wx:key='this' catchtap='listItemTap' data-index='{{index}}' data-parentindex='{{parentIndex}}'>
<view class='list_item_name_box'>
<text class='list_item_name'>{{itemitemName}}</text>
<image src='/img/downpng' class='icon_down {{itemshow&&"icon_down_rotate"}}'></image>
</view>
<view class='other_box' wx:if='{{itemshow}}'>
<view class='other'>
<text class='other_title'>内容:</text>
<text class='other_text'>{{itemcontent}}</text>
</view>
<view class='other'>
<text class='other_title'>时间:</text>
<text class='other_text'>{{itemtime}}</text>
</view>
</view>
</view>
</view>
</view></view>
然后wxss:
page{
background: #f3f7f7;}list_name_box{
background: #fff;
border-bottom: 1px solid #efefef;
display: flex;
height: 90rpx;
align-items: center;
padding: 0 25rpx;
font-size: 32rpx;}list_item_name{
flex: 1;}icon_down{
width: 35rpx;
height:35rpx;
transition:transform 03s;}/ list_item_box{
height: 0;
transition:height 03s;
overflow: hidden;
}
list_item_box_show{
height: 500rpx;
} /list_item_name_box{
background: #fff;
font-size: 30rpx;
height: 80rpx;
display: flex;
align-items: center;
padding: 0 25rpx 0 50rpx;}other{
display: flex;
height: 80rpx;
padding: 0 25rpx 0 50rpx;
align-items: center;
font-size: 30rpx;
color: #666;}icon_down_rotate{
transform:rotate(180deg);}
JS:
// pages/dome/domejsPage({
/
页面的初始数据
/
data: {
list:[
{listName:'列表1',
item:[{
itemName:'子列表1-1',
content:'1-1中的内容',
time: '2015-05-06'
}, {
itemName: '子列表1-2',
content: '1-2中的内容',
time: '2015-04-13'
}, {
itemName: '子列表1-3',
content: '1-3中的内容',
time: '2015-12-06'
}]
},
{
listName: '列表2',
item: [{
itemName: '子列表2-1',
content: '2-1中的内容',
time: '2017-05-06'
}, {
itemName: '子列表2-2',
content: '2-2中的内容',
time: '2015-08-06'
}, {
itemName: '子列表2-3',
content: '2-3中的内容',
time: '2015-11-06'
}]
}, {
listName: '列表3',
item: [{
itemName: '子列表3-1',
content: '3-1中的内容',
time: '2015-05-15'
}, {
itemName: '子列表3-2',
content: '3-2中的内容',
time: '2015-05-24'
}, {
itemName: '子列表1-3',
content: '3-3中的内容',
time: '2015-05-30'
}]
}
]
},
//点击最外层列表展开收起
listTap(e){
consolelog('触发了最外层');
let Index = ecurrentTargetdatasetparentindex,//获取点击的下标值
list=thisdatalist;
list[Index]show = !list[Index]show || false;//变换其打开、关闭的状态
if (list[Index]show){//如果点击后是展开状态,则让其他已经展开的列表变为收起状态
thispackUp(list,Index);
}
thissetData({
list });
},
//点击里面的子列表展开收起
listItemTap(e){
let parentindex = ecurrentTargetdatasetparentindex,//点击的内层所在的最外层列表下标
Index=ecurrentTargetdatasetindex,//点击的内层下标
list=thisdatalist;
consolelog(list[parentindex]item,Index);
list[parentindex]item[Index]show = !list[parentindex]item[Index]show||false;//变换其打开、关闭的状态
if (list[parentindex]item[Index]show){//如果是 *** 作的打开状态,那么就让同级的其他列表变为关闭状态,保持始终只有一个打开
for (let i = 0, len = list[parentindex]itemlength;i<len;i++ ){
if(i!=Index){
list[parentindex]item[i]show=false;
}
}
}
thissetData({list});
},
//让所有的展开项,都变为收起
packUp(data,index){
for (let i = 0, len = datalength; i < len; i++) {//其他最外层列表变为关闭状态
if(index!=i){
data[i]show = false;
for (let j=0;j<data[i]itemlength;j++){//其他所有内层也为关闭状态
data[i]item[j]show=false;
}
}
}
},
onLoad: function (options) {
},
/
生命周期函数--监听页面初次渲染完成
/
onReady: function () {
},
/
生命周期函数--监听页面显示
/
onShow: function () {
},
/
生命周期函数--监听页面隐藏
/
onHide: function () {
},
/
生命周期函数--监听页面卸载
/
onUnload: function () {
},
/
页面相关事件处理函数--监听用户下拉动作
/
onPullDownRefresh: function () {
},
/
页面上拉触底事件的处理函数
/
onReachBottom: function () {
},
/
用户点击右上角分享
/
onShareAppMessage: function () {
}})
作者:
链接:>
现在微信基本是我们日常生活中,所用到的聊天工具,除了可以聊天,还有一些值得期待的小程序,这里分享6款让你满怀期待的微信小程序,每款都是黑科技,请低调使用。
需要抠图但觉得抠图太难的,可以使用这个小程序,轻轻松松抠背景,不管多复杂,都会抠得很干净,除了单张抠图,还支持多张。
开会无疑最烦的是写会议纪要,这个小程序就可以帮助到你,可以实时将录音转成文本,还可以导入音频转文本,这样开会就不用手写了。
这是一个AI专业小程序,里面的功能基本都是和AI有关,像一些车辆识别、人脸融合、内容识别等都是用AI来完成的,非常的厉害。
这是个多功能合集小程序,是缩小版的工具箱,拥有24个实用小功能,像压缩、拼接、表情制作等等,基本可以满足我们日常的生活需求。
这个小程序是针对于截图方面,平时我们截图都是把整个屏幕截下来,这样看起来没有什么特别之处,而使用这个小程序来截图,可以自动生成带壳的样式,支持多种热门相机和机型颜色更换。
这是一个手机时钟小程序,页面设计非常简洁,相比于手机自带的时钟,它能够更加清楚地观看到时间,可以查看到时间的秒数,而且还自带有翻页效果。
swiper
滑块视图容器。其中只可放置swiper-item组件,否则会导致未定义的行为。
swiper-item 仅可放置在swiper组件中,宽高自动设置为100%。
列表渲染
条件渲染
dataset
在组件节点中可以附加一些自定义数据。这样,在事件中可以获取这些自定义的节点数据,用于事件的逻辑处理。
在 WXML 中,这些自定义数据以 data- 开头,多个单词由连字符 - 连接。这种写法中,连字符写法会转换成驼峰写法,而大写字符会自动转成小写字符。如:
navigateTo
保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wxnavigateBack 可以返回到原页面。小程序中页面栈最多十层。
redirectTo
关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
switchTab
跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
承载网页的容器。会自动铺满整个小程序页面,个人类型的小程序暂不支持使用。
没铺开直接赋值的打印结果:(打开注释)
不加
铺开后赋值的打印结果:(打开注释)
onPullDownRefresh
onPullDownRefresh()方法,用于监听用户下拉刷新事件。
需要在appjson的window选项中或页面配置中开启enablePullDownRefresh。
onReachBottom()方法,用于监听用户上拉触底事件。
微信小程序regexp对象(附带方法解析)
getRegExp(pattern[, flags]),参数:
在微信小程序中,可以通过设置页面的音频属性来设置剪映特效翻页声音。具体步骤如下:
1在页面的json文件中,添加音频属性,如:"enable-pagination-sound": true;
2在页面的js文件中,添加音频播放代码,如:wxplayBackgroundAudio({url: '音频地址'});
3在页面的wxml文件中,添加音频播放控件,如:<audio src="音频地址" autoplay="true" loop="true"></audio>
4在页面的wxss文件中,添加音频播放样式,如:audio{width: 0;height: 0;}
以上就是微信小程序中设置剪映
以上就是关于ios微信小程序上下滑动效果全部的内容,包括:ios微信小程序上下滑动效果、微信小程序怎么实现内容的展开和收起、6款让你满怀期待的微信小程序,每款都是黑科技,请低调使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)