一般情况我通过 iconfont 或者 icomoon 来实现图标管理生成字体,导入到项目中使用。...,不能生成 彩色图标。...通过图标平台网站下载 svg 图标,将图标放到项目中管理,通过 svgtofont.js 工具来生成它,这将是新的字体图标使用方式: ┌─...,不再维护字体文件 生成彩色图标文件 SVG Symbol 在项目中使用 svgtofont 读取一组 SVG图标并从SVG图标输出 TTF/EOT/WOFF/WOFF2/SVG 字体,字体生成器。...svgicons2svgfont.normalize Type: BooleanundefinedDefault value: false 通过将图标缩放到最高图标的高度来标准化图标。
JS手撕(八) Promise Promise实现 Promise的原理之前有写过两篇博客,就不细讲了。 但还是需要简单复习一下下。
JS手撕(七) 事件总线 事件总线 事件总线是什么呢? 事件总线其实就是发布订阅模式的一种实现。 学习JS的话,就一定会接触到事件的概念。
概述 在做编辑的时候,难免会遇到多边形的分割问题,本文用turf.js实现此功能。...turf.point(line.geometry.coordinates[line.geometry.coordinates.length - 1]), poly)) throw ('起点和终点必须在多边形之外...计算线缓冲和多边形的difference,返回"MultiPolygon",所以将其拆开 const _body = turf.difference(poly, lineBuffer); let
Document // 从ES6开始, 可以直接在形参后面通过
在项目中本人使用的是 Fontawesome 图标库方案,使用它是因为提供的可用图标比较丰富,基本上不需要特意去找合适的图标,直接把它的图标库下载过来,免费的有800多个。...name放到一个 solid.js 文件中,输出为数组,在组件中引入,然后就是循环数组 iconList,输出i标签,Fontawesome 的使用方式是:<i class="fas fas-<em>图标</em>name...在组件平级新建一个 index.<em>js</em> 文件 image.png import IconsCompontent from '....,这里是所有组件的集合 image.png 最后一步是在 main.<em>js</em> 中注册: import CustomComponents from '....原文链接:https://blog.zhangbing.site/2018/12/01/Vue-<em>js</em>-<em>图标</em>选择组件实践/ 作者简介:做工程不做码农(微信公众号同名),Web前端工程师,7年开发经验,坐标杭州
VS Code JavaScript/TypeScript 代码提示的每个图标都有它的名字和故事。
/promisify.js');const readFile = promisify('fs.readFile'); // 转换异步读取// 异步文件 由回调函数形式变成promise形式readFile
JS手撕(三) 节流、防抖 节流和防抖 前端开发中会遇到一些频繁的事件触发,像是resize、scroll、mousedown、mousemove、keyup、keydown等。...参考 死磕 36 个 JS 手写题(搞懂后,提升真的大) - 掘金 GitHub - qianlongo/fe-handwriting: 手写各种js Promise、apply、call、bind、new
将统计代码写进常用的js文件中。 将统计代码写进js中,只要每个页面有调用这个js,那这些页面都会被记录。...可有些统计都会在页面上留个小图标,对于有“强迫症”的人来说是致命的,直接在html中用display none来隐藏掉。如何在js中将统计代码隐藏呢?...以51统计为例,他提供了可至于js文件中的代码 ?....51.la/***.js">'); 如果cnzz或其他没有提供可至于js文件中的代码,可以先将普通html的代码转换成js的代码,也就是...,type="hidden",测试可行,不用 怎么样,修改js文件后统计代码图标是不是被隐藏了呢?
JS手撕(九) 常用Promise API 前言 上一篇已经手撕了一个简单版本的Promise。现在就在继续手撕常用的Promise API。...因为p4先得到结果 参考 Promise学习笔记(一) | 赤蓝紫 GitHub - qianlongo/fe-handwriting: 手写各种js Promise、apply、call、bind、
如何给自己的网站添加方便快捷的“返回顶部”小图标按钮呢?...如下图: JS源代码: /** * JavaScript脚本实现回到页面顶部示例 * @param acceleration 速度 * @param stime 时间间隔 (毫秒) **/ function
JS手撕(十一) 选择排序、快速排序 选择排序 原理 选择排序原理就是每次从未排序序列中选择最小元素,放到已排序序列的末尾。 那么如何选择最小元素,并把最小元素放到已排序序列的末尾?...图片来自菜鸟教程 JS实现 function selectSort(arr) { const len = arr.length; let minIndex; // 保存最小数的索引.../sort.js'); let arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 26, 4, 19, 50, 48]; console.log(selectSort...该操作称为分区操作(partition) 递归地把小于基准值地子序列和大于基准值地子序列排序 图片来自菜鸟教程 JS实现 function quickSort(arr, l, r) { if...Math.floor(Math.random() * (r - l) + l); [arr[l], arr[pivot]] = [arr[pivot], arr[l]]; pivot = l; JS
其实 Fabric.js 官网也有这个demo:Fabric.js demos · Custom controls, polygon 。...但这个demo可能对于刚接触 Fabric.js 的工友来说有点过于复杂,所以本文就把该demo进一步简化,简化到老奶奶也能看得懂的!...原理分析 要实现“拖拽多边形定点修改多边形形状”这个功能有很多方案,比如 Fabric.js demos · Custom controls, polygon 中,通过自定义控件来实现。...又或者用 《Fabric.js 讲解官方demo:Stickman》 文章中的方法去实现。 使用 Fabric.js 官网给出的demo会更优雅,推荐在工作中使用。...这个做法和 《Fabric.js 讲解官方demo:Stickman》 是一样的。
前言 最近在准备面试,刚好利用几天的时间系统的整理了下JS经常考的手撕题类型。 在这里,以脑图的形式带大家手撕这篇文章里的所有题(带注释)。 脑图里的所有题型即是本文中的30道常考高频题 脑图? ?...30道JS高频手撕题 1.手动实现一个浅克隆 浅克隆: 只拷贝对象或数组的第一层内容 const shallClone = (target) => { if (typeof target === '...}); } next(); }; asyncFunc(function* () { // 生成器函数:控制代码一步步执行 let data = yield readFile('a.js...'); // 等这一步骤执行执行成功之后,再往下走,没执行完的时候,直接返回 data = yield readFile(data + 'b.js'); return data; }) 17....sayHello('时光屋小豪'); let demo2 = sayHello('掘友们'); let demo3 = sayHello('公众号的朋友们'); }; autoRun(); 20.ES5手动实现数组
JS手撕(十) 冒泡排序、插入排序 冒泡排序 原理 冒泡排序原理就是依次比较相邻元素,如果前面的比后面的大,那就互换位置。从第一对比到最后一对。...下面的动图来自于菜鸟教程(贴出来主要是为了能更好的理解) JS实现 实现: function bubbleSort(arr) { const len = arr.length; for (let...(如果待插入元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面,这是为了让插入排序是稳定的) JS实现 function insertSort(arr) { const len =.../sort.js'); let arr = [3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 26, 4, 19, 50, 48]; console.log(insertSort
折叠(Collapse)插件也叫手风琴插件,是一个页面中常用的组件 通常我们会需要 “+” “-” “▷”等符号对其进行装饰,默认“+”,展开后变为“-”号,转换三角形的角度等 实现的方法有很多种
JS手撕(一) 类型判断、instanceof、数组去重 前言 看这篇文章的小伙伴,建议看完每一节,都尝试自己手撕一遍,最好就是弄懂原理后再开始手撕(不要边看边手撕,会产生依赖),本人就是看别人的文章后手撕的...(因为手撕题型记不住,还有一些大佬有很有意思的解法) 类型判断 有用过JS一段时间的小伙伴应该对typeof比较属性,我们需要进行类型判断的时候一般都会先想到它。...但是呢,它有一个很大的局限性,比如如果是null、array都会被认为是object,array是因为是一个特殊的对象,而null则是因为JS诞生以来null的实现导致的。...所以现在就来手撕一个类型判断函数。原理就是使用Object.prototype.toString来获取具体的类型。...手写题(搞懂后,提升真的大) - 掘金 GitHub - qianlongo/fe-handwriting: 手写各种js Promise、apply、call、bind、new、deepClone…
在线css三角形生成器预览 ? 由预览动画我们可以看到通过在线工具我们可以轻松配置各种想要的三角形, 并且能实时查看css代码. 开发完这个工具之后笔者再也不用担心还需要手写三角形代码了....实现css三角形生成器 因为这个工具的需求来自于前端, 所以肯定是要对css和js编程有一定的基础, 比如css3的 transform, transition, 布局, 盒模型, border边界特性等...和笔者之前写的任何一个开源工具一样, 在开发项目前一定要明确需求和目标, 这里笔者简单整理一下需求: 生成任何大小的三角形(size) 生成不同位置的三角形(direction) 生成不同角度的三角形(...接下来我们先分析一下用css实现三角形的原理. 1.css画三角形的原理 其实笔者在之前的文章中也分享过3种以上的使用css实现三角形的方案, 这里笔者介绍一个通用的方法, 也就是用border来实现三角形..., 大家还可以在此基础上继续扩展, 比如支持多边形, 六角形, ⭐五角形等, 也是完全没问题的.
领取专属 10元无门槛券
手把手带您无忧上云