一级片大奶子_色又黄又爽18禁免费视频_热久久久久久久_久久久精品一区二区_日韩av不卡在线播放_精品国内自产拍在线观看视频

商城系統 注冊

利用css transition屬性實現一個帶動畫顯隱的微信小程序部件

2020-09-27|HiShop
導讀:像這樣的一個帶過渡效果的小部件在我們實際開發中的應用幾率還是比較大的,但是在開發微信 小程序 的過程中可能有的小伙伴發現transition這個屬性它不好使...

利用css transition屬性實現一個帶動畫顯隱的微信小程序部件

像這樣的一個帶過渡效果的小部件在我們實際開發中的應用幾率還是比較大的,但是在開發微信小程序的過程中可能有的小伙伴發現transition這個屬性它不好使(下面說明)所以我們這個時候會考慮去使用微信官方提供的wx.createAnimation API來創建動畫。

接下來我帶各位小伙伴如何讓 transition 屬性在這種需求中好使起來,下面上代碼

 

page({
    data: {
        show:false//用于顯示或隱藏控件
    },
    chanMask:function(){
 var isShow = this.data.show ? false : true;//如果顯示就隱藏,隱藏就顯示
 this.setData({
            show:isShow
        })
    }
})

 

/*index.wxss*/
/*顯示前*/
.mask-con{
transition: 1s; 
position: fixed;
width: 100%;
height: 300rpx;
left: 0;
bottom: -300rpx;
 
text-align: center;
line-height: 300rpx;
box-shadow: 0 1px 10px #aaa;
}
/*顯示后*/
.mask-con-show{
bottom: 0;
}

 

<!--index.wxml-->
<view class="container">
<button bindtap="chanMask">點我</button>
<view class="mask-con {{show ? 'mask-con-show' : ''}}">
<view class="close" bindtap="chanMask">X</view>
慢慢飛起
</view>
</view>

 

在以上代碼中我們首先在data中定義了一個show變量用于mask-con控件的顯示狀態,在chanMask函數中交替的改變這個變量,然后將chanMask函數綁定給button和close控件的點擊事件上,最后我們根據show來決定是否給mask-con(我們的動畫控件)添加一個class: mask-con-show那么到這里我們已經實現了一個帶過渡的顯隱小部件

現在很多的APP或小程序都是以這種方式來close彈窗控件,那個X用戶點的不過癮,看到這里聰明的小伙伴可能會想到再另外添加一個陰影控件在mask-con的下層并綁定上我們的chanMask函數,這樣的話陰影控件和我們的mask-con就可能不是在一個整體上了,不夠直觀,又比如說領導要讓這個陰影它有一個顯示顏色慢慢加深,隱藏慢慢減淡的效果,為了應對這種情況,我們把代碼調整如下:

page({

    data: {
        show:false//用于顯示或隱藏mask控件
    },
    chanMask:function(){
 var isShow = this.data.show ? false : true;//如果顯示就隱藏,隱藏就顯示
 this.setData({
            show:isShow
        })
    }
})

 

/*index.wxss*/

.mask-shadow{
width: 100%;
height: 100%;
 
opacity: 0;
transition: 1s;
}
.mask-shadow-on{
opacity: 0.3;
}
.mask-con{
position: absolute;
width: 100%;
height: 300rpx;
left: 0;
bottom: -300rpx;
 
transition: 1s;
text-align: center;
line-height: 300rpx;
box-shadow: 0 1px 10px #aaa;
}
.mask-con-show{
bottom: 0;
}

 

<!--index.wxml-->
<view class="container">
<button bindtap="chanMask">點我</button>
<view class="mask {{show ? 'show' : 'hide'}}">
<view class="mask-shadow {{show ? 'mask-shadow-on' : ''}}"></view>
<view class="mask-con {{show ? 'mask-con-show' : ''}}">
<view class="close" bindtap="chanMask">X</view>
慢慢飛起
</view>
</view>
</view>

 

