亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

用React加CSS3實現微信拆紅包動畫效果

2024-07-11 08:58:17
字體:
來源:轉載
供稿:網友

微信紅包曾經引爆過一系列的營銷熱潮,相信大家對于這種紅包形式并不陌生,這里本著娛樂至上的精神用React簡單地實現了拆紅包的動畫效果,供大家一起交流學習

用CSS3繪制紅包

.redpack {  height: 450px;  background: #A5423A;  width: 300px;  left: 0;  top: 0;  border-radius: 10px;  margin: 0 auto;}.topcontent {    height: 300px;    border: 1px solid #BD503A;    background-color: #BD503A;    border-radius: 10px 10px 50% 50% / 10px 10px 15% 15%;    box-shadow: 0px 4px 0px -1px rgba(0,0,0,0.2);}#redpack-open {    width: 100px;    height: 100px;    border: 1px solid #FFA73A;    background-color: #FFA73A;    border-radius: 50%;    color: #fff;    font-size: 20px;    display: inline-block;    margin-top: -50px;    box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.2);}
<div class='redpack'>  <!--  紅包的頂部蓋子 -->  <div class="topcontent"></div>  <!-- 拆紅包的按鈕 -->  <div id="redpack-open"></div></div>

效果如圖:

用React來區分不同的狀態的轉換

用React.js來實現的話,主要通過判斷state來控制紅包現在是等待拆開還是已經拆開過,具體的代碼如下

import React from 'react';class ReadPacket extends React.Component {    constructor(props) {        super(props);        this.state = {            animation: false,            status: 0  // 0: 等待拆開 1: 拆開后        };    }    render() {        var bonus = this.props.thanks ? 0 : parseFloat(this.props.surveyInfo.bonus);        if(this.state.status == 0) {            return (                <div className='redpack-container' id='redpack-container'>                    <div className='redpack'>                        <div className='topcontent'>                            <div id='redpack-opened'>                              <div className='redpack-avatar'>                                <img src='http://placehold.it/80x80' alt='頭像' width='80' height='80'/>                              </div>                            </div>                            <h2 style={{marginTop: 80, color: 'white'}}>獎勵</h2>                            <span className='redpack-text'>點擊下方按鈕領取紅包</span>                            <div className='redpack-description white-text'>恭喜發財 大吉大利</div>                        </div>                        <div id='redpack-open' className={this.state.animation ? 'rotate' : ''}                             onClick={this.openRedPacket.bind(this)}                        >                            <span>拆紅包</span>                        </div>                    </div>                </div>            );        } else if (bonus == 0) {            // 謝謝參與            return (                <div className='redpack-container' id='redpack-container'>                    <div className='redpack'>                        <div className='topcontent-open'>                            <div className='redpack-avatar'>                                <span id='close'></span>                            </div>                            <h1 style={{marginTop: 180, color: 'white'}}> 謝謝參與 </h1>                            <span className='redpack-text'>多多參與的獎勵的機會更多哦</span>                            <br/>                            <a onClick={this._toWallet.bind(this)}                               style={{cursor:'pointer',textDecoration: 'underline', color: 'white'}}>                                去我的賬戶查看                            </a>                        </div>                        <div id='redpack-opened'>                          <div className='redpack-avatar'>                            <img src='http://placehold.it/80x80' alt='頭像' width='80' height='80'/>                          </div>                        </div>                    </div>                </div>            );        } else {            // 顯示獎勵金額            return (                <div className='redpack-container' id='redpack-container'>                    <div className='redpack'>                        <div className='topcontent-open'>                            <div className='redpack-avatar'>                                <span id='close'></span>                            </div>                            <h1 className='white-text' style={{marginTop: 180}}> {bonus.toFixed(2)} </h1>                            <span className='redpack-text'>獎勵積分已經存入您的賬戶</span>                            <a className='btn-flat white-text' onClick={this._toWallet.bind(this)}                               style={{textDecoration: 'underline'}}>                                去我的賬戶查看積分                            </a>                        </div>                        <div id='redpack-opened'>                          <div className='redpack-avatar'>                            <img src='http://placehold.it/80x80' alt='頭像' width='80' height='80'/>                          </div>                        </div>                    </div>                </div>            );        }    }    stopAnimation() {        this.setState({animation: false});    }    showResult() {        this.setState({status: 1});    }    openRedPacket() {        this.setState({animation: true});        setTimeout(this.stopAnimation.bind(this), 3000);        setTimeout(this.showResult.bind(this), 4000);    }    _toWallet() {      // 跳轉到錢包      window.location.hash = '/wallet';    }}export default ReadPacket;

demo下載地址:redpacket_jb51.rar

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产高清视频一区三区| 国产精品日韩在线| 成人黄色片网站| 久久久久久久久久久av| 国产欧美日韩精品在线观看| 亚洲级视频在线观看免费1级| 4444欧美成人kkkk| 亚洲综合小说区| 在线免费观看羞羞视频一区二区| 久久精品久久久久| 欧美成人免费va影院高清| 日本三级久久久| 欧美在线视频a| 欧美日韩国产123| 国产精品日韩在线| 国产精品视频网| 国产欧美一区二区| 在线播放国产一区中文字幕剧情欧美| 久久久久久久影视| 欧美日韩一区二区在线播放| 九九久久久久99精品| 久久久亚洲福利精品午夜| 久久久精品在线观看| 欧美在线免费视频| 午夜精品国产精品大乳美女| 精品国产91久久久久久老师| 性色av一区二区三区免费| 狠狠躁夜夜躁人人爽天天天天97| 亚洲午夜未满十八勿入免费观看全集| 正在播放国产一区| 欧美高清激情视频| 久久久精品国产一区二区| 欧美性少妇18aaaa视频| 国产精品麻豆va在线播放| 亚洲精品网站在线播放gif| 亚洲网址你懂得| 亚州欧美日韩中文视频| 欧美成人精品在线观看| 欧美精品第一页在线播放| 91网在线免费观看| 韩国日本不卡在线| 精品爽片免费看久久| 精品国偷自产在线| 亚洲石原莉奈一区二区在线观看| 欧美极品美女电影一区| 亚洲欧美激情另类校园| 日韩av免费在线看| 欧美在线中文字幕| 日韩大片免费观看视频播放| 日韩中文有码在线视频| 久久中文字幕在线| 2019中文字幕在线| 成人免费看片视频| 亚洲qvod图片区电影| 91免费电影网站| 久久最新资源网| 欧美老女人www| 成人国产精品一区| 国产精品影片在线观看| 日韩中文字幕视频在线观看| 久久精品99国产精品酒店日本| 国产中文日韩欧美| 在线视频国产日韩| 日韩av不卡电影| 亚洲欧美日韩国产成人| 国产精品高清在线观看| 91日本视频在线| 国产精品男人爽免费视频1| 亚洲一区二区三区毛片| 国产亚洲欧洲高清| 久久影院免费观看| 色噜噜国产精品视频一区二区| 午夜精品国产精品大乳美女| 国产精品白嫩美女在线观看| 中文字幕v亚洲ⅴv天堂| 91中文字幕在线观看| 成人精品在线观看| 亚洲人成网站色ww在线| 北条麻妃在线一区二区| 日韩二区三区在线| wwwwwwww亚洲| 国产精品成人aaaaa网站| 欧洲日本亚洲国产区| 精品久久久久久久久久久| 欧美日韩国产综合视频在线观看中文| 欧美高清视频在线播放| 欧美国产日韩一区| 亚洲激情第一页| 亚洲free嫩bbb| 国产精品jvid在线观看蜜臀| 日韩av综合网| 日本成熟性欧美| 亚洲a一级视频| 综合国产在线观看| 尤物yw午夜国产精品视频明星| 久久久精品在线观看| 亚洲欧美国产另类| 成人欧美一区二区三区在线湿哒哒| 亚洲免费人成在线视频观看| 久久人91精品久久久久久不卡| 国产香蕉97碰碰久久人人| 欧美亚洲另类激情另类| 成人免费观看网址| 韩国v欧美v日本v亚洲| 欧美日韩一区二区免费视频| 免费99精品国产自在在线| 精品国产欧美成人夜夜嗨| 国产精品老女人视频| 国产欧美一区二区三区在线看| 北条麻妃久久精品| 亚洲精品www| 亚洲国产日韩欧美综合久久| 日本欧美爱爱爱| 97香蕉久久夜色精品国产| 日韩精品欧美国产精品忘忧草| 国产精品久久久久影院日本| 国产日韩欧美影视| 国产精品视频内| 久久久久九九九九| 亚洲a级在线播放观看| 狠狠躁天天躁日日躁欧美| 久久久久一本一区二区青青蜜月| 国产成人在线视频| 国产精品成人免费视频| 亚洲免费一级电影| 91成人性视频| 国产黑人绿帽在线第一区| 久久久久久久久久久久久久久久久久av| 国产不卡av在线免费观看| 韩国精品美女www爽爽爽视频| 国产亚洲欧美日韩美女| 日韩av网站在线| 久久国产精品亚洲| 欧美夫妻性生活视频| 国语自产精品视频在线看| 自拍偷拍亚洲欧美| 亚洲第一页自拍| 亚洲国产小视频在线观看| 最好看的2019的中文字幕视频| 亚州精品天堂中文字幕| 综合136福利视频在线| 92福利视频午夜1000合集在线观看| 午夜伦理精品一区| 91精品久久久久久久久久另类| 在线观看日韩欧美| 一级做a爰片久久毛片美女图片| 久久五月天色综合| 岛国av一区二区三区| 亚洲深夜福利网站| 性色av一区二区三区在线观看| 国产精品久久久久久久久男| 亚洲国产成人精品久久久国产成人一区| 精品人伦一区二区三区蜜桃免费| 日本视频久久久| 成人欧美一区二区三区黑人孕妇| 日本久久久久亚洲中字幕| 亚洲激情视频在线观看| 成人激情视频免费在线| 国产精品一区二区三区成人| 97视频在线观看网址| 日韩免费高清在线观看| 福利微拍一区二区| 国产成人精品999| 亚洲精选一区二区|