- 博客(8)
- 收藏
- 关注
原创 JavaScript手写观察者模式并实现vue中的事件总线
手写观察者模式,并实现vue中事件总线观察者模式思路:1. 需要一个容器装所有注册的观察者2. 三个方法分别为:注册观察者的方法,发布信息的方法,移除观察者的方法let observe = (function(){ // 容器存放所有观察者 let message = {} return { // 注册观察者 on: function(){ if(arguments.length != 2) throw new Er.
2021-04-12 23:42:36
340
原创 工程化开发之require.context使用
作用 require.context()方法是webpack的一个api,主要功能是自动注入文件,避 免因项目庞大文件过多,一个一个手动引入。举个栗子结构图上菜/* require.context(params1, params2, params3) 参数1: 读取文件的路径 参数2: 是否遍历文件的子目录 参数3: 匹配文件的正则*/const req = require.context('./', false, /\.js$/)/* 打印req: 返回
2021-01-16 17:15:26
644
3
原创 canvas 雨滴特效
一、雨滴特效需求雨滴从窗口顶部随机下落到达底部将呈现波纹逐渐散开变淡直到消失,雨滴特效随窗口变化自适应二、雨滴实现思路1. 用面向对象的思维 首先创建canvas画布 ,绘制一个雨滴的初始化形状2. 在给雨滴添加运动的方法3. 通过定时器让雨滴运动起来三、具体分析1.雨滴初始化需要的属性有哪些?坐标x,y 宽高w,h 。2.雨滴下落是逐渐加速下落不是匀速需要给一个加速度的属性,也就是y轴坐标不断加上加速度的值3.雨滴下落到底部某一个区域后开始呈现波纹逐渐散开,也就是到达底部某个范围内开
2021-01-08 15:05:40
805
原创 svg js动态插入use
svg js动态插入use<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body>
2021-01-08 14:29:30
533
原创 vue 前端JS实现文字转语音功能
vue 前端JS实现文字转语音功能上代码// An highlighted block//data 中定义判断IE的方法isIe():() => { if(!!window.ActiveXObject || "ActiveXObject " in window){ return true }else{ return false }}// methodslet msg = 'hello world'if(this.isIe()){ let voiceObj = new A
2020-10-23 16:56:16
2403
5
原创 前端扫码枪扫码功能坑点集锦
前端扫码枪扫码功能坑点集锦1.扫码枪无法识别中文问题2.扫码枪在不同浏览器版本中不触发enter事件问题3.接收二维码内容输入框设置autofocus属性在某些浏览器版本生效4.将页面接收数据的输入框改为密码框后续问题1.扫码枪无法识别中文问题扫码枪扫描二维码输出不识别中文,跟输入法有关。解决方案1当输入法为中文时无法识别中文,改为英文即可识别。需要手动更改输入法,不太人性化。解决方案2将页面接收数据的输入框改为密码框,完美解决。改为密码框会引起扫码后带出账号密码下拉框的情况。这个原因解决方法很
2020-10-22 17:33:57
5271
1
翻译 babel的使用说明
babel是什么?babel 是一个 JavaScript 编译器。(具体详情可以通过bable官网查看)babel的作用是什么?babel的作用就是将浏览器不认识的高级javascript语法解析成低级的语法,来实现浏览器的兼容webpack也可以解析高级js语法为什么还需要babel?在 webpack 中,默认只能处理一部分 es6 的新语法,一些更高级的 es6 语法或者 es7...
2019-07-22 23:50:32
993
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