电商商城定制开发【HTML实战】把爱心代码放在自己的网站上是一种什么体验?

👨‍💻个人主页:
欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 原创

电商商城定制开发收录于专栏


电商商城定制开发最近随着电视剧《点燃我温暖你》的火热播出,剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈,作为一个喜欢动手实践的我来说正是一个大好机会啊,于是我就把代码搬到了自己的网站上,源码我也放在了我的GitHub上,大家有需自取哦~💗

仓库地址:
也欢迎大家star Issues forkpr哦,一起来开发更多好看的样式或者动态效果吧!

网站效果:

后面有时间的话我会将各式各样的爱心代码更新在这个仓库里,如果大家感兴趣的话就来和我一起创造爱心吧~😍

今天周末了,大家都要好好吃饭,好好睡觉哦!🎉

拜拜!

GitHub进不去的话,源代码这也有一份,有点长:

<!DOCTYPE html><html><head>    <title> 爱心代码 </title>    <meta charset="utf-8">    <meta name="Author" content="花无缺">    <meta name="Keywords" content="爱心代码">    <meta name="Description" content="爱心代码">    <link rel="shortcut icon" href="../picture/爱心.png" type="image/x-icon">    <style>        html,        body {            height: 100%;            padding: 0;            margin: 0;            background: #000;        }        canvas {            position: absolute;            width: 100%;            height: 100%;        }    </style></head><body>    <canvas id="pinkboard"></canvas>    <script>        var settings = {            particles: {                length: 500,                duration: 2,                velocity: 100,                effect: -0.75,                size: 30,            },        };        (function () { var b = 0; var c = ["ms", "moz", "webkit", "o"]; for (var a = 0; a < c.length && !window.requestAnimationFrame; ++a) { window.requestAnimationFrame = window[c[a] + "RequestAnimationFrame"]; window.cancelAnimationFrame = window[c[a] + "CancelAnimationFrame"] || window[c[a] + "CancelRequestAnimationFrame"] } if (!window.requestAnimationFrame) { window.requestAnimationFrame = function (h, e) { var d = new Date().getTime(); var f = Math.max(0, 16 - (d - b)); var g = window.setTimeout(function () { h(d + f) }, f); b = d + f; return g } } if (!window.cancelAnimationFrame) { window.cancelAnimationFrame = function (d) { clearTimeout(d) } } }());        var Point = (function () {            function Point(x, y) {                this.x = (typeof x !== 'undefined') ? x : 0;                this.y = (typeof y !== 'undefined') ? y : 0;            }            Point.prototype.clone = function () {                return new Point(this.x, this.y);            };            Point.prototype.length = function (length) {                if (typeof length == 'undefined')                    return Math.sqrt(this.x * this.x + this.y * this.y);                this.normalize();                this.x *= length;                this.y *= length;                return this;            };            Point.prototype.normalize = function () {                var length = this.length();                this.x /= length;                this.y /= length;                return this;            };            return Point;        })();        var Particle = (function () {            function Particle() {                this.position = new Point();                this.velocity = new Point();                this.acceleration = new Point();                this.age = 0;            }            Particle.prototype.initialize = function (x, y, dx, dy) {                this.position.x = x;                this.position.y = y;                this.velocity.x = dx;                this.velocity.y = dy;                this.acceleration.x = dx * settings.particles.effect;                this.acceleration.y = dy * settings.particles.effect;                this.age = 0;            };            Particle.prototype.update = function (deltaTime) {                this.position.x += this.velocity.x * deltaTime;                this.position.y += this.velocity.y * deltaTime;                this.velocity.x += this.acceleration.x * deltaTime;                this.velocity.y += this.acceleration.y * deltaTime;                this.age += deltaTime;            };            Particle.prototype.draw = function (context, image) {                function ease(t) {                    return (--t) * t * t + 1;                }                var size = image.width * ease(this.age / settings.particles.duration);                context.globalAlpha = 1 - this.age / settings.particles.duration;                context.drawImage(image, this.position.x - size / 2, this.position.y - size / 2, size, size);            };            return Particle;        })();        var ParticlePool = (function () {            var particles,                firstActive = 0,                firstFree = 0,                duration = settings.particles.duration;            function ParticlePool(length) {                particles = new Array(length);                for (var i = 0; i < particles.length; i++)                    particles[i] = new Particle();            }            ParticlePool.prototype.add = function (x, y, dx, dy) {                particles[firstFree].initialize(x, y, dx, dy);                firstFree++;                if (firstFree == particles.length) firstFree = 0;                if (firstActive == firstFree) firstActive++;                if (firstActive == particles.length) firstActive = 0;            };            ParticlePool.prototype.update = function (deltaTime) {                var i;                if (firstActive < firstFree) {                    for (i = firstActive; i < firstFree; i++)                        particles[i].update(deltaTime);                }                if (firstFree < firstActive) {                    for (i = firstActive; i < particles.length; i++)                        particles[i].update(deltaTime);                    for (i = 0; i < firstFree; i++)                        particles[i].update(deltaTime);                }                while (particles[firstActive].age >= duration && firstActive != firstFree) {                    firstActive++;                    if (firstActive == particles.length) firstActive = 0;                }            };            ParticlePool.prototype.draw = function (context, image) {                if (firstActive < firstFree) {                    for (i = firstActive; i < firstFree; i++)                        particles[i].draw(context, image);                }                if (firstFree < firstActive) {                    for (i = firstActive; i < particles.length; i++)                        particles[i].draw(context, image);                    for (i = 0; i < firstFree; i++)                        particles[i].draw(context, image);                }            };            return ParticlePool;        })();        (function (canvas) {            var context = canvas.getContext('2d'),                particles = new ParticlePool(settings.particles.length),                particleRate = settings.particles.length / settings.particles.duration,                time;            function pointOnHeart(t) {                return new Point(                    160 * Math.pow(Math.sin(t), 3),                    130 * Math.cos(t) - 50 * Math.cos(2 * t) - 20 * Math.cos(3 * t) - 10 * Math.cos(4 * t) + 25                );            }            var image = (function () {                var canvas = document.createElement('canvas'),                    context = canvas.getContext('2d');                canvas.width = settings.particles.size;                canvas.height = settings.particles.size;                function to(t) {                    var point = pointOnHeart(t);                    point.x = settings.particles.size / 2 + point.x * settings.particles.size / 350;                    point.y = settings.particles.size / 2 - point.y * settings.particles.size / 350;                    return point;                }                context.beginPath();                var t = -Math.PI;                var point = to(t);                context.moveTo(point.x, point.y);                while (t < Math.PI) {                    t += 0.01;                    point = to(t);                    context.lineTo(point.x, point.y);                }                context.closePath();                context.fillStyle = '#ea80b0';                context.fill();                var image = new Image();                image.src = canvas.toDataURL();                return image;            })();            function render() {                requestAnimationFrame(render);                var newTime = new Date().getTime() / 1000,                    deltaTime = newTime - (time || newTime);                time = newTime;                context.clearRect(0, 0, canvas.width, canvas.height);                var amount = particleRate * deltaTime;                for (var i = 0; i < amount; i++) {                    var pos = pointOnHeart(Math.PI - 2 * Math.PI * Math.random());                    var dir = pos.clone().length(settings.particles.velocity);                    particles.add(canvas.width / 2 + pos.x, canvas.height / 2 - pos.y, dir.x, -dir.y);                }                particles.update(deltaTime);                particles.draw(context, image);            }            function onResize() {                canvas.width = canvas.clientWidth;                canvas.height = canvas.clientHeight;            }            window.onresize = onResize;            setTimeout(function () {                onResize();                render();            }, 10);        })(document.getElementById('pinkboard'));    </script></body></html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260

🌸欢迎关注我的博客:
🥇往期精彩好文:
📢
📢
你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发