当前位置: 首页 > news >正文

花好月圆│以代码寄相思,绘嫦娥之奔月

✨ 目录

    • 🎈 中秋快乐
    • 🎈 月亮倒影
    • 🎈 制造星星
    • 🎈 设置水面模糊
    • 🎈 设置文字
    • 🎈 嫦娥奔月

🎈 中秋快乐

  • 中秋节在即,自古以来,中秋节便有寄托思念故乡、亲人之情、祈盼丰收、幸福之意
  • 中秋节,又称:月节仲秋节月亮节团圆节
  • 中秋节起源于上古时代,普及于汉代,定型于唐代,盛行于宋朝,是中国 四大传统 节日之一,也是现代国家法定节假日
  • 作为程序员,工作一般都比较辛苦,好不容易有个三天假期,因为疫情很多人都好几年没有跟家人团聚了,正值中秋,作为技术人员,我们可以用自己的代码述说自己的相思之意
  • 如下图所示,我们可以通过前端绘制出 但愿人长久,千里共婵娟 的中秋月圆之景,嫦娥奔月 寄托相思之意

中秋快乐

🎈 月亮倒影

  • 加载页面时,我们可以通过设置 定时器,每隔 100毫秒 更新一下月亮和倒影的位置
  • 前端可以通过 radial-gradient 设置元素的位置和样式
function bg(widSpd, hgtSpd, posTop) {
  	return water.style.background = "radial-gradient(" + widSpd + "px " + hgtSpd + "px at 50.5% " + posTop + "%,rgb(250, 250, 249) 50%,rgb(247, 247, 245) 63%,rgb(7,7,70) 70%,rgb(18, 2, 56) 85%,rgb(13, 1, 59) 100%)";
};

🎈 制造星星

  • 关于星星,我们需要制作上方夜空真实的星星和水中星星倒影,两类星星倒影特效一样,只是位置不同
  • 可以通过 transform 设置星星的位置,关于星星的移动速度可以通过 Math.random() 设置随机移动速度,让其显得更加的逼真
function createStar(starNum, element, element2, scal, deg, rotY, rotX) {
  var stars = starNum;
  var $stars = $(element);
  var r = 2000;
  for (var i = 0; i < stars; i++) {
    var $star = $("<div/>").addClass(element2);
    $stars.append($star);
  }
  $("." + element2).each(function () {
    var cur = $(this);
    var s = 0.2 + (Math.random() * scal);
    var curR = r + (Math.random() * deg);
    cur.css({
      transformOrigin: "0 0 " + curR + "px",
      transform: " translate3d(0,0,-" + curR + "px) rotateY(" + (Math.random() * rotY) + "deg) rotateX(" + (Math.random() * rotX) + "deg) rotateY(" + -10 + "deg) scale(" + s + "," + s + ")"
    })
  })
}

createStar(40, ".stars", "star", 1, 300, 360, -100);
createStar(40, ".starUnder", "star1", 1.5, 360, 300, 200);

🎈 设置水面模糊

  • css 中可以通过 blur 可以设置 模糊度,营造出水面波光荡漾的效果
  • 让整体画面可以看起来更加的逼真
/** 方法一 **/
filter:blur(1px)

/** 方法二 **/
backdrop-filter: blur(1px);

🎈 设置文字

  • 设置文字,可以通过 animation 设置文字出现的特效
  • 设置 dur 控制文字出现的时间间隔,word 是需要展示的字体数组
var word1 = ["但", "愿", "人", "长", "久"];
var word2 = ["千", "里", "共", "婵", "娟"];

function word(className, dur, word) {
  var i = 0;
  var timeName = setInterval(function () {
    $(className).css('animation', 'appear 4s linear').append(`<p>${word[i]}</p>`);

    i++;
    if (i >= word.length) {
      clearInterval(timeName);
    }
  }, dur);
}

🎈 嫦娥奔月

  • 创建 div 标签,包裹住嫦娥奔月的图片即可
  • 可以通过 animation 设置嫦娥图片出现的动效,让其奔月的效果渐渐显现,更加的真实

嫦娥奔月

var moon = document.getElementById("moon");
var a = document.createElement("div");
a.className = "Ocean";
moon.appendChild(a);
moon.innerHTML += "<img id='change' src='images/change.png'>";
var girl = document.getElementById("change");
girl.style.animation = "appear 6s linear";

相关文章:

  • WiFi基础学习到实战(一)
  • Java 在Word文档中添加艺术字
  • 打印机打印数量和碳粉监视器 2.2--PrintLimit Print Tracking
  • 懒惰型性格分析,如何改变懒惰型性格?
  • 为什么工作不能让人满意?
  • 【WSN定位】基于chan、taylor算法实现移动基站无源定位附matlab代码
  • Object.freeze()详解——只支持浅冻结-冻结对象的直接属性,不支持深冻结-对象的对象不支持冻结 vue中定义常量文件和导入常量文件
  • 一文入魂:再也不用担心我不懂C++移动语义了!
  • js中,函数的两种命名方式-声明式、函数表达式 自执行匿名函数 (function(){})()之删除对象中的属性
  • 数据建模之查文献找数据以及数据预处理
  • 数字藏品有何价值
  • redis集群节点间的内部通信机制
  • 完全解析Array.apply(null, { length: 1000 })
  • SpringCloud Rest学习环境搭建笔记
  • Redis持久化机制分析
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • Apache Pulsar 2.1 重磅发布
  • CentOS从零开始部署Nodejs项目
  • co.js - 让异步代码同步化
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Facebook AccountKit 接入的坑点
  • Java知识点总结(JavaIO-打印流)
  • Vue.js-Day01
  • 多线程 start 和 run 方法到底有什么区别?
  • 记录一下第一次使用npm
  • 聚类分析——Kmeans
  • 前端相关框架总和
  • 深入浅出Node.js
  • 1.Ext JS 建立web开发工程
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • # 安徽锐锋科技IDMS系统简介
  • #etcd#安装时出错
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $L^p$ 调和函数恒为零
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (离散数学)逻辑连接词
  • (实战篇)如何缓存数据
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .gitignore
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net反编译的九款神器
  • .NET命名规范和开发约定
  • :“Failed to access IIS metabase”解决方法
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • @拔赤:Web前端开发十日谈
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • []error LNK2001: unresolved external symbol _m
  • [20170705]diff比较执行结果的内容.txt
  • [Android]Tool-Systrace
  • [excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件