CSS3+React来实现微信拆红包动画的示例
微信红包曾经引爆过一系列的营销热潮,相信大家对于这种红包形式并不陌生,这里本着娱乐至上的精神用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); }
<p class='redpack'> <!-- 红包的顶部盖子 --> <p class="topcontent"></p> <!-- 拆红包的按钮 --> <p id="redpack-open"></p> </p>
在线Demo演示: https://jsbin.com/sawaxid/edi...
用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 ( <p className='redpack-container' id='redpack-container'> <p className='redpack'> <p className='topcontent'> <p id='redpack-opened'> <p className='redpack-avatar'> <img src='http://placehold.it/80x80' alt='头像' width='80' height='80'/> </p> </p> <h2 style={{marginTop: 80, color: 'white'}}>奖励</h2> <span className='redpack-text'>点击下方按钮领取红包</span> <p className='redpack-description white-text'>恭喜发财 大吉大利</p> </p> <p id='redpack-open' className={this.state.animation ? 'rotate' : ''} onClick={this.openRedPacket.bind(this)} > <span>拆红包</span> </p> </p> </p> ); } else if (bonus == 0) { // 谢谢参与 return ( <p className='redpack-container' id='redpack-container'> <p className='redpack'> <p className='topcontent-open'> <p className='redpack-avatar'> <span id='close'></span> </p> <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> </p> <p id='redpack-opened'> <p className='redpack-avatar'> <img src='http://placehold.it/80x80' alt='头像' width='80' height='80'/> </p> </p> </p> </p> ); } else { // 显示奖励金额 return ( <p className='redpack-container' id='redpack-container'> <p className='redpack'> <p className='topcontent-open'> <p className='redpack-avatar'> <span id='close'></span> </p> <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> </p> <p id='redpack-opened'> <p className='redpack-avatar'> <img src='http://placehold.it/80x80' alt='头像' width='80' height='80'/> </p> </p> </p> </p> ); } } 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;
Atas ialah kandungan terperinci CSS3+React来实现微信拆红包动画的示例 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



DeepSeek: Alat Generasi Imej AI yang kuat! DeepSeek sendiri bukan alat penjanaan imej, tetapi teknologi terasnya yang kuat memberikan sokongan yang mendasari untuk banyak alat lukisan AI. Ingin tahu cara menggunakan DeepSeek untuk menjana imej secara tidak langsung? Sila teruskan membaca! Menjana imej dengan alat AI berasaskan DeepSeek: Langkah-langkah berikut akan membimbing anda untuk menggunakan alat ini: Lancarkan alat lukisan AI: Cari dan buka alat lukisan AI berasaskan Deepseek (contohnya, cari "AI Simple"). Pilih Mod Lukisan: Pilih "Lukisan AI" atau fungsi yang serupa, dan pilih Jenis Imej mengikut keperluan anda, seperti "Anime Avatar", "Landskap"

Gate.io, sebuah platform perdagangan cryptocurrency terkemuka yang ditubuhkan pada tahun 2013, menyediakan pengguna Cina dengan laman web rasmi Cina yang lengkap. Laman web ini menyediakan pelbagai perkhidmatan, termasuk perdagangan tempat, perdagangan niaga hadapan dan pinjaman, dan menyediakan ciri khas seperti antara muka Cina, sumber yang kaya dan sokongan masyarakat.

Platform perdagangan OKX menawarkan pelbagai kadar, termasuk yuran transaksi, yuran pengeluaran dan yuran pembiayaan. Untuk urus niaga tempat, yuran urus niaga berbeza -beza mengikut jumlah urus niaga dan tahap VIP, dan mengamalkan "model pembuat pasaran", iaitu, pasaran mengenakan bayaran pengendalian yang lebih rendah untuk setiap transaksi. Di samping itu, OKX juga menawarkan pelbagai kontrak niaga hadapan, termasuk kontrak standard mata wang, kontrak USDT dan kontrak penghantaran, dan struktur yuran setiap kontrak juga berbeza.

Saluran muat turun aplikasi gerbang untuk versi lama, meliputi pasaran aplikasi rasmi, pihak ketiga, komuniti forum dan saluran lain.

Vue.js sesuai untuk projek kecil dan sederhana dan lelaran yang cepat, sementara React sesuai untuk aplikasi besar dan kompleks. 1) Vue.js mudah digunakan dan sesuai untuk situasi di mana pasukan tidak mencukupi atau skala projek kecil. 2) React mempunyai ekosistem yang lebih kaya dan sesuai untuk projek dengan prestasi tinggi dan keperluan fungsional yang kompleks.

Gate.io (Pintu Terbuka Sesame) adalah platform perdagangan cryptocurrency terkemuka di dunia. Tutorial ini meliputi langkah -langkah seperti pendaftaran akaun dan log masuk, pensijilan KYC, mata wang fiat dan mata wang digital, pemilihan pasangan dagangan, pesanan urus niaga/pasaran, dan pesanan dan rekod transaksi melihat, membantu anda memulakan platform GATE.IO untuk perdagangan cryptocurrency. Sama ada pemula atau veteran, anda boleh mendapat manfaat daripada tutorial ini dan mudah menguasai kemahiran perdagangan Gate.io.

Artikel ini menyediakan panduan terperinci untuk muat turun selamat aplikasi OUYI OKX di China. Oleh kerana sekatan ke kedai aplikasi domestik, pengguna dinasihatkan untuk memuat turun aplikasi melalui laman web rasmi OUYI OKX, atau menggunakan kod QR yang disediakan oleh laman web rasmi untuk mengimbas dan memuat turun. Semasa proses muat turun, pastikan anda mengesahkan alamat laman web rasmi, periksa kebenaran aplikasi, lakukan imbasan keselamatan selepas pemasangan, dan membolehkan pengesahan dua faktor. Semasa penggunaan, sila mematuhi undang -undang dan peraturan tempatan, gunakan persekitaran rangkaian yang selamat, melindungi keselamatan akaun, berhati -hati terhadap penipuan, dan melabur secara rasional. Artikel ini hanya untuk rujukan dan tidak menjadi nasihat pelaburan.

H5. Perbezaan utama antara program mini dan aplikasi ialah: Senibina Teknikal: H5 adalah berdasarkan teknologi web, dan program mini dan aplikasi adalah aplikasi bebas. Pengalaman dan Fungsi: H5 adalah ringan dan mudah digunakan, dengan fungsi terhad; Program mini adalah ringan dan mempunyai interaktif yang baik; Aplikasi berkuasa dan mempunyai pengalaman yang lancar. Keserasian: H5 adalah serasi, aplikasinya dan aplikasinya yang serasi dengan platform. Kos Pembangunan: H5 mempunyai kos pembangunan yang rendah, program mini sederhana, dan aplikasi tertinggi. Senario yang berkenaan: H5 sesuai untuk paparan maklumat, applet sesuai untuk aplikasi ringan, dan aplikasi sesuai untuk fungsi kompleks.
