<template><div><divid="lovesBgc"></div><!--點擊biubiubiu小心心start--><divv-for="(item,index) in loves"v-bind:key="index"v-bind:ref="loves[index].count"class="img"v-bind:style="item.top+item.left+item.scale+item.opacity"><divclass="left"v-bind:style="item.childBgc"></div><divclass="right"v-bind:style="item.childBgc"></div><divclass="under"v-bind:style="item.childBgc"></div><divclass="text">{{text[loves[index].textIndex]}}</div></div><!--點擊biubiubiu小心心stop--><!--上升氣泡start--><divclass="bubbels"><divv-for="(item,index) in bubbles"v-bind:key="index"class="bubble"v-bind:style="item.color+item.width+item.height+item.left+item.delay+item.duration"></div></div><!--上升氣泡stop--></div></template><script>exportdefault{data(){consttext=["xxx~","我喜歡你~","我愛你~","哎呀呀~","mua~","大美女","想你","咦~"];constloves=[];constbubbles=[];//count:1,top:'200px',left:'200px',translateY:'-40px',transform:0.5,opacity:0.5return{text:text,//小心心上邊顯示的文字textIndex:0,//小心心數(shù)組下標loves:loves,//小心心樣式count:0,//創(chuàng)建元素個數(shù)bubbles:bubbles}},methods:{//創(chuàng)建小心心createLoves(event){letx=0;lety=0;letindex=0;//text文本下標letcolor="background-color:rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+");";index=Math.floor(Math.random()*this.text.length);console.log(this.text[index]);//alert(this.$el);x=event.clientX-10;y=event.clientY-17;//alert(event.clientX);console.log('x:'+x+' y:'+y+' color:'+color);letstyle={count:'img'+++this.count,//top:'top:'+y+'px;',left:'left:'+x+'px;',opacity:'opacity:'+0.5+';',childBgc:color,textIndex:index,scale:'transform: scale('+1+');',//scale:'left:'+1};this.loves.push(style);//在點擊鼠標時更新一次泡泡的位置this.updateBubble();},removeSmallHert(){this.loves[this.count-1].opacity='opacity:'+0+';',this.loves[this.count-1].scale='transform:translateY('+-80+'px) scale('+0.5+');'},createBubble(){letleft=[10,20,35,50,55,65,75,80,70,85,77];letwh=[40,20,50,80,35,45,25,80,15,50,77];letduration=[8,5,10,7,6,8,7,6,9,5,8];letdelay=[0,1,1,0,0,0,2,1,0,3,2];letcolor="rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")";letbubble={}for(vari=0;i<11;i++){console.log(wh[i]);bubble={left:'left:'+Math.floor((Math.random()*80)+10)+'%;',width:'width:'+wh[i]+'px;',color:'background-color:'+color+';',height:'height:'+wh[i]+'px;',delay:'animation-delay:'+delay[i]+'s;',duration:'animation-duration:'+duration[i]+'s;',}console.log('bubble'+bubble.color);this.bubbles.push(bubble);//使用隨機生成位置,但是顯然具有不可控性//wh=Math.floor((Math.random())*65+15);//left=Math.floor((Math.random())*75+15);//duration=Math.floor(Math.random()*11)%6+5;//delay=Math.floor((Math.random()*6)%3+1)*Math.floor(Math.random()*2)%2;color="rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")";//this.sleep(1000);console.log(i+'size:'+this.bubbles.length)}},updateBubble(){//更新泡泡的位置leta=Math.floor(Math.random()*80)+10;this.bubbles[Math.floor(Math.random()*11)].left='left:'+a+'%';}},beforeMount(){this.createBubble()}}</script><style>#lovesBgc{position:absolute;/*background-color:bisque;*//*background-image:radial-gradient(#243949,#517fa4);*/background:linear-gradient(#fff1eb,#ace0f9);top:0;left:0;width:100%;height:100%;overflow:hidden;position:absolute;width:100%;height:100%;z-index:0;overflow:hidden;top:0;left:0;z-index:-1;}/*biubiubiu小心心start*/.img{width:20px;height:20px;opacity:1;position:absolute;z-index:1000;transition:2.5s;float:left;}.left,.right{width:10px;height:10px;border-radius:100%;position:absolute;}.right{right:0;}.under{width:10px;height:10px;position:absolute;top:5px;left:5px;transform:rotate(45deg)}.text{width:50px;font-size:10px;line-height:1;position:absolute;top:-1em;left:-15px;text-align:center;}/*biubiubiu小心心stop*//*下邊都是泡泡start*/.bubble{position:absolute;bottom:0;border-radius:50%;/*opacity屬性設(shè)置元素的不透明級別。默認值:1繼承性:no版本:CSS3JavaScript語法:object.style.opacity=0.5*/opacity:0.2;z-index:999;animation:flying10sinfiniteease-in;}.bubble:nth-child(odd){animation:flyingOdd10sinfiniteease-in;}.bubble:nth-child(even){animation:flyingEven10sinfiniteease-in;}@keyframesflyingEven{0%{bottom:0px;transform:translateX(0);}25%{transform:translateX(-200px);}50%{transform:translateX(0);}100%{bottom:1080px;/*transform:rotateX(0);*/transform:translateX(150px);}}@keyframesflyingOdd{0%{bottom:0px;transform:translateX(0);}25%{transform:translateX(50px);}50%{transform:translateX(-50px);}75%{transform:translateX(-80px);}100%{bottom:1080px;/*transform:rotateX(0);*/transform:translateX(180px);}}</style>