十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!(二)

简介: 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!

十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!(一)https://developer.aliyun.com/article/1385456


部分代码如下

<body>
<audio autoplay="autopaly">
  <source src="renxi.mp3" type="audio/mp3" />
</audio>
<div id="main">
  <div id="wrap">
    <div id="text">
      <div id="code"> <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><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>
     </font>
      </div>
    </div>
    <div id="clock-box"> <span class="STYLE1"></span><font color="#33CC00">愿得一心人,白首不相离</font> <span class="STYLE1">这简单的话语……</span>
      <div id="clock"></div>
    </div>
    <canvas id="canvas" width="1100" height="680"></canvas>
  </div>
</div>
<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);
            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 () {
        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());
            textAnimate().start();
            $await(jumpAnimate());
        }));
        runAsync().start();
    })();
    </script>


十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!(三)https://developer.aliyun.com/article/1385458

相关文章
|
移动开发 监控 JavaScript
分享77个HTML&CSS源码,总有一款适合您
分享77个HTML&CSS源码,总有一款适合您
1041 1
|
7月前
|
机器学习/深度学习 人工智能 物联网
开源8B参数全能扩散模型Flex.2-preview:把线稿变商稿,还能边画边改!
Flex.2-preview是Ostris开源的80亿参数文本到图像扩散模型,支持512token长文本输入和多类型控制引导,内置修复功能并兼容主流AI绘画工具链。
383 3
开源8B参数全能扩散模型Flex.2-preview:把线稿变商稿,还能边画边改!
|
8月前
|
机器学习/深度学习 人工智能 算法
Stable Virtual Camera:2D秒变3D电影!Stability AI黑科技解锁无限运镜,自定义轨迹一键生成
Stable Virtual Camera 是 Stability AI 推出的 AI 模型,能够将 2D 图像转换为具有真实深度和透视感的 3D 视频,支持自定义相机轨迹和多种动态路径,生成高质量且时间平滑的视频。
490 0
Stable Virtual Camera:2D秒变3D电影!Stability AI黑科技解锁无限运镜,自定义轨迹一键生成
|
8月前
|
机器学习/深度学习 人工智能 缓存
BlockDance:扩散模型加速革命!复旦字节联手实现50%无损提速
BlockDance 是复旦大学与字节跳动联合推出的扩散模型加速方法,通过识别重用相邻时间步中的结构相似特征,减少冗余计算,最高可加速50%,同时保持生成质量。
239 27
BlockDance:扩散模型加速革命!复旦字节联手实现50%无损提速
|
7月前
|
机器学习/深度学习 人工智能 监控
Amodal3R:3D重建领域新突破!这个模型让残破文物完美还原,3D重建结果助力文物修复
Amodal3R是一种创新的条件式3D生成模型,通过掩码加权多头交叉注意力机制和遮挡感知层,能够从部分可见的2D图像中重建完整3D形态,仅用合成数据训练即可实现真实场景的高精度重建。
346 13
Amodal3R:3D重建领域新突破!这个模型让残破文物完美还原,3D重建结果助力文物修复
|
8月前
|
人工智能 并行计算 PyTorch
TripoSR:开源3D生成闪电战!单图0.5秒建模,Stability AI颠覆设计流程
TripoSR是由Stability AI和VAST联合推出的开源3D生成模型,能在0.5秒内从单张2D图像快速生成高质量3D模型,支持游戏开发、影视制作等多领域应用。
446 13
TripoSR:开源3D生成闪电战!单图0.5秒建模,Stability AI颠覆设计流程
|
7月前
|
人工智能 自然语言处理 物联网
"一丹一世界"二等奖 | TPSZ_二次元卡通梦幻插画风格-童梦拾光 创作分享
"一丹一世界"二等奖 | TPSZ_二次元卡通梦幻插画风格-童梦拾光 创作分享
212 7
|
7月前
|
人工智能 语音技术
ACTalker:港科大联合腾讯清华推出,多模态驱动的说话人视频生成神器
ACTalker是由香港科技大学联合腾讯、清华大学研发的端到端视频扩散框架,采用并行Mamba结构和多信号控制技术,能生成高度逼真的说话人头部视频。
316 0
ACTalker:港科大联合腾讯清华推出,多模态驱动的说话人视频生成神器
|
8月前
随机二次元背景毛玻璃个人导航HTML源码
随机二次元背景毛玻璃个人导航HTML源码
792 19
|
11月前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
183 3
docker push推送自己搭建的镜像