摘要:
有人在twitter上提到了:在Chrome的JavaScript终端中,你只需要输入一个元素的ID,就可以访问到这个元素.@johnjbarton给了解释,这是因为所有的元素ID都是全局变量.本文再详细解释一下 HTML5规范文档中指出:如果一个元素符合下面两条规则中的任一条,则window对象中 阅读全文
摘要:
matrix(<a> <b> <c> <d> <e> <f>),以六个值的变换矩阵形式指定变换 translate(<tx> [<ty>]),通过 tx 和 ty 指定平移 scale(<sx> [<sy>]),通过 sx 和 sy 指定缩放操作 rotate(<rotate-angle> [<cx 阅读全文
摘要:
泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能。算法的原理很简单,就是从一个点开始附近像素点,填充成新 的颜色,直到封闭区域内的所有像素点都被填充新颜色为止。泛红填充实 阅读全文
摘要:
封闭连通域的图像填充是个常见的算法,最近有机会接触到大图像的例子,做一下总结。 这类问题最基本的算法是种子填充。即先给出封闭区域内的一点,从这点出发搜索邻域,只要不到边界,就把相邻点纳入连通域,赋予填充色。边界的判断比较灵活,可以使用固定颜色,也可以用一定阈值的色彩容差,类似photoshop中的魔 阅读全文
摘要:
//定义点的结构体 function point(){ this.x=0; this.y=0; } //计算一个点是否在多边形里,参数:点,多边形数组 function PointInPoly(pt, poly) { for (var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i) (... 阅读全文
摘要:
hammerJS是一个优秀的、轻量级的触屏设备手势库,现在已经更新到2.04版本,跟1.0版本有点天壤地别了,毕竟改写了事件名并新增了许多方法,允许同时监听多个手势、自定义识别器,也可以识别滑动方向。 不过对于新版本的hammerJS却及其匮乏中文指引文档,就着这一点我还是上 官网翻译下英文文档,写 阅读全文
摘要:
canvas剪裁图片并上传,前端一步到位,无需用到后端 背景: 当前主流的图片剪裁主要有两种实现方式。 1:flash操作剪裁。2:利用js和dom操作剪裁。 目前看来这个剪裁主要还是先通过前端上传图片到服务器,然后前端操作后把一些坐标和大小数据传到后台, 然后后台来执行剪裁。我一直觉得这样有很多问 阅读全文
摘要:
鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemove 如果按下鼠标上的设备(左键,右键,滚轮……),则触发mousedown 当设备弹起的时候触发mouseup 目标元素的滚动条发生移动时(滚动滚轮/拖动滚动条。。)触发scr 阅读全文
摘要:
DOM0事件模型 事件模型在不断发展,早期的事件模型称为DOM0级别。 DOM0事件模型,所有的浏览器都支持。 直接在dom对象上注册事件名称,就是DOM0写法,比如: 意思就是注册一个onclick事件。当然,它和这种写法是一个意思: 这没什么,只不过是两种访问js对象属性的方法,[]的形式主要是 阅读全文
摘要:
1 (function() { 2 3 // 创建一个全局对象, 在浏览器中表示为window对象, 在Node.js中表示global对象 4 var root = this; 5 6 // 保存"_"(下划线变量)被覆盖之前的值 7 // 如果出现命名冲突或考虑到规范, 可通... 阅读全文