!精品网站推荐: 一个喜欢开发的小玩意的网站: 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.实现速度的控制

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

画一只会动的皮卡丘(下)相关推荐

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

    实现的皮卡丘样式如下图: 本篇内容List: tip1--全局样式初始化,配置 tip2--实现鼻子 tip3--实现眼睛 tip4--实现脸颊 tip5--嘴巴实现 1.先进行页面整体的样式配置 这 ...

  2. html5做一个皮卡丘,画一只会动的皮卡丘(上)

    实现的皮卡丘样式以下图: 本篇内容List: tip1--全局样式初始化,配置 tip2--实现鼻子 tip3--实现眼睛 tip4--实现脸颊 tip5--嘴巴实现 1.先进行页面总体的样式配置 这 ...

  3. 用python画皮卡丘源代码-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘...

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

  4. python简单代码画皮卡丘-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘...

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

  5. python画卡通皮卡丘_实现童年Pokémon,教你用Python画一只属于自己的皮卡丘

    原标题:实现童年Pokémon,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵 ...

  6. 怎么用python画皮卡丘_实现童年宝可梦,教你用Python画一只属于自己的皮卡丘

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

  7. 用python画皮卡丘画法-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘

    皮卡丘脸颊两边有着小小的电力袋,因此他独有的能力就是可以放电.在动画片中,小智的皮卡丘性格十分害羞,稍有不满就乱放电电人. 小时候也想拥有一只会放电的皮卡丘,长大后渐渐明白,这种高度智能会放电的&qu ...

  8. 用python画皮卡丘代码-实现童年宝可梦,教你用Python画一只属于自己的皮卡丘

    大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模样吗? 最近上映的<大侦探皮卡丘>,是否会让你秒回童年 ...

  9. 用python画皮卡丘-教你用Python画一只属于自己的皮卡丘

    还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗?还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模样吗? 最近上映的<大侦探皮卡丘>,是否会让你秒回童年,进入那个充满神奇宝贝的世界,和小智一 ...

最新文章

  1. [JS]题解 | #岛屿数量#
  2. Python Qt GUI设计:QPrinter打印图片类(基础篇—21)
  3. 干货 | OpenCV看这篇就够了,9段代码详解图像变换基本操作
  4. 神经网络与深度学习——TensorFlow2.0实战(笔记)(一)
  5. File转换成MultiPartFile
  6. centos7镜像文件
  7. 基于FPGA的SDRAM控制器设计(4)
  8. 2001年李彦宏DoNews三篇搜索引擎Blog
  9. 【量化选基】每年初购买过去5年收益最好的沪深300指数增强,会超过混合基金吗?
  10. H3C三层交换机之IRF虚拟化技术详解及配置
  11. Ubiquitous Religions 并查集
  12. 微信公众号文章中怎么添加网站链接?
  13. 筑龙网下载的文件格式是php_建筑工程竣工验收资料填报指南(范本)
  14. Viso跨职能流程图连接点操作
  15. Delta tuning(只抓核心)
  16. Vue实现简单列表无限循环滚动(鼠标悬停)
  17. tc_net_secu 使用手册
  18. 【STM32学习笔记】(9)——串口通讯(USART)详解
  19. xcode archive 后没有dsym文件
  20. 编写CSDN博客,如何去掉插入的图片上的水印

热门文章

  1. iOS通讯录复制的手机号码字符串多了奇怪的unicode码\u0000202d-\u0000202c
  2. 项目实训--Unity多人游戏开发(十六、草丛隐身与道具隐身)
  3. 2021十大黄金理财app平台排行榜
  4. verilog实现奇数分频--以三分频为例
  5. 学生信息管理系统-数据结构课程设计
  6. 系统分析师---论软件的系统测试及应用
  7. android+imei+为null,适合Android7.0以上(到9.0)系统,获取 关于手机--状态信息 (如:MAC,IMEI,IMSI,ICCID)...
  8. rrpp协议如何修改_RRPP(快速环网保护协议)
  9. 《深入浅出WPF》系列视频(特辑)——MVVM入门与提高(难度300+)
  10. 奥维 最新 图源2023