程序员用HTML5制作的爱心树表白动画

体验效果:http://keleyi.com/keleyi/phtml/html5/31.htm

HTML代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" >
<title>程序员用HTML5制作的爱心树表白动画- 柯乐义</title><base target="_blank" href="http://keleyi.com/keleyi/phtml/html5/" />
<link type="text/css" rel="stylesheet" href="http://keleyi.com/keleyi/phtml/html5/31/renxi/default.css">
<script type="text/javascript" src="http://keleyi.com/keleyi/pmedia/jquery/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex.min.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex-parser.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex-jit.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex-builderbase.min.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex-async.min.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/jscex-async-powerpack.min.js"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/functions.js" charset="utf-8"></script>
<script type="text/javascript" src="http://keleyi.com/keleyi/phtml/html5/31/renxi/love.js" charset="utf-8"></script>
<style type="text/css">
<!--
.STYLE1 {color: #666666}
-->
</style>
</head>
<body>

<div id="main">
<div id="error">本页面采用HTML5技术,目前您的浏览器无法显示,请使用<a href="http://keleyi.com/a/bjac/g039tue3.htm">支持HTML5的浏览器</a>查看本页。</div>
<div id="wrap">
<div id="text">
<div id="code">
<p> <font color="#FF0000"> <span class="say">亲爱的何文琪:</span><br>
<span class="say"></span><br />
<span class="say">曾经,</span><br>

<span class="say">有一份真挚的爱情摆在我面前,</span><br />
<span class="say">我没有珍惜,</span><br />
<span class="say">等到我失去的时候才后悔莫及,</span><br>    

<span class="say">人世间最痛苦的事莫过于此......</span><br>

<span class="say">如果上天能够给我一个再来一次的机会,</span><br>

<span class="say">我会对那个女孩子说六个字:</span><br>

<span class="say">何文琪我爱你!</span><br />

<span class="say">如果非要在这份爱上加一个期限,</span><br>

<span class="say">我希望是..... </span><br>

<span class="say">一万年!</span><br />

<span class="say"><span class="space"></span> -- 爱你的柯乐义--</span>
</font></p>
</div>
</div>
<div id="clock-box">
<script type="text/javascript" src="/kineryi/js/gggg336x280a.js"></script>
</div>
<canvas id="keleyi" width="1100" height="680"></canvas>
</div>

</div>

<script>
(function(){
var canvas = $(‘#ke‘+‘leyi‘);

if (!canvas[0].getContext) {
$("#error").show();
return false; }

var width = canvas.width();
var height = canvas.height();
canvas.attr("width", width);
canvas.attr("height", height);
var opts = {
seed: {
x: width / 2 - 20,
color: "rgb(190, 26, 37)",
scale: 2
},
branch: [
[535, 680, 570, 250, 500, 200, 30, 100, [
[540, 500, 455, 417, 340, 400, 13, 100, [
[450, 435, 434, 430, 394, 395, 2, 40]
]],
[550, 445, 600, 356, 680, 345, 12, 100, [
[578, 400, 648, 409, 661, 426, 3, 80]
]],
[539, 281, 537, 248, 534, 217, 3, 40],
[546, 397, 413, 247, 328, 244, 9, 80, [
[427, 286, 383, 253, 371, 205, 2, 40],
[498, 345, 435, 315, 395, 330, 4, 60]
]],
[546, 357, 608, 252, 678, 221, 6, 100, [
[590, 293, 646, 277, 648, 271, 2, 80]
]]
]]
],
bloom: {
num: 700,
width: 1080,
height: 650,
},
footer: {
width: 1200,
height: 5,
speed: 10,
}
}

var tree = new Tree(canvas[0], width, height, opts);
var seed = tree.seed;
var foot = tree.footer;
var hold = 1;

canvas.click(function(e) {
var offset = canvas.offset(), x, y;
x = e.pageX - offset.left;
y = e.pageY - offset.top;
if (seed.hover(x, y)) {
hold = 0;
canvas.unbind("click");
canvas.unbind("mousemove");
canvas.removeClass(‘hand‘);
}
}).mousemove(function(e){
var offset = canvas.offset(), x, y;
x = e.pageX - offset.left;
y = e.pageY - offset.top;
canvas.toggleClass(‘hand‘, seed.hover(x, y));
});

var seedAnimate = eval(Jscex.compile("async", function () {
seed.draw();
while (hold) {
$await(Jscex.Async.sleep(10));
}
while (seed.canScale()) {
seed.scale(0.95);
$await(Jscex.Async.sleep(10));
}
while (seed.canMove()) {
seed.move(0, 2);
foot.draw();
$await(Jscex.Async.sleep(10));
}
}));

var growAnimate = eval(Jscex.compile("async", function () {
do {
tree.grow();
$await(Jscex.Async.sleep(10));
} while (tree.canGrow());
}));

var flowAnimate = eval(Jscex.compile("async", function () {
do {
tree.flower(2);
$await(Jscex.Async.sleep(10));
} while (tree.canFlower());
}));

var moveAnimate = eval(Jscex.compile("async", function () {
tree.snapshot("p1", 240, 0, 610, 680);
while (tree.move("p1", 500, 0)) {
foot.draw();
$await(Jscex.Async.sleep(10));
}
foot.draw();
tree.snapshot("p2", 500, 0, 610, 680);

// 会有闪烁不得意这样做, (>﹏<)
canvas.parent().css("background", "url(" + tree.toDataURL(‘image/png‘) + ")");
canvas.css("background", "#ffe");
$await(Jscex.Async.sleep(300));
canvas.css("background", "none");
}));

var jumpAnimate = eval(Jscex.compile("async", function () {
var ctx = tree.ctx;
while (true) {
tree.ctx.clearRect(0, 0, width, height);
tree.jump();
foot.draw();
$await(Jscex.Async.sleep(25));
}
}));

var textAnimate = eval(Jscex.compile("async", function () {
$("#code").show().typewriter();
}));

var runAsync = eval(Jscex.compile("async", function () {
$await(seedAnimate());
$await(growAnimate());
$await(flowAnimate());
$await(moveAnimate());

textAnimate().start();

$await(jumpAnimate());
}));

runAsync().start();
})();
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px ‘MicroSoft YaHei‘;">
<p>适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。</p>
<p><a href="http://keleyi.com" target="_blank">首页</a> <a href="http://keleyi.com/keleyi/phtml/">特效</a> <a href="http://keleyi.com/a/bjae/9dbvc2eg.htm">原文</a></p>
</div>
</body>
</html>

web前端资源:http://www.cnblogs.com/jihua/p/webfront.html

表白的文字可以自己修改

时间: 2024-08-26 05:20:07

程序员用HTML5制作的爱心树表白动画的相关文章

程序员用HTML5给女朋友制作的3D相册

程序员给女朋友用HTML5制作的3D相册,使用鼠标拖拽,能看到3D旋转效果,点击相片,相片能放大,移近.程序员发挥自己的专长,这是那些不懂编程的人望尘莫及的.本相册使用了HTML5的画布技术,需要谷歌浏览器或火狐浏览器等现代浏览器才能正常观看.效果网址:http://keleyi.com/keleyi/phtml/html5/25/点击这里下载源代码 转载自:http://keleyi.com/a/bjad/s8sjsrwk.htm 程序员用HTML5给女朋友制作的3D相册

浪漫程序员 HTML5爱心表白动画

我们程序员在追求爱情方面也是非常浪漫的,下面是一位同学利用自己所学的HTML5知识自制的HTML5爱心表白动画,画面非常温馨甜蜜,这样的创意很容易打动女孩,如果你是单身的程序员,也赶紧来制作自己的爱心表白动画吧. 在线演示源码下载 转载自:http://www.html5tricks.com/html5-heart-animation.html 浪漫程序员 HTML5爱心表白动画

程序员老司机谈到的一位优秀程序员应该具备的十个优秀的习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境.就算是你有了10年以上的程序员经历,你也得要

程序员成熟的标志

程序员在经历了若干年编程工作之后,很想知道自己水平到底如何?自己是否已经成为成熟的程序员?虽然程序员会对自己有一个自我评价,但是,自己的评 价和社会的评价.专业的评价会有差异,所以程序员自己并不能肯定这个评价.现实中,除了各种证书之外,很少有人会专门给出一个程序员的成熟度的评价.人们往往是偶发性地就事论事地对程序员的工作作出好与不好,行与不行的评论.因此,程序员对此感到很茫然,不知道要从那些方面去评价自己的能力. 一个程序员到底成熟不成熟,我想从以下几个方面谈谈自己的看法. 1.技术标志 如果程

优秀程序员的10个习惯

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境. 就算是你有了10年以上的程序员经历,你也得

漫谈程序员系列:快来约这些女生,保你脱单

最近和同事.朋友.网友聊天,聊到程序员谈女朋友的事情,发现了一些有趣的东西,分享出来. 八卦了周围干开发的程序员的另一半的职业,发现了下列组合: 程序员+测试 程序员+美工 程序员+售前 程序员+程序员 程序员+人事(HR) 程序员+客服 程序员+老师 我这人爱瞎琢磨,可这次不是瞎琢磨,我这一琢磨呀,嘿,您还别说,真有点儿道道儿啊,原来这都是绝配啊. 程序员+测试 我在"漫谈程序员系列:看看你离优秀有多远"一文中得出了一个戏剧性的结论:因为普通程序员老是和测试MM沟通,告别单身的几率比

如果你喜欢上了一个程序员小伙

程序员向来是善于幽默自嘲的群体,但从某种程度上影响了咱程序员在广大女同胞心中的印象啊-- 于是写下此篇(有从别处看到的3句加进来的), 就算是为咱程序员做个广告--要是觉得有点过的程序员们,就把此文当作一个美好的目标吧---) ---------------------------------------------- 如果你喜欢上了一个程序员小伙,就不用再害怕电脑中病毒QQ被盗,因为他至少尝试过10款以上杀毒软件,他知道用那款占资源最少防毒效果最好的保护你的电脑. 如果你喜欢上了一个程序员小伙

程序员心得

在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer).经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作.但是,如果你要成为一个优秀的程序员,有几件事你需要注意.如果你能让下面十个条目成为你的习惯,那么你才能真正算得上是优秀程序员. 1. 学无止境. 就算是你有了10年以上的程序员经历,你也得要使劲地学习

优秀程序员的良好的学习方式,特征,生活和学习的习惯

学习方式 踏入程序员这个行业,你就注定要学习一辈子,因为新技术层出不穷,技术体系更新快速,这是和其他行业最大的区别之一.所以,如果你想在这个行业混出点样子,那么请你随时做好学习的准备,如果你想成为优秀的程序员,那么一定要有正确的学习方式,下面推荐几条程序员的最佳学习方式,希望能帮你事半功倍. 书籍和期刊是必不可少的 无论你是新手菜鸟还是高级程序员,你都离不开书籍,当然我们要有选择的读书,尽量选择一些经典的书籍来看,如果你英文水平比较好,那么读一些老外撰写的书籍是最好不过的了.书籍能让你在繁杂的互