}h1{position:fixed;top:50%;left:0;width:100%;text-align:center;transform:translateY(-50%);font-family:'Love Ya Like A Sister', cursive;font-size:40px;color:#c70012;padding:0 20px;
}h1 span{font-size:20px;
}
varcanvas=document.querySelector("canvas"),
ctx=canvas.getContext("2d");varww,wh;functiononResize(){
ww=canvas.width=window.innerWidth;
wh=canvas.height=window.innerHeight;
}
ctx.strokeStyle= "red";
ctx.shadowBlur= 25;
ctx.shadowColor= "hsla(0, 100%, 60%,0.5)";varprecision= 100;varhearts=[];varmouseMoved= false;functiononMove(e){
mouseMoved= true;if(e.type=== "touchmove"){
hearts.push(newHeart(e.touches[0].clientX, e.touches[0].clientY));
hearts.push(newHeart(e.touches[0].clientX, e.touches[0].clientY));
}else{
hearts.push(newHeart(e.clientX, e.clientY));
hearts.push(newHeart(e.clientX, e.clientY));
}
}varHeart= function(x,y){this.x=x||Math.random()*ww;this.y=y||Math.random()*wh;this.size=Math.random()*2 + 1;this.shadowBlur=Math.random()* 10;this.speedX=(Math.random()+0.2-0.6)* 8;this.speedY=(Math.random()+0.2-0.6)* 8;this.speedSize=Math.random()*0.05 + 0.01;this.opacity= 1;this.vertices=[];for(vari= 0; i
x : (15 *Math.pow(Math.sin(step),3)),
y :-(13 *Math.cos(step)- 5 *Math.cos(2 *step)- 2 *Math.cos(3 *step)-Math.cos(4 *step))
}this.vertices.push(vector);
}
}
Heart.prototype.draw= function(){this.size-= this.speedSize;this.x+= this.speedX;this.y+= this.speedY;
ctx.save();
ctx.translate(-1000,this.y);
ctx.scale(this.size,this.size);
ctx.beginPath();for(vari= 0; i
ctx.lineTo(vector.x, vector.y);
}
ctx.globalAlpha= this.size;
ctx.shadowBlur=Math.round((3 - this.size)* 10);
ctx.shadowColor= "hsla(0, 100%, 60%,0.5)";
ctx.shadowOffsetX= this.x+ 1000;
ctx.globalCompositeOperation= "screen"ctx.closePath();
ctx.fill()
ctx.restore();
};functionrender(a){
requestAnimationFrame(render);
hearts.push(newHeart())
ctx.clearRect(0,0,ww,wh);for(vari= 0; i
hearts[i].draw();if(hearts[i].size<= 0){
hearts.splice(i,1);
i--;
}
}
}
onResize();
window.addEventListener("mousemove", onMove);
window.addEventListener("touchmove", onMove);
window.addEventListener("resize", onResize);
requestAnimationFrame(render);
window.οnlοad=functionstarttime(){
time(h1,'2017/7/4');//在一起的时间
ptimer=setTimeout(starttime,1000);//添加计时器
}functiontime(obj,futimg){varnowtime= newDate().getTime();//现在时间转换为时间戳
varfutruetime= newDate(futimg).getTime();//未来时间转换为时间戳
varmsec=nowtime-futruetime;//毫秒 未来时间-现在时间
vartime=(msec/1000);//毫秒/1000
varday=parseInt(time/86400);//天24*60*60*1000
varhour=parseInt(time/3600)-24*day;//小时60*60总小时数-过去的小时数=现在的小时数varminute=parseInt(time%3600/60);//分-(day*24) 以60秒为一整份 取余 剩下秒数 秒数/60 就是分钟数
varsecond=parseInt(time%60);//以60秒为一整份 取余 剩下秒数//console.log(hour+":"+minute+":"+second)//alert(hour)
obj.innerHTML="亲爱的
咱俩在一起的时间已经:
"+day+"天"+hour+"小时"+minute+"分"+second+"秒"+"了一时间不知道从哪说起,真爱来了,我们要好好把握。
不管面临多大的压力,不管前面的路如何崎岖.
不管经历过什么,我仍坚信最浪漫的事就是和你一起慢慢变老.
相信中间的计时器,将永远继续下去,直至数据溢出."
return true;
}