用Javascript和表情符号制作URL动画

news2024/9/20 18:11:27

您可以在URL中使用表情符号(和其他图形unicode字符)。哇,太棒了。但似乎没有人去做。为什么?或许表情符号对普通网络平台来说太陌生了?又或许是怕触怒SEO大神而避之不及?

不管是什么原因,维恩图上“有可能没有人做”的重叠部分通常是我兴奋的地方。所以我决定花一点时间研究URL中图形字符的可能性。具体来说,有可能通过一些Javascript动画这些角色。

月亮打圈效果

首先,确保你页面的Javascript代码被标记为UTF-8,否则你将很难在代码中使用表情符号。这可以通过HTTP头或页面元标记来实现。很有可能你不用担心这个。但你可以在这里找到更多相关信息:Flavio的Javascript中的Unicode

为了实现我们想要的结果,表情符号在地址栏中像糖李子仙女一样跳舞,我们需要一个循环。实际上,我们只需要一个循环。我们开始循环,它循环,我们很高兴。这是我们的第一个循环,一个旋转的表情符号月亮。我想当他们添加这个表情符号序列时,他们一定是有这个想法的,对吗?

var f = ['🌑', '🌒', '🌓', '🌔', '🌝', '🌖', '🌗', '🌘'];

    function loop() {
        location.hash = f[Math.floor((Date.now()/100)%f.length)];

        setTimeout(loop, 50);
    }

    loop();

 时钟旋转效果

 

var f = ['🕐','🕑','🕒','🕓','🕔','🕕','🕖','🕗','🕘','🕙','🕚','🕛'];
    function loop() {
        location.hash = f[Math.floor((Date.now()/100)%f.length)];

        setTimeout(loop, 50);
    }

    loop();

婴儿肤色修改效果

 

var e = ['🏻', '🏼', '🏽', '🏾', '🏿'];

    function loop() {
        var s = '',
            i, m;

        for (i = 0; i < 10; i ++) {
            m = Math.floor(e.length * ((Math.sin((Date.now()/100) + i)+1)/2));
            s += '👶' + e[m];
        }

        location.hash = s;

        setTimeout(loop, 50);
    }

    loop();

月球旋转效果

 

var f = ['🌑', '🌘', '🌗', '🌖', '🌕', '🌔', '🌓', '🌒'],
        d = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        m = 0;

    function loop() {
        var s = '', x = 0;

        if (!m) {
            while (d[x] == 4) {
                x ++;
            }

            if (x >= d.length) m = 1;
            else {
                d[x] ++;
            }
        }
        else {
            while (d[x] == 0) {
                x ++;
            }

            if (x >= d.length) m = 0;
            else {
                d[x] ++;

                if (d[x] == 8) d[x] = 0;
            }
        }

        d.forEach(function (n) {
            s += f[n];
        });

        location.hash = s;

        setTimeout(loop, 50);
    }

    loop();

小波浪效果

function loop() {
        var i, n, s = '';

        for (i = 0; i < 10; i++) {
            n = Math.floor(Math.sin((Date.now()/200) + (i/2)) * 4) + 4;

            s += String.fromCharCode(0x2581 + n);
        }

        window.location.hash = s;

        setTimeout(loop, 50);
    }

    loop();

 进度条效果

function loop() {
        var s = '',
            p;

        p = Math.floor(((Math.sin(Date.now()/300)+1)/2) * 100);

        while (p >= 8) {
            s += '█';
            p -= 8;
        }
        s += ['⠀','▏','▎','▍','▌','▋','▊','▉'][p];

        location.hash = s;
        setTimeout(loop, 50);
    }

 在地址栏中显示视频进度

为了减少我们小实验中的无聊,我想出了在URL中显示网络视频进度的主意。我只需附加一个函数,将我们的进度字符串呈现给视频的“timeupdate”事件,瞧!URL中的视频进度指示器,包括时间和持续时间!

