- 博客(63)
- 资源 (20)
- 收藏
- 关注
原创 SVG + Javascript 实现的五边形的扫雷游戏
扫雷游戏都玩过,五边形的扫雷你玩过么?国庆期间,写了个SVG + Javascript 实现的五边形的扫雷游戏,根据朋友们的体验,以及自己的想法,后面几天又陆续修了一些bug,增加了一些功能。推理难度降低了,但是没有方块扫雷那么直观,挑战一下头脑吧。
2013-10-22 09:43:20 6197 14
原创 SVG路径(path)中的圆弧(A)指令的语法说明及计算逻辑
SVG中的路径数据,即path元素的 d 属性,有一系列的路径绘制指令,其中椭圆弧指令(A)最复杂,不算椭圆弧起始点的x,y坐标的话,依然有7个参数。SVG椭圆弧指令的参数,与Canvas等圆弧指令的参数有很大差别,Canvas中使用圆心、半径、起始角度、结束角度等为参数,而SVG使用起始点坐标、半径、方向、结束点坐标等为参数。SVG之所以实现为这样的参数形式,是因为SVG中的路径包含的每段子...
2018-03-23 11:06:40 39293 4
原创 QQ轻聊版、TIM版无法修改个人文件夹位置的解决方法
QQ轻聊版、TIM版均有这个BUG:如果电脑上之前没有安装过QQ完整版(比如我新装的虚拟机),那么QQ轻聊版、TIM版里面,设置修改个人文件夹位置将无法生效。在QQ轻聊版、TIM版设置界面修改个人文件夹位置后,会提示转移数据文件,之后会重启轻聊版/TIM,但重启后的登录界面上没有之前登录过的QQ号,重新输入QQ号和密码登录后,查看配置界面,发现个人文件夹位置还是修改之前的默认路径(通常是在我的文档下)。后来查到了一个贴吧的帖子,才找到解决方法,这里记录一下,给有需要的朋友。
2017-05-11 11:21:46 48872 38
原创 HTML5 Canvas 绘制椭圆与椭圆弧的实现
由于HTML Canvas 2D Context标准中并没有直接绘制椭圆与椭圆弧的方法,所以浏览器普遍没有这个方法,不过,Chrome支持ellipse方法。IE11,Edge, Firefox, Safari目前最新版都还不支持。所以,我们需要用JS来实现这个方法,给Context2D加上一个ellipse方法。
2016-06-01 19:00:33 11322
原创 在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法
有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件。一直想要怎么才能不用创建文件,才能直接执行PHP代码片段呢?终于找到了方法,现在分享出来,给有需要的人。
2015-08-03 16:56:13 13007 1
原创 DataURL与File,Blob,canvas对象之间的互相转换的Javascript
canvas转换为dataURL (从canvas获取dataURL)var dataurl = canvas.toDataURL('image/png');var dataurl2 = canvas.toDataURL('image/jpeg', 0.8);File对象转换为dataURL、Blob对象转换为dataURLFile对象也是一个Blob对象,二者的处理相同。...
2015-05-27 01:14:54 107383 13
原创 Javascript TypedArray 解惑:Uint8Array 与 Uint8ClampedArray 的区别
JS的类型数组,从其构造函数名称,基本上都可以望文生义,看名字就知道怎么回事。但是有一个例外 Uint8ClampedArray ,它与 Uint8Array 颇为相似,但又有所区别。本文详细介绍这两者之间的差异,并举例说明。
2014-12-30 20:32:48 35552
原创 为Web服务器配置svgz文件需要的http头,让浏览器可以打开svgz文件
本文介绍了让浏览器能正常显示svgz文件应该怎样进行配置,并给出了Apache httpd服务器上的几种配置方式的示例,以及PHP程序动态输出svgz的例子。
2014-11-03 09:59:18 8006
原创 用Javascript清空(重置)文件类型的INPUT元素的值
因为安全限制,脚本不能随意设置文件域< input type=file >的value值,重置一个文件域的值,归纳起来主要有 3 种方法。本文分析这三种方法的浏览器兼容性以及优缺点,并给出一个比较完美的综合方案的代码和Demo。
2014-07-08 08:47:27 33886 5
原创 Stave插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应
Stave是一个Fiddler扩展插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应。Fiddler自带的AutoResponder每条自动响应规则只能对应一个本地文件, 在文件数目较多的时候,使用起来很不方便,往往需要部署到本地web服务,有了Stave插件(扩展),一个URL匹配可以对应一个本地目录,URL规则也支持通配符,前端调试方便多了。
2013-12-30 19:56:00 13380
原创 Javascript解惑之 new A.B() 与 new A().B() 的区别
Javascript解惑之 new A.B() 与 new A().B() 的区别,这个问题涉及到的知识面是,点运算符、new运算符、函数执行这三者之间的优先级的问题。到底是点运算符优先呢,还是new运算符优先?
2013-11-15 01:18:09 6260
原创 DataURL在Web浏览器中的兼容性总结
对DataURL在Web浏览器中的兼容性做了9点总结,IE中使用data URL的限制,并附了几个实用的有关data URL的链接。
2013-11-06 01:40:15 13459 1
原创 高效的获取当前元素是父元素的第几个子元素
例如处理事件的时候,有时候需要知道当前点击的是第几个子节点,而HTML DOM本身并没有直接提供相应的属性,需要自己来计算。对于表格TD和TR元素优先使用cellIndex和rowIndex属性。对于IE优先使用sourceIndex属性。其它情形使用previousElementSibling 或 previousSibling 进行遍历。compareDocumentPosition 方法的性能非常差。
2013-10-14 16:30:03 12087
原创 html中的 ol 元素的序号数字的极限
在IE, Firefox上,序号达到极限正值2147483647之后,后续的列表项的序号全部同为极限正值 2147483647 不变。在Chrome上,序号达到极限正值2147483647之后,下一个序号将变为极限负值 -2147483648, 再后续的将在这个基础上递增-2147483647, -2147483646,...
2013-10-14 15:16:37 3518
原创 HTML5迷你游戏作验证码
验证码变得越来越难以识别,给用户造成了很多的麻烦和反感。已经有很多人尝试过各种改进的验证码,但都有各种不足之处。或还是需要键盘输入,少数只需要鼠标操作。或以创意个案形式出现,不具备普遍适用性。或只为特定网站服务,不提供开放的服务。Play Thru 采用HTML5微型游戏来作为验证码,并且提供免费的开放验证码服务,集各种优点于一身。
2013-09-30 19:40:56 3120
原创 CSS多级数字序号的目录列表(类似3.3.1.这样的列表序号)
纯CSS实现类似3.3.1., 3.3.2.这样的列表序号,支持多级嵌套编号。 编写文档手册目录的时候,经常会用到这种格式。
2013-09-30 14:52:45 7380 2
原创 高效判断点是否在正六边形蜂窝内的方法
设计中,用到需要判断点是否在正六边形内,先是在网上搜了好几篇文章,发现都搞的挺复杂的,往往要使用向量运算计算面积夹角距离方向等,或者是射线法算交点,或者是切分三角形。我考虑到正六边形的特殊性,发现这个问题其实可以很讨巧的超简单解决,而且算法简单到连小学生都能理解,核心只要比较两个线段的长度。
2013-09-24 15:08:16 9410 5
原创 SVG中以任意直线为对称轴的镜像变换及其矩阵
直线一般方程为 A x + B y + C = 0则以该直线为对称轴,做镜像变换的矩阵为:任意点P(x,y)变换后的新坐标Q(x',y')的坐标为:SVG中的直线通常是以坐标轴形式或者是两点形式表示的。如果是以两点线段形式表示的,需要先求出直线方程的系数。两点(x1,y1),(x2,y2)确定的直线方程为:(y1-y2)*x + (x2-x1)*y
2013-09-23 16:06:39 8892
转载 点关于直线的距离、垂足、对称点公式
下面通过两种直线方程的形式,求解点关于直线的距离、垂足、对称点公式。问题描述1:已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0;求点到直线上的距离d、点在直线上的垂足(x, y)、点关于直线的对称点(x’, y‘)。解决方法:(1)距离: d = ( Ax0 + By0 + C ) / sqrt ( A*A + B*B );
2013-09-23 11:55:36 5323
原创 indexedDB中创建和使用索引
本文展示如何在indexedDB中创建和使用索引来优化数据查询。网上搜索到的indexedDB入门教程中,都没有介绍索引的使用,或是只带过了一下怎么创建索引,没提可以用来干什么。我在这里给出一个简洁完整的例子,示范一下indexedDB索引的使用。
2013-08-14 09:36:56 6864 1
原创 EditPlus配置CTags,实现函数提示和跳转
CTags是一个开源的代码导航工具,本文介绍在EditPlus编辑器中进行CTags配置,让EditPlus实现函数提示和跳转到函数定义。总的来说,这种方式在EditPlus里面还是很不方便使用的,只能说有胜于无吧。
2013-07-09 16:10:18 7733 1
原创 发布我的第一个Chrome扩展:移除百度搜索结果链接的跳转,去除恶心的/link?url=xxxxxxx....
看到百度搜索结果的恶心网址,总是不爽,于是花了点时间写了个Chrome扩展,自动修正这些链接。目前还没有写Firefox Extension,有空再说了。主要作用:移除百度搜索结果链接的跳转,直接打开结果网址。将类似这样的链接 http://www.baidu.com/link?url=l7MHGJqjJ4zBBpC8yDF8... 恢复为真实链接 http://www.163.com
2013-03-31 00:50:17 11533 7
原创 杯子倒水问题自动求解程序(Javascript实现)
智力测试题经常遇到类似的逻辑题,给几个容量不等的杯子,让你倒出多少的水。安卓上有一款专门玩这个题的游戏叫做Water Logic.我安装这个游戏把几十个关卡通了一遍,感觉这个游戏的关卡设计很不好,关卡的难度并不是递增的,有很多后面的关卡相当的弱智,并且缺乏高难度的关卡。做为程序员的我们,玩这类题目应该都没问题,10步以内的都可以轻松搞定,10步以上的也可以搞定但未必能够轻松达到
2013-03-24 22:59:24 7338
原创 HTML5 Canvas里绘制椭圆并保持线条粗细均匀的方法
Canvas里绘制椭圆是一个很常见的需求,比较新的HTML Canvas 2D Context W3C草案里面新增了ellipse方法绘制椭圆,但是目前大多数浏览器还没有实现该方法,所以需要用arc或者arcTo方法结合scale变形来绘制椭圆。示例代码:var ctx = document.querySelector('canvas').getContext('2d');ctx.l
2013-03-20 16:07:31 7361 1
原创 epp算法的JavaScript实现
epp是1个轻量的文本编辑软件,功能颇多,个人认为最大特色是:多标签页、多模版、自定义过滤器、自定义语法高亮。也有写陈年老毛病,比如epp里面JS正则表达式的高亮一直有bug,好多年都没修。在vscode横空出世之前,epp曾经担当我的主要工具很多年。
2012-12-14 17:27:41 2704 1
原创 9种网页动画常用实现方式总结
随着HTML5的逐步普及,在Web页上实现动画的方式也增加了,但也带来了一些兼容性问题,本文做一个总结。目前来说,没有一种方式是完美的。GIF兼容性最好,但是画质差,无交互。Canvas很火热,功能也强大,编程难度也稍高,旧IE不支持。SVG擅长处理矢量图形,交互容易,旧IE不支持。CSS3很闪亮,但功能有限,旧IE不支持。APNG, SMIL 还需看将来各浏览器的支持
2012-11-28 16:36:54 11287 5
原创 在EditPlus中配置JSHint插件,助你提高JS代码质量
用了很长一段时间的JSLint来做js质量验证工具,但是总有些感觉不爽的地方,JSLint对代码的要求有些不尽合理,所以有了JSHint的诞生,JSHint也是从JSLint分叉(fork)出来的,但是更加人性化了,使用过后,觉得比JSLint要爽多了。我fork了一个名为wsh-jslint-runner的项目,并进行了一些改进,配置在EditPlus里使用,相当方便。下面是运行
2012-10-08 18:01:59 10214 1
原创 Javascript解析INI文件内容的函数
.ini 是Initialization File的缩写,即初始化文件,ini文件格式广泛用于软件的配置文件。INI文件由节、键、值、注释组成。根据node.js版本的node-iniparser改写了个Javascript函数来解析INI文件内容,传入INI格式的字符串,返回一个json object。 function parseINIString(data){
2012-09-17 11:59:05 6214
原创 一个在浏览器运行的华容道、“移十五“之类的滑块游戏自动求解与演示的GWT源码
先科普一下GWT的概念。GWT:Google Web Toolkit的缩写,有了 GWT可以使用 Java 编程语言编写 AJAX 前端,然后 GWT 会交叉编译到优化的JavaScript 中,而 JavaScript 可以自动在所有主要浏览器上运行。(可以简单理解为用Java来写程序,编译成Javascript,运行到浏览器。)华容道、"移十五"之类的滑块游戏,共同点是每个...
2012-09-12 06:14:51 4894 4
原创 [SVG] 根据SVG椭圆弧路径参数计算中心点坐标、起始角度、结束角度的Javascript函数
SVG spec 1.2以及之前的版本标准中,都只有一种绘制椭圆弧的方式,即以起点、终点、长半轴、短半轴、大小弧标记、顺逆时针方向标记、倾角为参数来确定一段弧。这个方法很强大并灵活,可绘制任意的椭圆弧。有时候我们需要计算圆弧的圆心和起始角度、结束角度,虽然标准官方文档给出了计算公式的描述,但是没有给出直接的代码。我根据标准文档以及网上的资料,写了一个Javascript函数来做这件事。根据SVG椭...
2012-09-08 16:12:24 13624 19
原创 [ASP技巧] 巧给FSO文件夹列表内容排序
自己写排序算法十分繁琐,而且不够灵活,百度搜索“ASP 文件夹排序”搜到的结果可以100%视为垃圾。本文推荐一种最小代价的做法。'定义获取排序文件列表的函数Function getSortedFiles(folderPath) Dim rs, fso, folder, File Const adInteger = 3 Const adDate = 7
2012-09-07 00:29:21 4277
原创 Server.MapPath()不为人知的秘密
ASP中,常用Server.MapPath()来获取文件或文件夹路径,但是你可能碰到过这个方法出错的情况,而在手册或者教程中根本找不到相应的说明,只能从网上搜索到问题的答案,本文是我的经验分享,希望对部分人有用。 看过本文,才敢说你懂得用Server.MapPath() 1. 为MapPath方法指定的Path参数中包含无效字符。 ASP 0214 (0x80004005)
2012-09-05 11:31:55 2955
原创 1次ajax请求(XMLHttpRequest)上传多个文件,支持进度条
封装了一个ajax多文件上传,功能就是选择多个文件,用ajax上传。调用方式也很简单,写一个json对象做为参数配置,设置要上传的服务端url以及选择文件和上传完成等的事件处理函数,new一个AjaxUploadX对象,调用selectFiles方法选择文件,调用uplaod方法上传。支持的浏览器:Firefox、Chrome、Safari、Opera使用截图:
2012-08-27 10:52:31 11547 6
翻译 理解SVG的图形填充规则
本文内容翻译自W3.org网站的SVG规范,作为自己的备忘,供SVG初学者参考。原文网址: SVG fill-rule property in SVG 1.1 (Second Edition)SVG的图形填充规则通过fill-rule属性来指定。‘fill-rule’有效值: nonzero | evenodd | inherit默认值:
2012-08-09 17:11:53 18343 2
原创 正在做的一款HTML5多人在线扑克牌游戏:99分
用Node.JS做服务端,用WebSockets通信,实现HTML5多人在线游戏。这款扑克牌游戏名称叫99分,源于活动聚会时常多人玩的一种扑克游戏,特别适合6人、8人、10人玩。这个游戏由3个爱好游戏制作的前端er联合制作:Xiaole,Jerrod, 我(Igin). 我负责服务端脚本,以及客户端的通信过程、游戏逻辑的脚本。前段时间在D2 Show Time稍微展示了一下,还有很
2012-07-18 10:10:00 10158 3
原创 用Javascript实现让Canvas变模糊的效果
做Canvas应用的开发,可能会碰到需要使画面模糊的需求。容易想到三种方式:1、半透明模糊PNG 覆盖的方式,这种方式简单易行,但是不能灵活控制模糊程度。2、CSS方式,比如用-webkit-filter:blur(10px); 的形式,也极其简单,可控制模糊程度,但是这种方式的效果很差很差,中心模糊度高,四周模糊度低,而且整个元素外围会有光晕效果,已经不是真正意义的模糊了。3、
2012-07-17 15:35:45 11594
原创 jQuery/Sizzle元素选择器上下文的一个陷阱的分析与解决
现有这样一段HTML: a1 b1 c1 a2 b2 c2 现在用js去查找元素jQuery$('div .a, div .b, div .c',$('#div1'))SizzleSizzle('div .a, div .b, div .c',Sizzle('#div1'))
2012-05-23 16:48:08 1758 1
原创 使用SVG内置API计算图形或点经过transform之后的新坐标
一个应用场景是,点击一条路径,显示该路径的控制点。因为有transform变形(平移、缩放、倾斜、旋转等变换),所以获取变形后的新坐标需要计算。纯数学的方法,就是用2D变换矩阵的一些公式去运算,过程稍微有点复杂。不过好在SVG已经提供了丰富的API将一些矩阵运算封装了,非常实用,下面是Demo.svg代码.知识点:getScreenCTM() matrixTransform()
2012-05-16 14:42:18 5582
Apache HTTP Server 2.4 最新官方中文手册CHM (2016-12-22发布)
2017-04-11
TortoiseSVN 1.8.2 最新使用手册中文版PDF
2013-09-30
1次ajax请求(XMLHttpRequest)上传多个文件,支持进度条处理
2012-08-27
自动批量生成 SWF 缩略图或截图的工具 (SWF To Image)
2011-10-13
Javascript小游戏:彩球连线
2011-09-04
EditPlus的JSLint插件(检验Javascript编写规范)
2011-03-20
javascript版小游戏矩形消除RectWiper,画面和音效都不错
2010-11-28
软件项目开发的全套文档提纲.rar
2008-11-20
软件项目开发的全套文档提纲.rar
2008-11-20
仿163网盘无刷新文件上传.rar
2008-11-20
仿163网盘无刷新文件上传.rar
2008-11-20
CSS2官方(W3C)规范(中文版).chm
2008-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人