微信小程序实现淡入淡出效果(页面跳转) - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序实现淡入淡出效果(页面跳转)

发表时间:2021-3-31

发布人:葵宇科技

浏览次数:123

//目前小程序没有fadeIn(),fadeOut()方法所以还是本方法手写

<!--wxml-->
<!--蒙版(渐出淡去效果)-->
<view class="aa" style='height: {{winH}}rpx;opacity: {{opacity}};'></view>
<!--正式内容(渐入加深效果)-->
2 <view class="container log-list" style='opacity: {{1-opacity}};'>
3 <block wx:for="{{logs}}" wx:for-item="log">
4 <text class="log-item">{{index + 1}}. {{log}}</text>
5 </block>
6 </view>
<!--wxss-->
.log-list {
display: flex;
flex-direction: column;
padding: 40rpx;
}
.log-item {
margin: 10rpx;
}
.aa{
background-color: darkcyan;
}
//xx.js
const util = require('../../utils/util.js')
//把winHeight设为常量,不要放在data里(一般来说不用于渲染的数据都不能放在data里)
const winHeight = wx.getSystemInfoSync().windowHeight
Page({
data: {
logs: []
},
onLoad: function () {
this.setData({
winH: wx.getSystemInfoSync().windowHeight,
opacity: 1,
//这个是微信官方给的获取logs的方法 看了收益匪浅
logs: (wx.getStorageSync('logs') || []).map(log => {
return util.formatTime(new Date(log))
})
})
},
onShow: function () {
this.hide()
},
//核心方法,线程与setData
hide: function () {
var vm = this
var interval = setInterval(function () {
if (vm.data.winH > 0) {
//清除interval 如果不清除interval会一直往上加
clearInterval(interval)
vm.setData({ winH: vm.data.winH - 5, opacity: vm.data.winH / winHeight })
vm.hide()
}
}, 10);
}
})

以前这种就是渐变效果

相关案例查看更多