var video;

    function formatTime(seconds) {
        var minutes = Math.floor(seconds/60),
            seconds = Math.floor(seconds - (minutes*60));

        return ('0'+minutes).substr(-2) + ':' + ('0'+seconds).substr(-2);
    }

    function renderProgressBar() {
        var s = '',
            l = 15,
            p = Math.floor(video.currentTime / video.duration * (l-1)),
            i;

        for (i = 0; i < l; i ++) {
            if (i == p) s +='◯';
            else if (i < p) s += '─';
            else s += '┄';
        }

        location.hash = '╭'+s+'╮'+formatTime(video.currentTime)+'╱'+formatTime(video.duration);
    }

    video = document.getElementById('video');
    video.addEventListener('timeupdate', renderProgressBar);

更多细节可以在: Animating URLs with Javascript and Emojis中进行查看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/815754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NPOI库:C#中使用的强大工具箱,从入门到精通

*引言&#xff1a; 在软件开发中&#xff0c;Excel文件是一种常见且重要的数据存储和处理方式。为了简化Excel文件的读写操作&#xff0c;C --------------------------目录-------------------------- 一、安装NPOI库二、引入命名空间三、Excel文件的读取1. 打开Excel文件2. 读…

抄袭可耻,尊重原创

抄袭者的博客主页链接&#xff1a;MISAYAONE_OD机试 Py/Java/JS合集&#xff08;A卷B卷&#xff09;,华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#xff09;,华为OD机试&#xff08;Python&#xff09;真题&#xff08;A卷B卷&#xff09;-CSDN博客 这个博…

30个前端开发中常用的JavaScript函数

&#x1f9d1;‍&#x1f4bb;作者名称&#xff1a;DaenCode &#x1f3a4;作者简介&#xff1a;啥技术都喜欢捣鼓捣鼓&#xff0c;喜欢分享技术、经验、生活。 &#x1f60e;人生感悟&#xff1a;尝尽人生百味&#xff0c;方知世间冷暖。 前言 在前端开发中通常会用到校验函数…

纯干货!打造TikTok爆款视频的是个要素!(记得收藏)

Tik Tok在海外经历了一系列遭遇引发了全球的关注&#xff0c;作为一款针对年轻受众的短视频分享应用&#xff0c;仅用3年多的时间在美国的用户数量就突破1亿&#xff0c;在今年一季度还成为全球下载量最高的移动应用。 在过去一年中&#xff0c;Tik Tok的新闻和热门视频频频出…

玩转新时代兴趣社交,伴伴打造新赛道

随着时代的发展&#xff0c;人们对于社交的需求也在不断地增加。从面对面社交到社交软件聊天再到现在的兴趣社交&#xff0c;无一不体现着年轻人多元化的社交需求。作为社交软件的行业龙头之一&#xff0c;伴伴平台为用户打造多元化社交场景&#xff0c;以兴趣作为社交的出发点…

Docker的安装和部署

目录 一、Docker的安装部署 &#xff08;1&#xff09;关闭防火墙 &#xff08;2&#xff09;关闭selinux &#xff08;3&#xff09;安装docker引擎 &#xff08;4&#xff09;启动docker &#xff08;5&#xff09;设置docker自启动 &#xff08;6&#xff09;测试doc…

TopSolid2021安装

安装TopSolid&#xff0c;选择要安装的功能&#xff0c;一般只安装Design即可&#xff0c;然后在“工具”选项卡一般只选择图示的两个就可以了 使用管理员权限运行文件 “TopSolid2021\Setup\Redist\Sentinel RMS License Manager\Tools\WlmAdmin.exe” 按图示操作&#xff1…

服务器运行python程序的使用说明

服务器的使用与说明 文章目录 服务器的使用与说明1.登录2.Python的使用2.1 服务器已安装python32.2 往自己的用户目录安装python31.首先下载安装包2.解压缩3.编译与安装 2.3 新建环境变量2.4 测试 3 创建PBS作业并提交 1.登录 windowsr打开运行命令窗口&#xff0c;在运行框中…

Springboot计算机课程教学辅助系统小程序【纯干货分享,免费领源码01616】

目 录 摘要 1 绪论 1.1课题背景 1.2研究现状 1.3springboot框架介绍 1.4小程序框架以及目录结构介绍 2 计算机课程教学辅助系统小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统业务流程分析 2.3 系统功能…

SDN系统方法 | 10. SDN的未来