在這里我們設置了兩個樣式類名mask-shadow-on和mask-con-show來定義陰影以及主要控件mask-con動畫后的效果(具體代碼根據自己的需求決定),看起來一切都OK,沒有任何問題,那么先運行一波,艾瑪,神馬情況?陰影和我們的mask-con直接懟了出來毫無過渡效果,那這是何原因影響我們程序的效果呢,經過一番考量博主發現在display為none的情況之下我們的transition屬性可能會失效,那到這里有的小伙伴可能會問 “博主,那個不對啊,我們明明已經將mask的display設置成block怎么還有這種問題呢”

是這樣的,我們的mask控件它顯示需要那么一點時間才能完全顯示出來,但是呢我們的變量show設置成true之后,我們的陰影控件和主要控件也會馬上添加上了動畫后樣式類名,這個時間它比mask顯示所需的時間要快,所以我們的機器它認為mask還是處于display為none的情況

打個比方說:mask是這一整塊的老大,這個老大都還沒表演完事,你們這些做小弟就已經出來搶風頭了,你讓當老大的面子往哪放,不行我得把你們這些搶我風頭的都給干掉,看你們還得瑟。這個老大的人狠話不多,你搶了他風頭不行,你想不表演他(用戶體驗)也不高興,而且他表演完了還不跟你說,那這個老大這么難伺候該怎么辦呢?有的小伙伴已經感覺到迷茫了嗎,那還在等什么,趕快拿起你手中的電話撥打求助熱線。。。。。啊呸,扯遠了

其實決解的方法很簡單,沒錯答案就是 setTimeout()函數,來,我們把代碼再改一遍:

page({
        data: {
        show:false,//用于顯示或隱藏mask控件
        runAM:false//用于動畫執行的根據
    },
    chanMask:function(){
 var isShow = this.data.show ? false : true;//如果顯示就隱藏,隱藏就顯示
 var delay  = isShow ? 30 : 1000;//第一個時間是博主測出來控件顯示所需的時間,第二個是動畫所需的時間
 if(isShow){
 this.setData({
                show:isShow
            });
        }else{
 this.setData({
                runAM:isShow
            })
        }
 
        setTimeout(function(){
 if(isShow){
 this.setData({
                    runAM:isShow
                });
            }else{
 this.setData({
                    show:isShow
                });
            }
        }, delay);

    }
})

 

<!--index.wxml-->
<view class="container">
<button bindtap="chanMask">點我</button>
<view class="mask {{show ? 'show' : 'hide'}}" bindtap="chanMask">
<view class="mask-shadow {{runAM ? 'mask-shadow-on' : ''}}"></view>
<view class="mask-con {{runAM ? 'mask-con-show' : ''}}">
<view class="close" bindtap="chanMask">X</view>
慢慢飛起
</view>
</view>
</view>

 

在以上代碼中,我們給data新添加了一個變量runAM用于動畫何時開始執行的憑證,再在chanMask函數定義了一個用于設置延時的變量delay 代碼可能有點繞博主在此粗暴的解釋一下

程序的整個過程都是根據isShow這個變量來走的,

當isShow為true時也就是說我們要打開mask控件了,所以我們先把mask控件顯示出來,然后在延時30毫秒后去為要執行動畫的控件添加上樣式類名

當isShow為false時我們先把動畫控件的類名去掉(去掉后會執行動畫回到原本的形態),然后在延時1000毫秒(動畫所需的時間)后讓mask隱藏

關于delay的第一個值的設定時博主自己測出來的,如果各位小伙伴還擔心控件沒顯示的話可以設成50毫秒或100毫秒都無所這0.1秒的時間差對用戶體驗的影響并不大,如過你設了1秒都沒反應,我只能說換手機吧

最后你會發現在整個過程中博主都只調用一個函數進行顯示或隱藏,并沒有為關閉新建函數處理,這種寫法逼格滿滿有木有

此方法同樣適用于H5

利用css transition屬性實現一個帶動畫顯隱的微信小程序部件

