Home >Web Front-end >JS Tutorial >Love tree confession animation produced by jQuery combined with HTML5_jquery

Love tree confession animation produced by jQuery combined with HTML5_jquery

WBOY
WBOYOriginal
2016-05-16 16:16:473111browse

The HTML code is as follows:

Copy code The code is as follows:


http://www.w3.org/1999/xhtml"> charset="UTF-8" >
程序员用HTML5制作的爱心树表白动画- 柯乐义http://keleyi.com/keleyi/phtml/html5/" />
http://keleyi.com/keleyi/phtml/html5/31/renxi/default.css">






本页面采用HTML5技术,目前您的浏览器无法显示,请使用支持HTML5的浏览器查看本页。




亲爱的何文琪:



曾经,

有一份真挚的爱情摆在我面前,

我没有珍惜,

等到我失去的时候才后悔莫及,
   
人世间最痛苦的事莫过于此......

如果上天能够给我一个再来一次的机会,

我会对那个女孩子说六个字:

何文琪我爱你!

如果非要在这份爱上加一个期限,

我希望是.....

一万年!

-- 爱你的柯乐义--










<script><br> (function(){<br> var canvas = $('#ke' 'leyi');<br> if (!canvas[0].getContext) {<br> $("#error").show();<br> return false; }<br> var width = canvas.width();<br> var height = canvas.height(); <br> canvas.attr("width", width);<br> canvas.attr("height", height);<br> var opts = {<br> seed: {<br> x: width / 2 - 20,<br> color: "rgb(190, 26, 37)",<br> scale: 2<br> },<br> branch: [<br> [535, 680, 570, 250, 500, 200, 30, 100, [<br> [540, 500, 455, 417, 340, 400, 13, 100, [<br> [450, 435, 434, 430, 394, 395, 2, 40]<br> ]],<br> [550, 445, 600, 356, 680, 345, 12, 100, [<br> [578, 400, 648, 409, 661, 426, 3, 80]<br> ]],<br> [539, 281, 537, 248, 534, 217, 3, 40],<br> [546, 397, 413, 247, 328, 244, 9, 80, [<br> [427, 286, 383, 253, 371, 205, 2, 40],<br> [498, 345, 435, 315, 395, 330, 4, 60]<br> ]],<br> [546, 357, 608, 252, 678, 221, 6, 100, [<br> [590, 293, 646, 277, 648, 271, 2, 80]<br> ]]<br> ]] <br> ],<br> bloom: {<br> num: 700,<br> width: 1080,<br> height: 650,<br> },<br> footer: {<br> width: 1200,<br> height: 5,<br> speed: 10,<br> }<br> }<br> var tree = new Tree(canvas[0], width, height, opts);<br> var seed = tree.seed;<br> var foot = tree.footer;<br> var hold = 1;<br> canvas.click(function(e) {<br> var offset = canvas.offset(), x, y;<br> x = e.pageX - offset.left;<br> y = e.pageY - offset.top;<br> if (seed.hover(x, y)) {<br> hold = 0; <br> canvas.unbind("click");<br> canvas.unbind("mousemove");<br> canvas.removeClass('hand');<br> }<br> }).mousemove(function(e){<br> var offset = canvas.offset(), x, y;<br> x = e.pageX - offset.left;<br> y = e.pageY - offset.top;<br> canvas.toggleClass('hand', seed.hover(x, y));<br> });<br> var seedAnimate = eval(Jscex.compile("async", function () {<br> seed.draw();<br> while (hold) {<br> $await(Jscex.Async.sleep(10));<br> }<br> while (seed.canScale()) {<br> seed.scale(0.95);<br> $await(Jscex.Async.sleep(10));<br> }<br> while (seed.canMove()) {<br> seed.move(0, 2);<br> foot.draw();<br> $await(Jscex.Async.sleep(10));<br> }<br> }));<br> var growAnimate = eval(Jscex.compile("async", function () {<br> do {<br> tree.grow();<br> $await(Jscex.Async.sleep(10));<br> } while (tree.canGrow());<br> }));<br> var flowAnimate = eval(Jscex.compile("async", function () {<br> do {<br> tree.flower(2);<br> $await(Jscex.Async.sleep(10));<br> } while (tree.canFlower());<br> }));<br> var moveAnimate = eval(Jscex.compile("async", function () {<br> tree.snapshot("p1", 240, 0, 610, 680);<br> while (tree.move("p1", 500, 0)) {<br> foot.draw();<br> $await(Jscex.Async.sleep(10));<br> }<br> foot.draw();<br> tree.snapshot("p2", 500, 0, 610, 680);<br> // 会有闪烁不得意这样做, (>﹏<)<br> canvas.parent().css("background", "url(" tree.toDataURL('image/png') ")");<br> canvas.css("background", "#ffe");<br> $await(Jscex.Async.sleep(300));<br> canvas.css("background", "none");<br> }));<br> var jumpAnimate = eval(Jscex.compile("async", function () {<br> var ctx = tree.ctx;<br> while (true) {<br> tree.ctx.clearRect(0, 0, width, height);<br> tree.jump();<br> foot.draw();<br> $await(Jscex.Async.sleep(25));<br> }<br> }));<br> var textAnimate = eval(Jscex.compile("async", function () {<br> $("#code").show().typewriter();<br> }));<br> var runAsync = eval(Jscex.compile("async", function () {<br> $await(seedAnimate());<br> $await(growAnimate());<br> $await(flowAnimate());<br> $await(moveAnimate());<br> textAnimate().start();<br> $await(jumpAnimate());<br> }));<br> runAsync().start();<br> })();<br> </script>

适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。





Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn