Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7emgmcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICZsdDttZXRhIGNoYXJzZXQ9JnF1b3Q7VVRGLTgmcXVvdDsgLyZndDsKICAmbHQ7bWV0YSBuYW1lPSZxdW90O3ZpZXdwb3J0JnF1b3Q7IGNvbnRlbnQ9JnF1b3Q7d2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCZxdW90OyAvJmd0OwogICZsdDt0aXRsZSZndDvnu5nkvaDnmoTkuJPlsZ7niLHlv4PinaTvuI8mbHQ7L3RpdGxlJmd0OwogICZsdDtzdHlsZSZndDsKICAgIGJvZHkgewogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBtYXJnaW46IDA7CiAgICAgIGJhY2tncm91bmQ6IzExMTQyMjsKICAgICAgZm9udC1mYW1pbHk6ICZxdW90O1J1c3NvIE9uZSZxdW90OywgYXJpYWwsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAudHlwZV93b3JkcyB7CiAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgYm90dG9tOiA4JTsKICAgICAgbGVmdDogNTAlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgIHdpZHRoOiA5MCU7CiAgICAgIG1heC13aWR0aDo0MDBweDsKICAgICAgY29sb3I6ICNmMWRhZGI7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZToxOHB4OwogICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKICAgIH0KICAgICNkaXZTbm93ewogICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgcG9pbnRlci1ldmVudHM6bm9uZTsKICAgIH0KICAgIC5oaWRlX2J1dHRvbXsKICAgICAgZGlzcGxheTpub25lOwogICAgfQogICZsdDsvc3R5bGUmZ3Q7CiZsdDsvaGVhZCZndDsKJmx0O2JvZHkmZ3Q7CgogICZsdDthdWRpbyBpZD0mcXVvdDthdWRpb0RvbSZxdW90OyBzcmM9JnF1b3Q7aHR0cHM6Ly9zLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5jLmNvbS9vYmovaWVzLW11c2ljLzcxNzA1MzQ0MzE4MDE4MzgzNjcubXAzJnF1b3Q7IHByZWxvYWQ9JnF1b3Q7YXV0byZxdW90OyBsb29wJmd0OwoKICAmbHQ7ZGl2IGNsYXNzPSZxdW90O3R5cGVfd29yZHMmcXVvdDsgaWQ9JnF1b3Q7Y29udGVudHMmcXVvdDsmZ3Q7Jmx0Oy9kaXYmZ3Q7CiAgJmx0O2RpdiBpZD0mcXVvdDtkaXZTbm93JnF1b3Q7Jmd0OyZsdDsvZGl2Jmd0OwoKJmx0O3NjcmlwdCBzcmM9JnF1b3Q7aHR0cHM6Ly9jLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5zLmNvbS9qcXVlcnkvMy4zLjEvanF1ZXJ5Lm1pbi5qcyZxdW90OyZndDsmbHQ7L3NjcmlwdCZndDsKJmx0O3NjcmlwdCZndDsKICAgIGZ1bmN0aW9uIG11c2ljUGxheShpc1BsYXkpIHsKICAgICAgdmFyIG1lZGlhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2F1ZGlvRG9tJyk7CiAgICAgIGlmIChpc1BsYXkgJmFtcDsmYW1wOyBtZWRpYS5wYXVzZWQpIHsKICAgICAgICBtZWRpYS5wbGF5KCkuY2F0Y2goZT0mZ3Q7e30pOwogICAgICB9CiAgICAgIGlmICghaXNQbGF5ICZhbXA7JmFtcDsgIW1lZGlhLnBhdXNlZCkgewogICAgICAgIG1lZGlhLnBhdXNlKCk7CiAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIG11c2ljSW5Ccm93c2VySGFuZGxlcigpIHsKICAgICAgbXVzaWNQbGF5KHRydWUpCiAgICB9CiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBtdXNpY0luQnJvd3NlckhhbmRsZXIpOwogICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIG11c2ljSW5Ccm93c2VySGFuZGxlcik7CgogICAgZnVuY3Rpb24gc3RhcnQoKSB7CiAgICAgIGNvbnN0IHRleHQgPSBbCiAgICAgICAgJnF1b3Q75LqO5oiR6ICM6KiA77yM5L2g5piv5pyA5aW95LiU5piv5ZSv5LiA4p2k77iPJnF1b3Q7LAogICAgICAgICZxdW90O+Wunei0ne+8jOawuOi/nOeIseS9oOKdpO+4jyZxdW90OwogICAgICBdCiAgICAgIGxldCBzdHIgPSB0ZXh0LmpvaW4oJyZsdDticiZndDsmbHQ7YnImZ3Q7JykKICAgICAgbGV0IHN0cl8gPSAnJwogICAgICBsZXQgaSA9IDAKICAgICAgbGV0IGNvbnRlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudHMnKQogICAgICBsZXQgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9Jmd0OyB7CiAgICAgICAgaWYgKHN0cl8ubGVuZ3RoICZsdDsgc3RyLmxlbmd0aCkgewogICAgICAgICAgc3RyXyArPSBzdHJbaSsrXQogICAgICAgICAgY29udGVudC5pbm5lckhUTUwgPSAnJmx0O3AmZ3Q7JyArIHN0cl8gKyAnJmx0O3NwYW4gY2xhc3M9JnF1b3Q7eHgmcXVvdDsgc3R5bGU9JnF1b3Q7b3BhY2l0eTogMTtjb2xvcjogcmVkOyZxdW90OyZndDvinaQmbHQ7L3NwYW4mZ3Q7Jmx0Oy9wJmd0OycKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcikKICAgICAgICAgIGNvbnRlbnQuaW5uZXJIVE1MID0gJyZsdDtwJmd0OycgKyBzdHJfICsgJyZsdDsvcCZndDsnCiAgICAgICAgfQogICAgICB9LCAxMDApCiAgICB9CiAgICBzZXRUaW1lb3V0KCgpID0mZ3Q7IHsKICAgICAgc3RhcnQoKTsKICAgIH0sIDEwMDApOwombHQ7L3NjcmlwdCZndDsKCiZsdDtzY3JpcHQmZ3Q7CiEoZnVuY3Rpb24oYSl7YS5mbi53ZWJzbm93anE9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gcSgpeyhqPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd3ZWJzbm93anFjYW4nK2QpKSwoaz1qLmdldENvbnRleHQoJzJkJykpLChsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpKSwobT1sLmdldENvbnRleHQoJzJkJykpLChtLmNhbnZhcy53aWR0aD1rLmNhbnZhcy53aWR0aCksKG0uY2FudmFzLmhlaWdodD1rLmNhbnZhcy5oZWlnaHQpLChvPXNldEludGVydmFsKHIsMjAwKSksdCgpLHNldEludGVydmFsKHYsMzApLGEod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXthKCcjd2Vic25vd2pxY2FuJytkKS5vZmZzZXQoe3RvcDphKGMpLm9mZnNldCgpLnRvcCxsZWZ0OmEoYykub2Zmc2V0KCkubGVmdCx9KX0pfWZ1bmN0aW9uIHIoKXsobltuLmxlbmd0aF09bmV3IHMoKSksbi5sZW5ndGg9PXAuc25vd0ZsYWtlcyZhbXA7JmFtcDtjbGVhckludGVydmFsKG8pfWZ1bmN0aW9uIHMoKXsodGhpcy54PU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSprLmNhbnZhcy53aWR0aCkpLCh0aGlzLnk9LTEwKSwodGhpcy5zcGVlZD1NYXRoLnJvdW5kKDUqTWF0aC5yYW5kb20oKSkrMSksKHRoaXMud2lkdGg9MypNYXRoLnJhbmRvbSgpKzIpLCh0aGlzLmRyaWZ0PU1hdGgucmFuZG9tKCkpfWZ1bmN0aW9uIHQoKXtrLnNhdmUoKSx1KCk7Zm9yKHZhciBhPTA7YSZsdDtuLmxlbmd0aDthKyspbS5iZWdpblBhdGgoKSxtLmFyYyhuW2FdLngsblthXS55LG5bYV0ud2lkdGgsMCwyKk1hdGguUEksITEpLChtLmZpbGxTdHlsZT0nI2ZmZmZmZicpLG0uZmlsbCgpO2suZHJhd0ltYWdlKGwsMCwwLGwud2lkdGgsbC5oZWlnaHQpLGsucmVzdG9yZSgpfWZ1bmN0aW9uIHUoKXttLmNsZWFyUmVjdCgwLDAsbS5jYW52YXMud2lkdGgsbS5jYW52YXMuaGVpZ2h0KSxrLmNsZWFyUmVjdCgwLDAsbS5jYW52YXMud2lkdGgsbS5jYW52YXMuaGVpZ2h0KX1mdW5jdGlvbiB2KCl7dygpLHQoKX1mdW5jdGlvbiB3KCl7Zm9yKHZhciBhPTA7YSZsdDtuLmxlbmd0aDthKyspblthXS55Jmx0O2suY2FudmFzLmhlaWdodD8oKG5bYV0ueSs9blthXS5zcGVlZCksblthXS55Jmd0O2suY2FudmFzLmhlaWdodCZhbXA7JmFtcDsoblthXS55PS01KSwoblthXS54Kz1uW2FdLmRyaWZ0KSxuW2FdLngmZ3Q7ay5jYW52YXMud2lkdGgmYW1wOyZhbXA7KG5bYV0ueD0wKSk6KG4uc3BsaWNlKGEsMSksKG5bbi5sZW5ndGhdPW5ldyBzKCkpKX12YXIgYz10aGlzWzBdLGQ9Yy5pZCxlPWEoYykub2Zmc2V0KCkubGVmdCxmPWEoYykub2Zmc2V0KCkudG9wLGc9YShjKS5oZWlnaHQoKSxoPWEoYykud2lkdGgoKSxpPSd0b3A6JytmKydweDtsZWZ0OicrZSsncHg7cG9zaXRpb246YWJzb2x1dGU7JyxqPW51bGwsaz1udWxsLGw9bnVsbCxtPW51bGwsbj1bXSxvPW51bGwscD1hLmV4dGVuZCh7c25vd0ZsYWtlczoxMDAsfSxiKTthKCdib2R5JykuYXBwZW5kKCZxdW90OyZsdDtjYW52YXMgd2lkdGg9JyZxdW90OytoKyZxdW90OycgaGVpZ2h0PScmcXVvdDsrZysmcXVvdDsnIGlkPSd3ZWJzbm93anFjYW4mcXVvdDsrZCsmcXVvdDsnIHN0eWxlPScmcXVvdDsraSsmcXVvdDsnJmd0OyZsdDsvY2FudmFzJmd0OyZxdW90OykscSgpfX0pKGpRdWVyeSk7CiZsdDsvc2NyaXB0Jmd0OwombHQ7c2NyaXB0Jmd0OwokKGZ1bmN0aW9uICgpIHsKICAgICQoJnF1b3Q7I2RpdlNub3cmcXVvdDspLndlYnNub3dqcSh7c25vd0ZsYWtlczoxMjB9KTsKfSk7CiZsdDsvc2NyaXB0Jmd0OwoKJmx0Oy9ib2R5Jmd0OwombHQ7L2h0bWwmZ3Q7Cg==
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>给你的专属爱心❤️</title>
<style>
body {
overflow: hidden;
margin: 0;
background:#111422;
font-family: "Russo One", arial, sans-serif;
}
.type_words {
position: fixed;
bottom: 8%;
left: 50%;
transform: translateX(-50%);
width: 90%;
max-width:400px;
color: #f1dadb;
padding: 20px;
font-size:18px;
text-align:center;
}
#divSnow{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events:none;
}
.hide_buttom{
display:none;
}
</style>
</head>
<body>
<audio id="audioDom" src="https://s...content-available-to-author-only...c.com/obj/ies-music/7170534431801838367.mp3" preload="auto" loop>
<div class="type_words" id="contents"></div>
<div id="divSnow"></div>
<script src="https://c...content-available-to-author-only...s.com/jquery/3.3.1/jquery.min.js"></script>
<script>
function musicPlay(isPlay) {
var media = document.querySelector('#audioDom');
if (isPlay && media.paused) {
media.play().catch(e=>{});
}
if (!isPlay && !media.paused) {
media.pause();
}
}
function musicInBrowserHandler() {
musicPlay(true)
}
document.body.addEventListener('touchstart', musicInBrowserHandler);
document.body.addEventListener('click', musicInBrowserHandler);
function start() {
const text = [
"于我而言,你是最好且是唯一❤️",
"宝贝,永远爱你❤️"
]
let str = text.join('<br><br>')
let str_ = ''
let i = 0
let content = document.getElementById('contents')
let timer = setInterval(() => {
if (str_.length < str.length) {
str_ += str[i++]
content.innerHTML = '<p>' + str_ + '<span class="xx" style="opacity: 1;color: red;">❤</span></p>'
} else {
clearInterval(timer)
content.innerHTML = '<p>' + str_ + '</p>'
}
}, 100)
}
setTimeout(() => {
start();
}, 1000);
</script>
<script>
!(function(a){a.fn.websnowjq=function(b){function q(){(j=document.getElementById('websnowjqcan'+d)),(k=j.getContext('2d')),(l=document.createElement('canvas')),(m=l.getContext('2d')),(m.canvas.width=k.canvas.width),(m.canvas.height=k.canvas.height),(o=setInterval(r,200)),t(),setInterval(v,30),a(window).resize(function(){a('#websnowjqcan'+d).offset({top:a(c).offset().top,left:a(c).offset().left,})})}function r(){(n[n.length]=new s()),n.length==p.snowFlakes&&clearInterval(o)}function s(){(this.x=Math.round(Math.random()*k.canvas.width)),(this.y=-10),(this.speed=Math.round(5*Math.random())+1),(this.width=3*Math.random()+2),(this.drift=Math.random())}function t(){k.save(),u();for(var a=0;a<n.length;a++)m.beginPath(),m.arc(n[a].x,n[a].y,n[a].width,0,2*Math.PI,!1),(m.fillStyle='#ffffff'),m.fill();k.drawImage(l,0,0,l.width,l.height),k.restore()}function u(){m.clearRect(0,0,m.canvas.width,m.canvas.height),k.clearRect(0,0,m.canvas.width,m.canvas.height)}function v(){w(),t()}function w(){for(var a=0;a<n.length;a++)n[a].y<k.canvas.height?((n[a].y+=n[a].speed),n[a].y>k.canvas.height&&(n[a].y=-5),(n[a].x+=n[a].drift),n[a].x>k.canvas.width&&(n[a].x=0)):(n.splice(a,1),(n[n.length]=new s()))}var c=this[0],d=c.id,e=a(c).offset().left,f=a(c).offset().top,g=a(c).height(),h=a(c).width(),i='top:'+f+'px;left:'+e+'px;position:absolute;',j=null,k=null,l=null,m=null,n=[],o=null,p=a.extend({snowFlakes:100,},b);a('body').append("<canvas width='"+h+"' height='"+g+"' id='websnowjqcan"+d+"' style='"+i+"'></canvas>"),q()}})(jQuery);
</script>
<script>
$(function () {
$("#divSnow").websnowjq({snowFlakes:120});
});
</script>
</body>
</html>