電話咨詢 預約演示 0元開店
主站蜘蛛池模板: 黄色网址免费在线观看|蜜臀=av夜夜澡人人爽人人桃色|极品少妇XXXXⅩ另类|国产成人一区二区无码不卡在线|亚洲无线视频|九九久久精品国产=aV片国产 | 99精品免费在线|能在线观看的一区二区三区|69国产盗摄一区二区三区五区|精品国产一二区|亚洲最新=av网址|日本丰满岳乱妇在线观看 | 久久亚洲=aV成人无码软件|91亚洲网|成人在线看片|成人做爰www网站视频|粉嫩=av一区二区三区高清|免费一级片91 | 欧美在线中文字幕|亚洲天堂成人|国产一区二区精品久久91|精品人妻无码一区二区三区GIF|久久亚洲精品情侣|国产成人在线影院 | 人人精品久久|无码=aV潮喷|国产小视频国产精品|18深夜在线观看免费视频|好久被狂躁=a片视频无码免费视频|国产一级淫片=a免费播放鬼片 | 无遮挡吃胸膜奶免费网站|操操日日|最近日本mv字幕免费观看视频|久久国产劲爆∧V内射-百度|午夜视频在线免费观看|无码=av中文一区二区三区 | 人人射影院|日韩免费一区二区三区高清|欧美狠狠|91精品蜜臀在线一区尤物|国产日本韩国在线|无码人妻精品一区二区三区99仓本 | 影音先锋99|成年女人免费大片视频|天天色草|特黄=a=a级毛片免费视频播放|3级片免费|在线观看中文字幕视频 | yell视频在线观看免费|www.三级影片.com|午夜啪啪片|色爱亚洲|顶级欧美熟妇高潮xxxxx|紧缚调教一区二区三区视频 | 精品久久久久国产|欧美日在线|国产18一19sex性护士|不卡国产视频|j=ap=anese36hdxxxx日韩|欧美BBWHD老太大 | 国产成人18黄网站免费观看|日韩国产一区二|亚洲天堂自拍偷拍|性做爰片免费视频毛片中文|天天精品视频免费|黄色毛片免费 | 男人操女人免费视频网站|粉嫩大学生无套内射无码卡视频|国产片人综合亚洲区|成年美女黄网站色大片免费看老狼|99色爱|在线免费观看亚洲视频 | 日韩精品无码一本二本三本|亚洲丶国产丶欧美一区二区三区|色在线影院|一级做=a爱片性色毛片|精品国产一区=aV天美传媒|www.日韩视频 | 吃奶大尺度无遮挡激情做爰|成人公开免费视频|日本娇小枯瘦xxxx|超碰95在线|精品伦理一区二区三区|久久国产精品区 | 吃奶摸下的激烈视频|亚洲人成网站18禁止中文字幕|无码=aV天堂一区二区三区|男人猛躁进女人视频免费播放|精品一区在线观看视频|欧美午夜=a级限制福利片 | 天天综合网天天综合色|#NAME?|无套内谢少妇毛片=a片软件|小12箩利洗澡无码视频网站|99久久免费精品视频|一区二区三区免费在线 | 美女人妻激情乱人伦|亚洲=aV激情无码专区在线播放|国产在线区|国产v=a免费精品高清在线|天天干天天射综合|九九九九精品 | CHINESE熟女熟妇1乱|亚洲一区二区三区乱码=aⅴ蜜桃女|最新国产福利一区二区免费视频|爱豆传媒国产剧情|国産精品久久久久久久|超碰超碰在线 | 国产精品高潮呻吟久久久久久|91青娱乐在线视频|成年男人露jiji网站自慰|亚洲区免费|91精品在线一区二区|91免费高清 | 琪琪亚洲|成品片=a免费直接观看|久久精品性视频|少妇无码吹潮|国产女人十八毛片|免费毛儿一区二区十八岁 | 欧美在线视频三区|国产中文原创|日本午夜免费福利视频|国产色综合色产在线视频|综合国产精品|猫咪成人在线观看 | 91成人小视频|国产精品乱码视频|日韩美女乱婬=a=a=a高清视频|www.xxxx欧美|欧美浓毛大BBwBBW|精品图区 在线观看免费v=a|国产久一|日本亚洲三级|c=aowo88国产欧美久久|能免费看的=av|97热精品视频官网 | 亚洲日韩精品欧美一区二区一|蜜桃视频在线视频|久久亚洲一区二区三区四区五区|国产女性无套免费看网站|97色久水蜜桃|日本中文字幕=a∨在线观看 | 东北寡妇特级毛片免费|99热精品国产一区二区在线观看|亚洲=aV永久纯肉无码精品动漫|国产成人一区二区三区|午夜=av一区二区|久久久久久久久久久动漫 国产1区在线观看|四房播播成人社区|嫩草影视亚洲|免费毛片在线不卡|久久亚洲精品国产一区最新章节|911免费看片 | 国产一区二区三区久久悠悠色=av|成人免费视频看看|久久国产精品-国产精品|男人J进女人J啪啪无遮挡|成人片黄网站=a毛片免费|久久精品91视频 | 日韩美女啪啪|911久久|国产男女性潮高清免费网站|亚洲国产精品精华液=ab|国产精品视频自拍|毛片在线观看视频 | 青娱乐极品视觉盛宴=av|国产成人=av无码片在线观看|国产网站入口|国产一区二区=av|星空天美mv视频大全免费观看|曰韩一级片 | 日韩免费二区|日韩欧美国产激情在线播放|日本hd高清xxxxvideos|亚洲色偷偷色噜噜狠狠99|亚洲综合p|新版天堂资源中文www连接 | 日本欧美在线观看视频|国产免费观看黄=aV片|男女猛烈无遮挡免费视频|久久久久久18|四虎最新紧急更新地址|久久丝袜 | 日韩性生活一级|日韩久久无码一区二区|欧美胖老太一级毛片|欧美精品一区二区精品久久|国产精品日韩在线观看|亚洲=av线=av无码=av岛国片 | 亚洲精品久久国产精品|亚洲三区精品|麻豆精产一二三产区|午夜嫩草嘿嘿福利777777|亚洲日本久久|亚洲中文无码永久免弗 | 男人视频在线观看|青青青草国产|国产成=a人亚洲精v品无码性色|91深夜|国产chinese精品露脸|日日日日做夜夜夜夜做无码 | 激情欧美综合|野花香日本在线观看免费视频|99re热久久这里只有精品34|亚洲精品久久夜色撩人男男小说|videos少妇|五月综合缴情婷婷六月 国产最新在线观看|久久黄页|在线不卡日本v二区707|成人免费一区二区三区在线观看|欧美又粗又大色情hd堕落街传奇|免费观看全黄做爰的视频 | 欧美日韩不卡一区二区三区|亚洲精品视频久久|少妇欲求不满和邻居在线播放|免费一级片视频|亚洲综合天堂=aV网站在线观看|亚洲=aV无码久久精品播放 | 日本xxxx裸体xxxx出水|日本成人在线网址|成人午夜福利|亚洲精品高清无码视频|欧美成人看片一区二区|欧美第八页 | CHINESE新版少妇嫖妓VIDEOS|老外黄色一级片|天天午夜|欧美不卡影院|精品国产V无码大片在线看|国产免费网址 | 四虎影视8848dd|国产99久久久国产精品|综合视频在线观看|人成在线|国产偷国产偷亚洲高清人白洁|法国一级毛片 | 无码国产精品一区二区VR|欧美精品亚洲精品日韩专区v=a|欧美xxx久久|黄在线观看免费|国产草草草|7777kkk亚洲综合欧美网站 | 一区二区三区视频免费看|久久爱伊人|日本大尺度吃奶做爰久久久绯色|日韩精品视频免费在线观看|亚洲系列一区中文字幕|天堂视频一区二区 | 日本少妇浓毛BBWBBWBBW|久久久久久成人网|亚洲中文有码字幕日本|老妇出水bbw高潮|色偷偷88888欧美精品久久久|日韩午夜精品 | 日日爽天天操|亚洲=aV永久无码精品一区二区|免费精品视频在线观看|日本高清色视频www·com|国产成人麻豆免费观看|色一情一区二 |