【七夕特别篇】七夕已至,让爱闪耀

简介: 【七夕特别篇】七夕已至,让爱闪耀

 👉引言💎


铭记于心
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉


记录一起走过的那些日子


还记得第一次与她见面的时刻,讲述和亲爱的她一起经历的那些故事

  • 那些初见印象
  • 那些浪漫的开始
  • 那些铭记于心的大小事
  • 那些经历的曲折
  • 那些经历的幸福与快乐
  • 那些珍贵的瞬间
  • 那些对未来的期许/计划

即便江湖上流传着许多我们程序猿难找女朋友的传说,但他们不知道的是,我们,也只有我们,可以不费吹灰之力得到对象,并且免费,功能强大,只需new,对象唾手可得,你还在犹豫什么?快打开Vscode吧[狗头]

image.png

好了,既然打开了Vscode,那么就教你如何取悦(维护)对象(bushi)


创意代码表白


一花一世界,一叶一如来,一曲一场叹,一生为一人。以程序员的方式撒狗粮,专业浪漫,值得拥有!

  • 效果演示

image.png


制作步骤/过程


  • 使用JavaScript代码 写出 绘制原点的函数,用随机算法 模拟 点的散落,然后使用Css进行装饰
  • 文字显示是利用将每一个句子以 | 的形式进行分割,然后将每一个字符串,定时进行展现
  • 然后以canvas的形式进行绘图


代码文件


正所谓壶里还剩四两酒,二两相思二两愁,为了小伙伴们不因为找不到完整的代码而发愁,在此特地献上源码仓库,详情请见 我的Github仓库


片段讲解:


  • 这里简单来说就是先输入一个日期,格式就是MM/DD/YYYY hours/mins/secs,得到一个时间戳timestamp,随后创建一个日期对象,调用库函数去得到目前的系统时间,格式与初试时间格式相同,可以得到一个时间距,最后转换为00天 00小时 00分 00秒的格式,通过css修饰后展现出来
<script language="javascript">
      function show_date_time() {
        window.setTimeout('show_date_time()', 1000)
        BirthDay = new Date('6/6/2015 00:00:00')
        today = new Date()
        timeold = today.getTime() - BirthDay.getTime()
        sectimeold = timeold / 1000
        secondsold = Math.floor(sectimeold)
        msPerDay = 24 * 60 * 60 * 1000
        e_daysold = timeold / msPerDay
        daysold = Math.floor(e_daysold)
        e_hrsold = (e_daysold - daysold) * 24
        hrsold = Math.floor(e_hrsold)
        e_minsold = (e_hrsold - hrsold) * 60
        minsold = Math.floor((e_hrsold - hrsold) * 60)
        seconds = Math.floor((e_minsold - minsold) * 60)
        span_dt_dt.innerHTML = daysold + '天' + hrsold + '小时' + minsold + '分' + seconds + '秒'
      }
      show_date_time()
    </script>
  • 上面的背景显示就不再赘述,既可以通过标签直接设置背景图片,也可以通过创建 屏幕比例百分之一百的 Canvas画板,绘制背景颜色
  • 最后比较关键的一点就是文字的动效是怎样绘制出来的?请先看下面的代码,可以看出这是创建了一个js对象,然后初始化的时候将需要展示的文字传入进去,并且以画板的形式进行初始化
var S = {
        init: function () {
          S.Drawing.init('.canvas')
          document.body.classList.add('body--ready')
          // 用|分割
          S.UI.simulate('!星光闪耀!|!爱必永恒!|#countdown 3|#time|七夕快乐!!')
          S.Drawing.loop(function () {
            S.Shape.render()
          })
        },
      }

-最关键的绘图函数就在这里了,我们需要一种方法来在指定时间内执行我们的绘制图形函数,这里通过调用windows的库方法window.setTimeout( ), 它能在指定时间内调用指定的函数。接下来就是字符串的切割与拼装,如何用无规则散点的形式在指定的时间内随机组合成每一个文字

