首页 > 其他分享 >在圣诞及元旦的日子里如何用html代码画一个爱心树

在圣诞及元旦的日子里如何用html代码画一个爱心树

时间:2023-01-29 14:01:11浏览次数:33  
标签:devbit canvas tree js 爱心 html static 圣诞 var


一、前言

在圣诞节以及元旦节日来临的日子里,如果能亲自为自己所爱的人画一个爱心树,这肯定是个很浪漫的事。那么如何用代码画出圣诞树呢?用我的办法就能很简单的实现,复制-粘贴-另存就可完成。

二、创意名

绚丽多彩的爱心树

三、效果展示


四、实现步骤

一:将html的代码复制

具体见后面的代码

二:打开UltraEdit记事本,将代码复制到记事本中


三、另存为love.html

在圣诞及元旦的日子里如何用html代码画一个爱心树_javascript


四、用浏览器打开love.html

在圣诞及元旦的日子里如何用html代码画一个爱心树_.net_02


五、编码实现

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>爱心树表白动画</title>
<style>
body {
margin: 0;
padding: 0;
background: #fafafa;
font-size: 14px;
font-family: "微软雅黑", "宋体", sans-serif;
color: #231f20;
overflow: auto;
}
a {
color: #000;
font-size: 14px;
}
#main {
width: 100%;
}
#wrap {
position: relative;
margin: 0 auto;
width: 1100px;
height: 680px;
margin-top: 10px;
}
#text {
width: 400px;
height: 425px;
left: 60px;
top: 80px;
position: absolute;
}
#code {
display: none;
font-size: 16px;
}
#clock-box {
position: absolute;
left: 60px;
top: 550px;
font-size: 28px;
display: none;
}
#clock-box a {
font-size: 28px;
text-decoration: none;
}
#clock {
margin-left: 48px;
}
#clock .digit {
font-size: 64px;
}
#canvas {
margin: 0 auto;
width: 1100px;
height: 680px;
}
#error {
margin: 0 auto;
text-align: center;
margin-top: 60px;
display: none;
}
.hand {
cursor: pointer;
}
.say {
margin-left: 5px;
}
.space {
margin-right: 150px;
}
</style>
</head>
<body>
<div id="main">
<div id="error">
抱歉!目前您的浏览器无法显示,请更新至最新版本或使用其他主流浏览器,谢谢合作。
</div>
<div id="wrap">
<canvas id="canvas" width="1100" height="680"></canvas>
</div>
</div>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jquery.min.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex.min.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex-parser.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex-jit.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex-builderbase.min.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex-async.min.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/jscex-async-powerpack.min.js"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/functions.js"
charset="utf-8"
></script>
<script
type="text/javascript"
src="https://cdn-static-devbit.cs.net/devbit-static/code/love-tree/js/love.js"
charset="utf-8"
></script>
<script>
(function () {
var canvas = $("#canvas");
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);
canvas
.parent()
.css("background", "url(" + tree.toDataURL("image/png") + ")");
canvas.css("background", "#fafafa");
$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 () {
var together = new Date();
together.setFullYear(2010, 1, 15); //时间年月日
together.setHours(16); //小时
together.setMinutes(53); //分钟
together.setSeconds(0); //秒前一位
together.setMilliseconds(2); //秒第二位

$("#code").show().typewriter();
$("#clock-box").fadeIn(500);
while (true) {
timeElapse(together);
$await(Jscex.Async.sleep(1000));
}
})
);

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

runAsync().start();
})();
</script>
</body>
</html>

提醒:在发布作品前请把不用的内容删掉

标签:devbit,canvas,tree,js,爱心,html,static,圣诞,var
From: https://blog.51cto.com/u_15942605/6025734

相关文章

  • 如何用最简单的方法用html代码画出圣诞树
    一、前言在圣诞节以及元旦节日来临的日子里,如果能亲自为自己所爱的人画一个圣诞树,这肯定是个很浪漫的事。那么如何用代码画出圣诞树呢?用我的办法就能很简单的实现,复制-粘贴-......
  • 黑马程序员前端-HTML+CSS之定位(position)的应用
     前端学习笔记教程不定期更新中,传送门:​​前端HTML第一天:什么是网页?什么是HTML?网页怎么形成?​​​​黑马程序员前端-CSS入门总结​​​​黑马程序员前端-CSS之emmet语法​......
  • html5 二进制文件操作基础
    Blob、ArrayBuffer、File、fileReader、formData这些名词总是经常看到,这些名词里,Blob、ArrayBuffer、File可以归为一类,它们都是数据;而fileReader算是一种工具,用来读取数据......
  • html标签
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"c......
  • jquery获取文档的或某个元素的html 闲的没事凑活事的教学
    //获取文档的//这个是获取本文档可能被扩展插件和广告屏蔽器污染的html$(":root").prop("outerHTML");//利用promise异步获取未被污染的文档//我这么写是为了方便......
  • C语言--简单的爱心代码
    新手都能敲出来的爱心代码#include<stdio.h>#include<stdlib.h>//#include<string.h>intmain(){floatx,y,a;for(y=1.5;y>-1.5;y-=0.1){for(x=-1......
  • HTML
    目录网页1.概念:2.形成:3.HTML:浏览器1.含义:2.内核:3.常用:Web标准(重点)1.原因:2.构成:3.优点:HTML的语法规范1.基本语法的概述:2.标签关系:3.基本结构标签:4.代码含义:标签语义1.标题标......
  • Vue.js框架:前端转化html元素为pdf并导出
    一、安装依赖主要用到以下两个依赖:html2canvas:通过获取HTML的某个元素,然后生成Canvas,能让用户保存为图片。jspdf:基于HTML5的客户端解决方案,用于生成各种用......
  • Day01 - HTML&CSS
    1.html介绍简介html叫超文本标记语言,是开发网页的语言html中的标签大多数都是成对出现的,格式:<标签名></标签名>html的定义HTML的全称为:HyperTextMark-upLa......
  • html之给文本框设置宽度和高度...
    今天在访QQ空间登录界面时,感觉其文本框的宽度和高度都好大呀,截图如下:我很好奇其是怎么实现的,百度了一下,呵呵,其实不难嘛,代码如下:<inputname=""type=......