数据结构与算法 - 队列

队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。队列用于存储按 顺序排列的数据,先进先出,这点和栈不一样,在栈中,最后入栈的元素反而被优先处 理。可以将队列想象成在银行前排队的人群...

数据结构与算法 – 栈

栈是一种特殊的列表, 栈内的元素只能通过列表的一端访问, 这一端称为栈顶。 咖啡厅内的一摞盘子是现实世界常见的栈的例子。 只能从最上面取盘子, 盘子洗净后, 也只能摞在这一摞盘子的最上面。 栈被称...

js事件穿透实现

很多时候我们可能会遇到事件穿透这样的问题,就是说在一个元素a上面遮了另外一个元素b,b完全遮住a,然后我们在点击b的时候,如果该点击位置在a的区域内,那么同时应该触发a的相应事件。但是默认情况下,...

数据结构与算法-列表

在日常生活中,人们经常使用列表:待办事项列表、购物清单、十佳榜单、最后十名榜单 等。计算机程序也在使用列表,尤其是列表中保存的元素不是太多时。当不需要在一个很 长的序列中查找元素,或者对其进行排序...

Canvas中clearRect失效问题

我们在使用canvas的过程中,可能会遇到这样的问题,我们在重绘画布图片的时候,当多重绘的间隔比较短或者说几乎同时执行的时候,我们发现一个问题,clearRect失效了,一半重绘都是在元素状态更新...

Canvas生成姓名文字头像

很多项目管理工具都会有姓名文字头像这样一个功能,这样便于管理者或者成员更容易找到成员相关的内容,对于生成这样的图片方法很多,后端,前端均可生成,下面演示一个用canvas生成文字头像的例子。 代码...

javscript判断鼠标进入方向

之前在别的网站上看到过判断鼠标进入方向然后展示一些效果的例子,以下是我整理的一个比较简单一点的判断鼠标进入方向的例子: <!DOCTYPE html> <html> ...

Canvas实现一个Tshirt制作应用

之前公司做过一个Tshirt制作的应用,我觉得这中间涉及到的东西还是挺多的,为了巩固知识,自己也做了一个,不过之前公司做的那个是基于vuejs来做的,模块化开发,结构比较清晰。而我自己的这个是用原...

canvas中imagedata对象的拷贝

我们在使用canvas的imagedata对象时,经常需要保留原始的imagedata对象,但是对于对象和数组来说不能简单的用一个=号赋值来保存一个当前的数组,对象和数组的赋值只是将某个变量指向了...