随着互联网和数据中心流量的爆炸式增长&#xff0c;SDN已经逐步取代静态路由交换设备成为构建网络的主流方式&#xff0c;本系列是免费电子书《Software-Defined Networks: A Systems Approach》的中文版&#xff0c;完整介绍了SDN的概念、原理、架构和实现方式。原文: Softwar…

记一次 .NET 某物流API系统 CPU爆高分析

一&#xff1a;背景 1. 讲故事 前段时间有位朋友找到我&#xff0c;说他程序CPU直接被打满了&#xff0c;让我帮忙看下怎么回事&#xff0c;截图如下&#xff1a; 看了下是两个相同的程序&#xff0c;既然被打满了那就抓一个 dump 看看到底咋回事。 二&#xff1a;为什么会打…

统信UOS安装Node.js v18环境

下载安装包 官网地址&#xff1a;Node.js 中文网 解压&#xff0c;-C指定解压的目录/usr/local/ sudo tar -xvf node-v18.17.0-linux-x64.tar.xz -C /usr/local/解压文件重命名 sudo mv /usr/local/node-v18.17.0-linux-x64 /usr/local/node加上软链接&#xff0c;将node源…

ACM图灵大会开幕,王海峰解读文心大模型3.5最新进展

7月28日-30日&#xff0c;顶级学术会议ACM中国图灵大会在武汉举办&#xff0c;围绕“通用智能&#xff0c;人机共生”主题&#xff0c;图灵奖得主、中国科学院院士、企业代表等与会探讨尖端技术及人工智能发展&#xff0c;展望计算科学未来。百度首席技术官、深度学习技术及应用…

Moving Average - 均线|技术分析基础

均线也只是一个跟随价格变化滞后于价格走势的工具&#xff0c;当你能够直接通过价格走势去获取信息&#xff0c;通过价格的走势去判断出行情的趋势&#xff0c;那你就不需要MA这个工具了。比如道氏理论对趋势的定义。高点不断创新高&#xff0c;低点不断抬升。通过对价格高低点…

quartus工具篇——fifo ip核

quartus工具篇——fifo ip核 1、简介 FPGA 中的 FIFO&#xff08;First-In, First-Out&#xff09;是一种常见的数据缓冲器&#xff0c;用于在不同的时钟域之间进行数据传输。FIFO 可以暂存一定数量的数据&#xff0c;并支持并行读取和写入操作&#xff0c;同时保持先进先出的…

立即报名 | AI +Serverless Meetup 上海站 8 月 5 日等你相约!

自 2021 年 5 月后&#xff0c;KubeSphere 社区与上海的各位小伙伴已阔别两年&#xff0c;许久不见&#xff0c;甚是想念&#xff01;2023 年 8 月 5 日&#xff0c;KubeSphere 社区将走进上海组织一场主题为 “AI Serverless” 的 Meetup。此外&#xff0c;云原生也依旧是本次…

AD21 PCB设计的高级应用(三)PCB多板互连装配设计

&#xff08;三&#xff09;PCB多板互连装配设计 一旦模块在多板原理图上相互连接,就可以验证板到板的连接。这将检测网络到引脚分配错误和引脚到引脚的互连布线错误。可以解决这些错误并将修改信息更新到对应的 PCB 中,或者重新更新到源系统原理图。 印制电路板不是孤立存在的…

【二进制转换】十进制 转 二进制 (含相关题型)

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 十进制 转 二进制 1. &运算符 介绍2. <…

每日一题——只出现一次的数字(II)

只出现一次的数字——II 题目链接 注&#xff1a;本题的解法建立在位运算之上&#xff0c;如果对位运算不太了解&#xff0c;建议先看看&#x1f449;位运算详解 思路 可能有小伙伴做了只出现一次的数字——I后认为这题也可以用异或运算来解决&#xff0c;但是我们需要注意到…

企业服务器数据库中了_locked勒索病毒怎么解密,_勒索病毒简介与防护

网络技术的发展也为互联网安全带来了一定威胁&#xff0c;对于企业来说&#xff0c;数据安全是关系整个企业正常运行的基础&#xff0c;保护好计算机免受网络威胁的攻击成为大家的一致目标。不过&#xff0c;近期&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器数…