Floating hearts that show a message written in white. My first effort at this, it's not as impressive as some of the entries on this site, but I'm pretty happy with it.
function H(b,d,e){this.x=b;this.y=d;this.s=e;this.draw=function(){b+=2+2*e;B=M.sin(b/20)*e*10+d;T.call(a,b,B);q=[75,37,70,25,50,25,20,25,20,62.6,20,62.5,20,80,40,102,72,120,110,102,130,80,130,62.5,130,62.5,130,25,100,25,85,25,75,37,75,40].map(function(a){return a*e});a.moveTo(75*e,37*e);g=a.createRadialGradient(45*e,45*e,10*e,52*e,50*e,30*e);z=g.addColorStop;z.call(g,0,"#A55");z.call(g,.9,"#A11");z.call(g,1,"#A00");a.fillStyle=g;a.shadowOffsetX=a.shadowOffsetY=a.shadowBlur=5*e;a.shadowColor="rgba(0,0,0,0.5)";for(i=0;i<6;i++)u.apply(a,q.splice(0,6));a.fill(b*e,d*e);T.call(a,-b,-B);b>c.width?b=-e*130:0}}c.width=600;M=Math;R=M.random;F=M.floor;T=a.translate;u=a.bezierCurveTo;V=a.globalCompositeOperation;h=[];for(i=0;i<14;i++)h.push(new H(-300+F(R()*900),-200+F(R()*300),R()*2));setInterval(function(){c.width=c.width;h.forEach(function(b){a.beginPath();b.draw();a.stroke();a.font="bold 50px verdana";a.fillStyle="#FFF";a.shadowColor="rgba(0,0,0,0)";a.fillText("I LOVE YOU ALL!",90,100)})},100)
ZnVuY3Rpb24gSChiLGQsZSl7dGhpcy54PWI7dGhpcy55PWQ7dGhpcy5zPWU7dGhpcy5kcmF3PWZ1bmN0aW9uKCl7Yis9MisyKmU7Qj1NLnNpbihiLzIwKSplKjEwK2Q7VC5jYWxsKGEsYixCKTtxPVs3NSwzNyw3MCwyNSw1MCwyNSwyMCwyNSwyMCw2Mi42LDIwLDYyLjUsMjAsODAsNDAsMTAyLDcyLDEyMCwxMTAsMTAyLDEzMCw4MCwxMzAsNjIuNSwxMzAsNjIuNSwxMzAsMjUsMTAwLDI1LDg1LDI1LDc1LDM3LDc1LDQwXS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEqZX0pO2EubW92ZVRvKDc1KmUsMzcqZSk7Zz1hLmNyZWF0ZVJhZGlhbEdyYWRpZW50KDQ1KmUsNDUqZSwxMCplLDUyKmUsNTAqZSwzMCplKTt6PWcuYWRkQ29sb3JTdG9wO3ouY2FsbChnLDAsIiNBNTUiKTt6LmNhbGwoZywuOSwiI0ExMSIpO3ouY2FsbChnLDEsIiNBMDAiKTthLmZpbGxTdHlsZT1nO2Euc2hhZG93T2Zmc2V0WD1hLnNoYWRvd09mZnNldFk9YS5zaGFkb3dCbHVyPTUqZTthLnNoYWRvd0NvbG9yPSJyZ2JhKDAsMCwwLDAuNSkiO2ZvcihpPTA7aTw2O2krKyl1LmFwcGx5KGEscS5zcGxpY2UoMCw2KSk7YS5maWxsKGIqZSxkKmUpO1QuY2FsbChhLC1iLC1CKTtiPmMud2lkdGg/Yj0tZSoxMzA6MH19Yy53aWR0aD02MDA7TT1NYXRoO1I9TS5yYW5kb207Rj1NLmZsb29yO1Q9YS50cmFuc2xhdGU7dT1hLmJlemllckN1cnZlVG87Vj1hLmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbjtoPVtdO2ZvcihpPTA7aTwxNDtpKyspaC5wdXNoKG5ldyBIKC0zMDArRihSKCkqOTAwKSwtMjAwK0YoUigpKjMwMCksUigpKjIpKTtzZXRJbnRlcnZhbChmdW5jdGlvbigpe2Mud2lkdGg9Yy53aWR0aDtoLmZvckVhY2goZnVuY3Rpb24oYil7YS5iZWdpblBhdGgoKTtiLmRyYXcoKTthLnN0cm9rZSgpO2EuZm9udD0iYm9sZCA1MHB4IHZlcmRhbmEiO2EuZmlsbFN0eWxlPSIjRkZGIjthLnNoYWRvd0NvbG9yPSJyZ2JhKDAsMCwwLDApIjthLmZpbGxUZXh0KCJJIExPVkUgWU9VIEFMTCEiLDkwLDEwMCl9KX0sMTAwKQ==
c.width=600;
M=Math
R=M.random
F=M.floor
T=a.translate
u=a.bezierCurveTo
V=a.globalCompositeOperation;
function H(x,y,s)
{
this.x=x;
this.y=y;
this.s=s;
this.draw=function(){
x+=2+2*s;
B=M.sin(x/20)*s*10+y;
T.call(a,x,B);
q = [75,37,70,25,50,25,20,25,20,62.6,20,62.5,20,80,40,102,72,120,110,102,130,80,130,62.5,130,62.5,130,25,100,25,85,25,75,37,75,40].map(function(a){return(a*s)});
a.moveTo(75*s,37*s);
g = a.createRadialGradient(45*s,45*s,10*s,52*s,50*s,30*s);
z = g.addColorStop
z.call(g,0,'#A55');
z.call(g,0.9,'#A11');
z.call(g,1,'#A00');
a.fillStyle = g;
a.shadowOffsetX=a.shadowOffsetY=a.shadowBlur=5*s;
a.shadowColor='rgba(0,0,0,0.5)';
for(i=0;i<6;i++) u.apply(a,q.splice(0,6));
a.fill(x*s,y*s);
T.call(a,-x,-B);
x>c.width?x=-s*130:0;
}
}
h=[];
for(i=0;i<10;i++)h.push(new H(-300+F(R()*900),-200+F(R()*300),R()*2));
setInterval(function(){
c.width=c.width;
h.forEach(function(f){
a.beginPath();
f.draw();
a.stroke();
a.font='bold 50px verdana';
a.fillStyle='#FFF';
a.shadowColor='rgba(0,0,0,0)';
a.fillText("I LOVE YOU ALL!",90,100);
})
},100)