使用方法
let emojis = ["馃榾", "馃榿", "馃槀", "馃槂", "馃槃", "馃槄", "馃槅", "馃槆", "馃槇", "馃懣", "馃槈", "馃槉", "馃構", "馃槍", "馃槏", "馃槑", "馃槒", "馃槓", "馃槕", "馃槖", "馃槗", "馃様", "馃槙", "馃槚", "馃槜", "馃槝", "馃槞", "馃槡", "馃槢", "馃槣", "馃槤", "馃槥", "馃槦", "馃槧", "馃槨", "馃槩", "馃槪", "馃槫", "馃槬", "馃槮", "馃槯", "馃槰", "馃槱", "馃槳", "馃槴", "馃槵", "馃槶", "馃槷", "馃槸", "馃槹", "馃槺", "馃槻", "馃槼", "馃槾", "馃樀", "馃樁", "馃樂", "馃樃", "馃樄", "馃樅", "馃樆", "馃樇", "馃樈", "馃樉", "馃樋", "馃檧", "馃懀", "馃懁", "馃懃", "馃懚", "馃懚馃徎", "馃懚馃徏", "馃懚馃徑", "馃懚馃従", "馃懚馃徔", "馃懄", "馃懄馃徎", "馃懄馃徏", "馃懄馃徑", "馃懄馃従", "馃懄馃徔", "馃懅", "馃懅馃徎", "馃懅馃徏", "馃懅馃徑", "馃懅馃従", "馃懅馃徔", "馃懆", "馃懆馃徎", "馃懆馃徏", "馃懆馃徑", "馃懆馃従", "馃懆馃徔", "馃懇", "馃懇馃徎", "馃懇馃徏", "馃懇馃徑", "馃懇馃従", "馃懇馃徔", "馃應", "馃懆鈥嶐煈┾€嶐煈?, "馃懆鈥嶐煈┾€嶐煈р€嶐煈?, "馃懆鈥嶐煈┾€嶐煈︹€嶐煈?, "馃懆鈥嶐煈┾€嶐煈р€嶐煈?, "馃懇鈥嶐煈┾€嶐煈?, "馃懇鈥嶐煈┾€嶐煈?, "馃懇鈥嶐煈┾€嶐煈р€嶐煈?, "馃懇鈥嶐煈┾€嶐煈︹€嶐煈?, "馃懇鈥嶐煈┾€嶐煈р€嶐煈?, "馃懆鈥嶐煈ㄢ€嶐煈?, "馃懆鈥嶐煈ㄢ€嶐煈?, "馃懆鈥嶐煈ㄢ€嶐煈р€嶐煈?, "馃懆鈥嶐煈ㄢ€嶐煈︹€嶐煈?, "馃懆鈥嶐煈ㄢ€嶐煈р€嶐煈?, "馃懌", "馃懍", "馃懎", "馃懐", "馃懓", "馃懓馃徎", "馃懓馃徏", "馃懓馃徑", "馃懓馃従", "馃懓馃徔", "馃懕", "馃懕馃徎", "馃懕馃徏", "馃懕馃徑", "馃懕馃従", "馃懕馃徔", "馃懖", "馃懖馃徎", "馃懖馃徏", "馃懖馃徑", "馃懖馃従", "馃懖馃徔", "馃懗", "馃懗馃徎", "馃懗馃徏", "馃懗馃徑", "馃懗馃従", "馃懗馃徔", "馃懘", "馃懘馃徎", "馃懘馃徏", "馃懘馃徑", "馃懘馃従", "馃懘馃徔", "馃懙", "馃懙馃徎", "馃懙馃徏", "馃懙馃徑", "馃懙馃従", "馃懙馃徔", "馃懏", "馃懏馃徎", "馃懏馃徏", "馃懏馃徑", "馃懏馃従", "馃懏馃徔", "馃懛", "馃懛馃徎", "馃懛馃徏", "馃懛馃徑", "馃懛馃従", "馃懛馃徔", "馃懜", "馃懜馃徎", "馃懜馃徏", "馃懜馃徑", "馃懜馃従", "馃懜馃徔", "馃拏", "馃拏馃徎", "馃拏馃徏", "馃拏馃徑", "馃拏馃従", "馃拏馃徔", "馃懠", "馃懠馃徎", "馃懠馃徏", "馃懠馃徑", "馃懠馃従", "馃懠馃徔", "馃巺", "馃巺馃徎", "馃巺馃徏", "馃巺馃徑", "馃巺馃従", "馃巺馃徔", "馃懟", "馃懝", "馃懞", "馃挬", "馃拃", "馃懡", "馃懢", "馃檱", "馃檱馃徎", "馃檱馃徏", "馃檱馃徑", "馃檱馃従", "馃檱馃徔", "馃拋", "馃拋馃徎", "馃拋馃徏", "馃拋馃徑", "馃拋馃従", "馃拋馃徔", "馃檯", "馃檯馃徎", "馃檯馃徏", "馃檯馃徑", "馃檯馃従", "馃檯馃徔", "馃檰", "馃檰馃徎", "馃檰馃徏", "馃檰馃徑", "馃檰馃従", "馃檰馃徔", "馃檵", "馃檵馃徎", "馃檵馃徏", "馃檵馃徑", "馃檵馃従", "馃檵馃徔", "馃檸", "馃檸馃徎", "馃檸馃徏", "馃檸馃徑", "馃檸馃従", "馃檸馃徔", "馃檷", "馃檷馃徎", "馃檷馃徏", "馃檷馃徑", "馃檷馃従", "馃檷馃徔", "馃拞", "馃拞馃徎", "馃拞馃徏", "馃拞馃徑", "馃拞馃従", "馃拞馃徔", "馃拠", "馃拠馃徎", "馃拠馃徏", "馃拠馃徑", "馃拠馃従", "馃拠馃徔", "馃拺", "馃懇鈥嶁潳锔忊€嶐煈?, "馃懆鈥嶁潳锔忊€嶐煈?, "馃拸", "馃懇鈥嶁潳锔忊€嶐煉嬧€嶐煈?, "馃懆鈥嶁潳锔忊€嶐煉嬧€嶐煈?, "馃檶", "馃檶馃徎", "馃檶馃徏", "馃檶馃徑", "馃檶馃従", "馃檶馃徔", "馃憦", "馃憦馃徎", "馃憦馃徏", "馃憦馃徑", "馃憦馃従", "馃憦馃徔", "馃憘", "馃憘馃徎", "馃憘馃徏", "馃憘馃徑", "馃憘馃従", "馃憘馃徔", "馃憖", "馃憙", "馃憙馃徎", "馃憙馃徏", "馃憙馃徑", "馃憙馃従", "馃憙馃徔", "馃憚", "馃拫", "馃憛", "馃拝", "馃拝馃徎", "馃拝馃徏", "馃拝馃徑", "馃拝馃従", "馃拝馃徔", "馃憢", "馃憢馃徎", "馃憢馃徏", "馃憢馃徑", "馃憢馃従", "馃憢馃徔", "馃憤", "馃憤馃徎", "馃憤馃徏", "馃憤馃徑", "馃憤馃従", "馃憤馃徔", "馃憥", "馃憥馃徎", "馃憥馃徏", "馃憥馃徑", "馃憥馃従", "馃憥馃徔", "鈽?, "鈽濔煆?, "鈽濔煆?, "鈽濔煆?, "鈽濔煆?, "鈽濔煆?, "馃憜", "馃憜馃徎", "馃憜馃徏", "馃憜馃徑", "馃憜馃従", "馃憜馃徔", "馃憞", "馃憞馃徎", "馃憞馃徏", "馃憞馃徑", "馃憞馃従", "馃憞馃徔", "馃憟", "馃憟馃徎", "馃憟馃徏", "馃憟馃徑", "馃憟馃従", "馃憟馃徔", "馃憠", "馃憠馃徎", "馃憠馃徏", "馃憠馃徑", "馃憠馃従", "馃憠馃徔", "馃憣", "馃憣馃徎", "馃憣馃徏", "馃憣馃徑", "馃憣馃従", "馃憣馃徔", "鉁?, "鉁岎煆?, "鉁岎煆?, "鉁岎煆?, "鉁岎煆?, "鉁岎煆?, "馃憡", "馃憡馃徎", "馃憡馃徏", "馃憡馃徑", "馃憡馃従", "馃憡馃徔", "鉁?, "鉁婐煆?, "鉁婐煆?, "鉁婐煆?, "鉁婐煆?, "鉁婐煆?, "鉁?, "鉁嬸煆?, "鉁嬸煆?, "鉁嬸煆?, "鉁嬸煆?, "鉁嬸煆?, "馃挭", "馃挭馃徎", "馃挭馃徏", "馃挭馃徑", "馃挭馃従", "馃挭馃徔", "馃憪", "馃憪馃徎", "馃憪馃徏", "馃憪馃徑", "馃憪馃従", "馃憪馃徔", "馃檹", "馃檹馃徎", "馃檹馃徏", "馃檹馃徑", "馃檹馃従", "馃檹馃徔", "馃尡", "馃尣", "馃尦", "馃尨", "馃尩", "馃尫", "馃尭", "馃尮", "馃尯", "馃尰", "馃尲", "馃拹", "馃尵", "馃尶", "馃崁", "馃崄", "馃崅", "馃崈", "馃崉", "馃尠", "馃悁", "馃悂", "馃惌", "馃惞", "馃悅", "馃悆", "馃悇", "馃惍", "馃悈", "馃悊", "馃惎", "馃悋", "馃惏", "馃悎", "馃惐", "馃悗", "馃惔", "馃悘", "馃悜", "馃悙", "馃悡", "馃悢", "馃悿", "馃悾", "馃惀", "馃惁", "馃惂", "馃悩", "馃惇", "馃惈", "馃悧", "馃悥", "馃惙", "馃惤", "馃悤", "馃惄", "馃惗", "馃惡", "馃惢", "馃惃", "馃惣", "馃惖", "馃檲", "馃檳", "馃檴", "馃悞", "馃悏", "馃惒", "馃悐", "馃悕", "馃悽", "馃惛", "馃悑", "馃惓", "馃惉", "馃悪", "馃悷", "馃悹", "馃悺", "馃悮", "馃悓", "馃悰", "馃悳", "馃悵", "馃悶", "馃惥", "鈿★笍", "馃敟", "馃寵", "鈽€锔?, "鉀咃笍", "鈽侊笍", "馃挧", "馃挦", "鈽旓笍", "馃挩", "鉂勶笍", "馃専", "猸愶笍", "馃尃", "馃寗", "馃寘", "馃寛", "馃寠", "馃寢", "馃寣", "馃椈", "馃椌", "馃寪", "馃實", "馃寧", "馃審", "馃寫", "馃寬", "馃寭", "馃寯", "馃寱", "馃寲", "馃寳", "馃寴", "馃寶", "馃対", "馃寷", "馃寽", "馃尀", "馃崊", "馃崋", "馃尳", "馃崰", "馃崌", "馃崍", "馃崏", "馃崐", "馃崑", "馃崒", "馃崓", "馃崕", "馃崗", "馃崘", "馃崙", "馃崚", "馃崜", "馃崝", "馃崟", "馃崠", "馃崡", "馃崢", "馃崣", "馃崥", "馃崨", "馃崪", "馃崫", "馃崬", "馃崯", "馃崱", "馃崲", "馃崳", "馃崵", "馃崶", "馃崷", "馃崸", "馃崹", "馃崺", "馃崻", "馃崼", "馃崿", "馃嵀", "馃嵁", "馃嵂", "馃嵃", "馃嵄", "馃嵅", "馃嵆", "馃嵈", "馃嵉", "鈽曪笍", "馃嵍", "馃嵎", "馃嵏", "馃嵐", "馃嵑", "馃嵒", "馃嵓", "馃巰", "馃巵", "馃巶", "馃巸", "馃巹", "馃帇", "馃帊", "馃帒", "馃巻", "馃巼", "馃帀", "馃帄", "馃巿", "馃挮", "鉁?, "馃挜", "馃帗", "馃憫", "馃帋", "馃帍", "馃帎", "馃帉", "馃彯", "馃拲", "鉂わ笍", "馃挃", "馃拰", "馃挄", "馃挒", "馃挀", "馃挆", "馃挅", "馃挊", "馃挐", "馃挓", "馃挏", "馃挍", "馃挌", "馃挋", "馃弮", "馃弮馃徎", "馃弮馃徏", "馃弮馃徑", "馃弮馃従", "馃弮馃徔", "馃毝", "馃毝馃徎", "馃毝馃徏", "馃毝馃徑", "馃毝馃従", "馃毝馃徔", "馃拑", "馃拑馃徎", "馃拑馃徏", "馃拑馃徑", "馃拑馃従", "馃拑馃徔", "馃殻", "馃殻馃徎", "馃殻馃徏", "馃殻馃徑", "馃殻馃従", "馃殻馃徔", "馃強", "馃強馃徎", "馃強馃徏", "馃強馃徑", "馃強馃従", "馃強馃徔", "馃弰", "馃弰馃徎", "馃弰馃徏", "馃弰馃徑", "馃弰馃従", "馃弰馃徔", "馃泙", "馃泙馃徎", "馃泙馃徏", "馃泙馃徑", "馃泙馃従", "馃泙馃徔", "馃弬", "馃幙", "鉀勶笍", "馃毚", "馃毚馃徎", "馃毚馃徏", "馃毚馃徑", "馃毚馃従", "馃毚馃徔", "馃毜", "馃毜馃徎", "馃毜馃徏", "馃毜馃徑", "馃毜馃従", "馃毜馃徔", "馃弴", "馃弴馃徎", "馃弴馃徏", "馃弴馃徑", "馃弴馃従", "馃弴馃徔", "鉀猴笍", "馃帲", "鈿斤笍", "馃弨", "馃張", "鈿撅笍", "馃幘", "馃弶", "鉀筹笍", "馃弳", "馃幗", "馃弫", "馃幑", "馃幐", "馃幓", "馃幏", "馃幒", "馃幍", "馃幎", "馃幖", "馃帶", "馃帳", "馃幁", "馃帿", "馃帺", "馃帾", "馃幀", "馃帹", "馃幆", "馃幈", "馃幊", "馃幇", "馃幉", "馃幃", "馃幋", "馃儚", "馃€勶笍", "馃帬", "馃帯", "馃帰", "馃殐", "馃殲", "馃殏", "馃殝", "馃殱", "馃殑", "馃殔", "馃殕", "馃殗", "馃殘", "馃殙", "馃殜", "馃殞", "馃殟", "馃殠", "馃殣", "馃殤", "馃殥", "馃殦", "馃殧", "馃毃", "馃殨", "馃殩", "馃殫", "馃殬", "馃殭", "馃殮", "馃殯", "馃殰", "馃毑", "馃殢", "鉀斤笍", "馃毀", "馃殾", "馃殽", "馃殌", "馃殎", "鉁堬笍", "馃捄", "鈿擄笍", "馃殺", "馃殼", "鉀碉笍", "馃殹", "馃殸", "馃殶", "馃泜", "馃泝", "馃泟", "馃泤", "馃挻", "馃挾", "馃挿", "馃挼", "馃椊", "馃椏", "馃寔", "馃椉", "鉀诧笍", "馃彴", "馃彲", "馃寚", "馃寙", "馃寖", "馃寜", "馃彔", "馃彙", "馃彚", "馃彫", "馃彮", "馃彛", "馃彜", "馃彞", "馃彟", "馃彣", "馃彥", "馃拻", "鉀笍", "馃彧", "馃彨", "馃嚘馃嚭", "馃嚘馃嚬", "馃嚙馃嚜", "馃嚙馃嚪", "馃嚚馃嚘", "馃嚚馃嚤", "馃嚚馃嚦", "馃嚚馃嚧", "馃嚛馃嚢", "馃嚝馃嚠", "馃嚝馃嚪", "馃嚛馃嚜", "馃嚟馃嚢", "馃嚠馃嚦", "馃嚠馃嚛", "馃嚠馃嚜", "馃嚠馃嚤", "馃嚠馃嚬", "馃嚡馃嚨", "馃嚢馃嚪", "馃嚥馃嚧", "馃嚥馃嚲", "馃嚥馃嚱", "馃嚦馃嚤", "馃嚦馃嚳", "馃嚦馃嚧", "馃嚨馃嚟", "馃嚨馃嚤", "馃嚨馃嚬", "馃嚨馃嚪", "馃嚪馃嚭", "馃嚫馃嚘", "馃嚫馃嚞", "馃嚳馃嚘", "馃嚜馃嚫", "馃嚫馃嚜", "馃嚚馃嚟", "馃嚬馃嚪", "馃嚞馃嚙", "馃嚭馃嚫", "馃嚘馃嚜", "馃嚮馃嚦", "鈱氾笍", "馃摫", "馃摬", "馃捇", "鈴?, "鈴?, "鈱涳笍", "馃摲", "馃摴", "馃帴", "馃摵", "馃摶", "馃摕", "馃摓", "鈽庯笍", "馃摖", "馃捊", "馃捑", "馃捒", "馃搥", "馃摷", "馃攱", "馃攲", "馃挕", "馃敠", "馃摗", "馃挸", "馃捀", "馃挵", "馃拵", "馃寕", "馃憹", "馃憶", "馃憸", "馃捈", "馃帓", "馃拕", "馃憮", "馃憭", "馃憽", "馃憼", "馃憿", "馃憺", "馃憻", "馃憴", "馃憲", "馃憳", "馃憵", "馃憰", "馃憯", "馃憱", "馃毆", "馃毧", "馃泚", "馃毥", "馃拡", "馃拤", "馃拪", "馃敩", "馃敪", "馃敭", "馃敡", "馃敧", "馃敥", "馃敤", "馃挘", "馃毈", "馃敨", "馃敄", "馃摪", "馃攽", "鉁夛笍", "馃摡", "馃摠", "馃摟", "馃摜", "馃摛", "馃摝", "馃摨", "馃摦", "馃摢", "馃摣", "馃摤", "馃摥", "馃搫", "馃搩", "馃搼", "馃搱", "馃搲", "馃搳", "馃搮", "馃搯", "馃攨", "馃攩", "馃摐", "馃搵", "馃摉", "馃摀", "馃摂", "馃搾", "馃摃", "馃摋", "馃摌", "馃摍", "馃摎", "馃搰", "馃敆", "馃搸", "馃搶", "鉁傦笍", "馃搻", "馃搷", "馃搹", "馃毄", "馃搧", "馃搨", "鉁掞笍", "鉁忥笍", "馃摑", "馃攺", "馃攼", "馃敀", "馃敁", "馃摚", "馃摙", "馃攬", "馃攭", "馃攰", "馃攪", "馃挙", "馃敂", "馃敃", "馃挱", "馃挰", "馃毟", "馃攳", "馃攷", "馃毇", "鉀旓笍", "馃摏", "馃毞", "馃毌", "馃毘", "馃毐", "馃摰", "馃敒", "馃墤", "馃墣", "馃挳", "銑欙笍", "銑楋笍", "馃埓", "馃埖", "馃埐", "馃埗", "馃垰锔?, "馃埜", "馃埡", "馃埛", "馃埞", "馃埑", "馃垈", "馃垇", "馃埊锔?, "馃捁", "鉂囷笍", "鉁筹笍", "鉂?, "鉁?, "鉁达笍", "馃摮", "馃摯", "馃啔", "馃叞", "馃叡", "馃啂", "馃啈", "馃吘", "馃啒", "馃啍", "馃吙锔?, "馃毦", "馃啋", "馃啌", "馃啎", "馃問", "馃啑", "馃啓", "馃彠", "鈾堬笍", "鈾夛笍", "鈾婏笍", "鈾嬶笍", "鈾岋笍", "鈾嶏笍", "鈾庯笍", "鈾忥笍", "鈾愶笍", "鈾戯笍", "鈾掞笍", "鈾擄笍", "馃毣", "馃毠", "馃毢", "馃毤", "鈾匡笍", "馃毎", "馃毉", "馃毊", "鈻讹笍", "鈼€锔?, "馃敿", "馃斀", "鈴?, "鈴?, "鈴?, "鈴?, "鉃★笍", "猬咃笍", "猬嗭笍", "猬囷笍", "鈫楋笍", "鈫橈笍", "鈫欙笍", "鈫栵笍", "鈫曪笍", "鈫旓笍", "馃攧", "鈫笍", "鈫╋笍", "猡达笍", "猡碉笍", "馃攢", "馃攣", "馃攤", "#鈨?, "0鈨?, "1鈨?, "2鈨?, "3鈨?, "4鈨?, "5鈨?, "6鈨?, "7鈨?, "8鈨?, "9鈨?, "馃敓", "馃敘", "馃敜", "馃敗", "馃敔", "鈩癸笍", "馃摱", "馃帵", "馃敚", "鉃?, "鉃?, "銆?, "鉃?, "鉁栵笍", "鉁旓笍", "馃攦", "鈩?, "漏", "庐", "馃挶", "馃挷", "鉃?, "鉃?, "銆斤笍", "鉂楋笍", "鉂?, "鉂?, "鉂?, "鈥硷笍", "鈦夛笍", "鉂?, "猸曪笍", "馃挴", "馃敋", "馃敊", "馃敍", "馃敐", "馃敎", "馃寑", "鈸傦笍", "鉀?, "馃敮", "馃敯", "馃敱", "鈿狅笍", "鈾笍", "鈾伙笍", "馃挗", "馃挔", "鈾狅笍", "鈾o笍", "鈾ワ笍", "鈾︼笍", "鈽戯笍", "鈿笍", "鈿笍", "馃敇", "馃敶", "馃數", "馃敽", "馃敾", "馃敻", "馃敼", "馃敹", "馃敺", "鈻笍", "鈻笍", "猬涳笍", "猬滐笍", "鈼硷笍", "鈼伙笍", "鈼撅笍", "鈼斤笍", "馃敳", "馃敵", "馃晲", "馃晳", "馃晵", "馃晸", "馃晹", "馃晻", "馃晼", "馃晽", "馃晿", "馃暀", "馃暁", "馃暃", "馃暅", "馃暆", "馃暈", "馃暉", "馃暊", "馃暋", "馃暍", "馃暎", "馃暏", "馃暐", "馃暒", "馃暓"];
const randInt = (min, max) => {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
let rr = randInt(55, 255);
let gg = randInt(55, 255);
let bb = randInt(55, 255);
// store the timeout so we can cancel it if we spin again or change the number of emojis mid-spin
let spinTimeout = false;
function createSpinner(svgElt, slices = 12, list = emojis) {
clearTimeout(spinTimeout);
const percentC = 100 / slices;
const ang = 270 - percentC * 1.8;
const cx = 50;
const cy = 50;
const r = 25;
const sw = 30;
const startAngle = (ang * Math.PI) / 180; // convert to radians
const angle = (percentC / 100) * (2 * Math.PI);
const x = cx + r * Math.cos(startAngle + angle);
const y = cy + r * Math.sin(startAngle + angle);
const largeArc = percentC > 50 ? 1 : 0;
let d = `M ${cx + r * Math.cos(startAngle)} ${cy + r * Math.sin(startAngle)} A ${r} ${r} 0 ${largeArc} 1 ${x} ${y}`;
let textPath = `<defs><path id="wordPath" fill="none" stroke="red" d="M 43 16 q 7 -1 14 0 m -13 6 q 6 -1 12 0 m -11 7 q 5 -1 10 0 m -9 5 q 4 -1 8 0" /></defs>`;
svgElt.insertAdjacentHTML("afterbegin", `<g class="slicesHere"></g>`);
svgElt.insertAdjacentHTML("afterbegin", textPath);
let sidewaysText = false;
let sidewaysTextTransform = "";
let textY = 15;
let textSize = 200 / slices;
if (textSize >= 20) {
textSize = 20;
}
if (slices <= 8) {
textY = 23;
}
if (sidewaysText) {
sidewaysTextTransform = ` transform="rotate(-90 50 25)"`;
textY = 25;
textSize = 2;
}
for (let i = 0; i < slices; i++) {
let sliceColor = `rgb(${((i + 1) * rr) % 255}, ${((i + 1) * gg) % 255}, ${((i + 1) * bb) % 255})`;
let path = `<g transform="rotate(${(360 / slices) * i} ${cx} ${cy})" class="slice" data-value="${i}"><path class="slicePath" d="${d}" stroke="${sliceColor}" stroke-width="${sw}" fill="none"/><text x="50" y="${textY}" font-size="${textSize}" text-anchor="middle" textLength="25" dominant-baseline="middle"${sidewaysTextTransfo