小程序 實現fadeIn 漸變的效果


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


<!--test.wxml-->
<!--蒙版(漸出淡去效果)-->
<view class="aa" style='height: {{winH}}rpx;opacity: {{opacity}};'></view>

<!--正式內容(漸入加深效果)-->
<view class="container log-list" style='opacity: {{1-opacity}};'>
<block wx:for="{{logs}}" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>




/* test.wxss */

.log-list {
display: flex;
flex-direction: column;
padding: 40rpx;
}
.log-item {
margin: 10rpx;
}
.aa{
background-color: darkcyan;
}
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM