画一只会动的皮卡丘(下)

news/2024/10/23 7:33:34/

!精品网站推荐: 一个喜欢开发的小玩意的网站: https://codepen.io/

本篇清单List

1. 页面布局
2. 动态生成代码与皮卡丘style
3. 3.实现速度的控制

上篇中我们已经实现了静态的皮卡丘,我们需要让他动起来。

在这里插入图片描述

1.页面的布局

这里我们把屏幕分为上下两块。下面为预览皮卡丘的区域,上面为代码动态生成的区域

<div class="code-wrapper"><pre id="code"></pre></div><div class="preview-wrapper"><div class="preview"><div class="wrapper"><div class="nose"></div><div class="eye left"></div><div class="eye right"></div><div class="face left"></div><div class="face right"></div><div class="upperLip left"></div><div class="upperLip right"></div><div class="lowerLip-wrapper"><div class="lowerLip"><div class="tongue"></div></div></div></div></div>

注意上面的代码动态生成区域的盒子要用到
 标签, 因为我们要把一个字符串动态的添加到展示盒子中,其中的空格也要原样输出,所以用 
 标签可以渲染空格。

2.动态生成代码与皮卡丘style

我们利用到setInterval 来进行待输入code 的匹配进去。把code 逐个的输入code展示盒子, 和 style标签。

我们尽量把绘制生成的代码放到一个函数中方便下一步的控制速度的调用。
let id = null;
function doIt(speed) {function writeCode(pre, code, fn) {let codeWrapper = document.querySelector("#code");let style = document.querySelector("#styleTag");let n = 0;id = setInterval(() => {n += 1;codeWrapper.innerHTML = code.substring(0, n);style.innerHTML = code.substring(0, n);codeWrapper.scrollTop = codeWrapper.scrollHeight;if (n >= code.length) {window.clearInterval(id);fn && fn();}}, speed);}let code = `/**首先准备皮卡丘的皮*/.wrapper {width: 100%;height: 220px;position: relative;}/**下一步,准备皮卡丘的鼻子*/.nose {width: 0;height: 0;border: 11px solid red;border-radius: 12px;border-color: black transparent transparent transparent;position: absolute;left: 50%;top: 28px;transform: translate(-12px);}/**下一步,准备皮卡丘的眼睛*/.eye {width: 49px;height: 49px;background-color: #2e2e2e;border-radius: 50%;position: absolute;border: 2px solid #000;}.eye::before {content: "";display: block;width: 24px;height: 24px;background-color: white;position: absolute;border-radius: 50%;left: 6px;top: -1px;border: 2px solid #000;}.eye.left {right: 50%;margin-right: 90px;}.eye.right {left: 50%;margin-left: 90px;}/**下一步,准备皮卡丘的脸颊*/.face {width: 65px;height: 68px;background-color: #f92726;border: 2px solid black;border-radius: 50%;position: absolute;top: 85px;}.face.left {right: 50%;margin-right: 116px;}.face.right {left: 50%;margin-left: 116px;}/**下一步,准备皮卡丘的上唇*/.upperLip {height: 20px;width: 80px;border: 3px solid black;position: absolute;top: 52px;background-color: yellow;z-index: 1;}.upperLip.left {border-bottom-left-radius: 40px 20px;border-top: none;border-right: none;transform: rotate(-20deg);right: 50%;}.upperLip.right {left: 50%;border-bottom-right-radius: 40px 20px;border-top: none;border-left: none;transform: rotate(20deg);}/**下一步,准备皮卡丘的下唇*/.lowerLip-wrapper {width: 120px;height: 130px;position: absolute;left: 50%;margin-left: -60px;margin-top: 56px;overflow: hidden;}.lowerLip {height: 1000px;width: 120px;border-radius: 200px/800px;border: 2px solid black;background-color: #971818;position: absolute;bottom: 0;overflow: hidden;}/**下一步,准备皮卡丘的舌头*/.tongue {width: 100px;height: 100px;border-radius: 50px;left: 8px;background-color: #f95364;position: absolute;bottom: 0;z-index: 2;}`;writeCode("", code);
}
doIt(15);
let up = document.querySelector("#speedUp");
let down = document.querySelector("#speedDown");
let reset = document.querySelector("#reset");
up.addEventListener("click", () => {window.clearInterval(id);doIt(2);
});
down.addEventListener("click", () => {window.clearInterval(id);doIt(30);
});
reset.addEventListener("click", () => {window.clearInterval(id);doIt(15);
});

3.实现速度的控制

这一个就很简单了,我们只需要监听事件传入不同的参数就可以了。


http://www.ppmy.cn/news/308697.html

相关文章

皮卡丘(pikachu)暴力破解

一.基于表单的暴力破解&#xff1a; 账号密码输入111和111&#xff0c;点击登录并抓包 转到intruder并爆破账号和密码,采用cluster bomb模式 制作字典 爆破成功 登陆成功 二.验证码绕过&#xff08;on client&#xff09;: 简单方法&#xff1a; 下载JS插件并BLOCK ALL&…

画一只会动的皮卡丘(上)

实现的皮卡丘样式如下图&#xff1a; 本篇内容List&#xff1a; tip1--全局样式初始化&#xff0c;配置 tip2--实现鼻子 tip3--实现眼睛 tip4--实现脸颊 tip5--嘴巴实现1.先进行页面整体的样式配置 这里我们要在手机端展示&#xff0c;所以我们尽量整个图形的宽度要小于手机…

2023.6.9小记——ARM的工作模式与状态

今天打算学一点就写一点&#xff0c;不然全部堆积到晚上压力太大了&#xff0c;有些东西写不完就要睡觉了&#x1f4a4; 1. 什么是numpy&#xff1f; 1.1 numpy简介 是Python中的用于科学计算的库&#xff0c;提供高性能的多维数组对象和对应的操作函数&#xff0c;用于处理大…

煤矿安全防范,DTU为采矿过程提供实时数据支持

在当今快节奏的时代&#xff0c;采矿行业为我们提供了丰富的资源。然而&#xff0c;随着采矿作业的不断扩大和复杂化&#xff0c;我们也面临着一系列潜在的挑战。其中&#xff0c;数据传输和安全问题尤为突出。 想象一下&#xff0c;在一个繁忙的矿山中&#xff0c;海量的数据需…

qq阅读java带签名_手机QQ阅读器Java触屏且签名版

2018-04-25 诺基亚有多少款触屏手机 诺基亚5230优点:1。售价低廉&#xff0c;只有1000多2。S60V5&#xff0c;越来越普及的版本&#xff0c;就像两年多以前的S60V3一样&#xff0c;软件和机型会越来越多。3。主流的配置&#xff0c;忽视拍照功能是明智的选择!平时200W够用了&am…

ios,android,塞班,iOS塞班给力 非Android热门手机搜罗

手机型号&#xff1a;诺基亚N8 参考报价&#xff1a;3000元(水改机)4299元(行货) 推荐理由&#xff1a;诺基亚代表的塞班操作系统由原来的S60更新至今成为了塞班3&#xff0c;系统最出名就是操作方便&#xff0c;但是自从出了Android和苹果之后&#xff0c;群众似乎不是很买账。…

java游戏猿人时代_猿人时代_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]

快速搜索机型: 诺基亚 N70系列(176208) 7610 3230 6600 6260 6620 6630 6670 6680 6681 6682 N70 N72 ;松下: X700 X800 ;联想: P930 诺基亚 N73系列(240320) N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 6120 6120C 6120ci 6121 6122C 6124C 6210…

win7电脑变身WiFi热点,让手机、笔记本共享上网

本人新浪 http://blog.sina.com.cn/pukuimin 将win7电脑变身WiFi热点&#xff0c;让手机、笔记本共享上网 前提&#xff1a;电脑有无线网卡&#xff0c;WiFi无线站通过无线网卡工作 开启windows 7的隐藏功能&#xff1a;虚拟WiFi和SoftAP&#xff08;即虚拟无线AP&#xff09…