S.Drawing = (function () {
        var canvas,
          context,
          renderFn,
          requestFrame =
            window.requestAnimationFrame ||
            window.webkitRequestAnimationFrame ||
            window.mozRequestAnimationFrame ||
            window.oRequestAnimationFrame ||
            window.msRequestAnimationFrame ||
            function (callback) {
              window.setTimeout(callback, 1000 / 60)
            }
        return {
          init: function (el) {
            canvas = document.querySelector(el)
            context = canvas.getContext('2d')
            this.adjustCanvas()
            window.addEventListener('resize', function (e) {
              S.Drawing.adjustCanvas()
            })
          },
          loop: function (fn) {
            renderFn = !renderFn ? fn : renderFn
            this.clearFrame()
            renderFn()
            requestFrame.call(window, this.loop.bind(this))
          },
          adjustCanvas: function () {
            canvas.width = window.innerWidth - 100
            canvas.height = window.innerHeight - 30
          },
          clearFrame: function () {
            context.clearRect(0, 0, canvas.width, canvas.height)
          },
          getArea: function () {
            return { w: canvas.width, h: canvas.height }
          },
          drawCircle: function (p, c) {
            context.fillStyle = c.render()
            context.beginPath()
            context.arc(p.x, p.y, p.z, 0, 2 * Math.PI, true)
            context.closePath()
            context.fill()
          },
        }
      })()

🌹写在最后💖

路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹


相关文章
|
数据采集 API Python
这个春天,淄博烧烤成了新晋“顶流”
如何使用python爬取抖音热门数据
这个春天,淄博烧烤成了新晋“顶流”
|
移动开发
阿云漫画 | 一片绿叶,让冬奥火炬“飞扬”
编者按: 冬奥会倒计时开始了!设计团队曾为如何呈现火炬“飞扬”的最佳形态犯难,直到看到一片线条灵动轻盈的树叶,大家的灵感被点燃,参考“大自然造就的曲线张力和美感”,团队调整了120多版模型,不断打磨细节,终于让火炬“活”了起来。
126 0
回首2022,烟火如常,布衣剩饭,啥也没干,年终总结,蹈海难酬
开篇明义,2022年,我啥也没干,或者说的更准确一些,啥也没干成,没有什么值得拿出来凡尔赛一下的事情,或者可以满足一下虚荣心的成就,300多个日夜里,就是日复一日的起床、上班、讲课、下班、吃饭、睡觉。有什么可总结的呢?
回首2022,烟火如常,布衣剩饭,啥也没干,年终总结,蹈海难酬
端午还在“修锁”?你是真的卷王!(一)
哈喽,大家好,我是指北君。 今天为你带来的是 ReentrantLock 公平锁与非公平锁的源码分析,它是 Java 并发包下的一个 java.util.concurrent.locks 实现类,实现了 Lock 接口和 Serializable 接口。
端午还在“修锁”?你是真的卷王!(一)
端午还在“修锁”?你是真的卷王!(二)
今天为你带来的是 ReentrantLock 公平锁与非公平锁的源码分析,它是 Java 并发包下的一个 java.util.concurrent.locks 实现类,实现了 Lock 接口和 Serializable 接口。
端午还在“修锁”?你是真的卷王!(二)
|
网络协议 算法 架构师
一战,二战,再战,最后尘埃落定,缘定美团
一战,二战,再战,最后尘埃落定,缘定美团
185 0
一战,二战,再战,最后尘埃落定,缘定美团
|
SQL 关系型数据库 Unix
百花开放笑声甜,“开源萌宠”庆六一
“少年易学老难成,一寸光阴不可轻”。树叶因风而动,雏苗因土而长,兴趣要从小培养,给孩子们“施肥”也要让他们印象深刻······儿童节到来之际,云栖社区精选了18款开源软件供孩子们了解,让孩子们在萌宠的陪伴下有个不一样的“六一”。
7364 0
(转)阿里八卦:L氓出没,注意!
(转自 http://medic.iteye.com/blog/1056515) 2007年我面试了一个被阿里面试后刷掉的电话销售人员,她本来在广州有一份好好的工作,之所以来杭州就是想进阿里。
829 0
|
Java 物联网 C#
2019年的第一场雪来的既猛又烈,突然想分享点东西
清晨起床,震惊了,窗外一片雪白,大雪纷飞,我承认我词穷了,说再多话也描述不了此刻的大好心情。所以,话不多说,先上一张朋友圈的图吧! 趁着这么“好的”天气以及这么好的心情突然想写点东西记录一下自己的2018这一年以及2019年的这一天以及对.NET Core的看法。
1969 0
《 在深渊里仰望星空》读后感
 这是一本描写魏晋名士的卑微与骄傲的书,它很好的承接了秦汉三国魏晋南北朝这段历史,后面的隋唐的历史我想很多人在电视剧的教育下应该很了解了,所以这本书可以帮助你很好的弥补历史上的一段空白。
1600 0
下一篇
无影云桌面