前幾天壹個朋友找到我,他說他女朋友馬上過生日,於是想問問我能不能寫壹個生日祝福代碼。好兄弟的請求當然不能拒絕,直接安排!!
於是我用html寫了壹個簡單的頁面:點開後會顯示來到這個世界多長時間和祝福話語,下滑後是自轉相冊(有背景音樂)。
原文鏈接:
html生日快樂代碼
核心代碼(不是完整代碼):
#head
{
width:100%;
height:100%;
position: absolute;
-webkit-transform-style: preserve-3d;
-webkit-animation:donghua 15s linear 0s infinite;
-moz-transform-style: preserve-3d;
-moz-animation:donghua 15s linear 0s infinite;
-ms-transform-style: preserve-3d;
-ms-animation:donghua 25s linear 0s infinite;
}
#head div
{
position: absolute;
top:0;
left:0;
width:300px;
height:400px;
border:1px solid #000
text-align: center;
line-height:100px;
}
#head div:nth-child(1)
{
-webkit-transform:rotateY(0deg) translateZ(400px);
-moz-transform:rotateY(0deg) translateZ(400px);
-ms-transform:rotateY(0deg) translateZ(400px);
background:url(images/01.png);
background-size:cover;
}12345678910111213141516171819202122232425262728293031
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 (var i = 0; i < precision; i++) {
var vector = this.vertices[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();
};
function render(a){
requestAnimationFrame(render);
hearts.push(new Heart())
ctx.clearRect(0,0,ww,wh);
for (var i = 0; i < hearts.length; 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=function starttime(){
time(h1,'2000,1,1'); // 出生時間
ptimer = setTimeout(starttime,1000); // 添加計時器
}
function time(obj,futimg){
var nowtime = new Date().getTime(); // 現在時間轉換為時間戳
var futruetime = ?new Date(futimg).getTime(); // 未來時間轉換為時間戳
var msec = nowtime-futruetime; // 毫秒 未來時間-現在時間
var time = (msec/1000); ?// 毫秒/1000
var day = parseInt(time/86400); // 天 ?24*60*60*1000
var hour = parseInt(time/3600)-24*day; // 小時 60*60 總小時數-過去的小時數=現在的小時數
var minute = parseInt(time%3600/60); // 分 -(day*24) 以60秒為壹整份 取余 剩下秒數 秒數/60 就是分鐘數
var second = parseInt(time%60); ?// 以60秒為壹整份 取余 剩下秒數
obj.innerHTML="陳陳<br>妳已經來到這個世界:<br>"+day+"天"+hour+"小時"+minute+"分"+second+"秒"+"了<br><span>今日是妳的生日,願所有的快樂、所有的幸福、所有的溫馨、所有的好運圍繞在妳身邊。生日快樂!</span><p>下<br>滑<br>有<br>驚<br>喜</p>"
return true;
}1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
效果如下:
這裏面的文字可以自行修改,並且時間是會壹直走動的,出生時間改成妳女朋友的。
下滑後有自轉照片:
照片可以自己換哦。
補充:
很多朋友想手機端打開文件,那就需要換圖片的地址和音頻的地址(妳可以發壹個僅自己可見的說說,然後就可以生成圖片的鏈接地址了),此時只需要發html文件就可以用手機瀏覽器打開了。
上圖的地址換成圖片的鏈接網址(壹***十個)。
對於音頻文件,我這裏提供壹個鏈接(可能過期):/upload/dance/20200305/D1E8DB5EB16A57732BDD636C759DA034.mp3
上圖的地址換成音頻的鏈接網址。
大家可以網上找音樂外鏈。
如果是特定的音頻錄音,可以用這個方法:利用郵箱附件的形式,比如QQ郵箱,給自己發壹封郵件,把音樂以附件的形式附帶在上面,收信的時候用來下載附件的那個地址,就是歌曲的下載鏈接了。
完整項目:
裏面有我自己找的十張照片和兩個背景音樂(可以換成自己的錄音),另外還有使用說明。
完整項目地址:html生日快樂代碼