随笔分类 -  JS

摘要:首先介绍一个属性:lastIndex不论是/abc/,还是new RegExp('abc'),都有lastIndex,W3C的说法是 “标示开始下一次匹配的字符位置”。1. 把 ‘-----------china-----------china-----------china-----------’ 中的china换成china1,china2,china3var rep = /china/g, str = '-----------china-----------china-----------china-----------', i = 1;str = str 阅读全文
posted @ 2011-11-01 21:39 越己 阅读(305) 评论(0) 推荐(0)
摘要:简介Selection是window.getSelection()或其他方法返回的对象。它表示选中的文本区域,当用户在页面上选择一段文本时,它很可能会跨越多个元素。关于可编辑元素的text selection,可以查看Input,Textarea和 document.activeElement,这些元素都会返回the parent object returned from window.getSelection()。Selection 表现为一组 Range 对象,第一个 Range 对象在组中的索引为0,以此类推。 Selection 中的所有成员以 Range 对象上的操作方式定义,这些操 阅读全文
posted @ 2011-10-31 18:14 越己 阅读(2238) 评论(1) 推荐(1)
摘要:更新(2011/07/09)Firefox 5实现mozRequestAnimationFrame 但没有mozCancelRequestAnimationFrame,为了确保下面的函数正常运行,代码进行了调整,强制Firefox使用setTimeout/setInterval,直到mozCancelRequestAnimationFrame可用为止。更新(2011/06/04)修正了函数,so that they can be cancelled with drop in replace functions for clearTimeout() & clearInterval()。= 阅读全文
posted @ 2011-10-23 17:16 越己 阅读(775) 评论(0) 推荐(0)
摘要:在博客园写博客,贴得出代码却看不到效果,需要用户复制到本地文件去运行,这样的阅读体验很差,所以我决定开发一个代码运行框,进一步提升用户体验。需要的控件有<textarea>和<button><textarea>:用于输入HTML代码<button>:点击后弹出浮层,展现运行结果这个运行框组件的HTML结构为:<div id="code_box"> <textarea></textarea> <button>运行</button></div><div 阅读全文
posted @ 2011-10-19 15:03 越己 阅读(613) 评论(0) 推荐(0)
摘要:传说有个很长的标题 “#%*……&#什么东西1234abcd 还不够长9876 efgh 好了就这样吧” ,标题有多长往往是不可预期的,比如日志的标题,用户还真有这么变态的,当然我们显示的时候,根据设计,不可能有多长显示多长,太长了屏幕也不够啊。这个需求涉及到获取string的长度和截取某个长度搜了下相关资料,发现有人这么判断是否为双字节字符:if(str.charCodeAt(i) & 0xff00) != 0){ //双字节}charCodeAt()用于获取指定位置字符的 Unicode 编码;0xff00是 “1111 1111 0000 0000” 的十六进制表示法;& 阅读全文
posted @ 2011-10-13 23:00 越己 阅读(1189) 评论(3) 推荐(0)
摘要:为什么会有这个需求呢?因为表单是需要验证的,如果你的表单不需要验证,且只有一个输入框,这篇文章你可以无视了,比如谷哥和度娘的首页就木有这种需求。来说说验证的情况,这需求太普遍了,比如验证两次输入的密码是否一样,用户名是否包含非法字符等,如果不验证表单,这些非法数据就直接提交到服务器了。<input type="submit"/>的click事件和form的submit事件提交表单的最后一步是表单的submit事件,如果有<input type="submit"/>,那它的click事件也会触发,触发顺序是click -> s 阅读全文
posted @ 2011-10-03 18:20 越己 阅读(3338) 评论(44) 推荐(1)
摘要:写缓动函数用到requestAnimationFrame函数,之前了解过一些,但总觉得又不是很了解,所以翻译一篇老外的文章,以便学习分享。requestAnimationFrame是什么?以前我们做动画需要一个定时器,每间隔多少毫秒就做出一些改变。现在有个好消息:浏览器厂商已经决定提供一个专门做动画的方法,即requestAnimationFrame(),而且基于浏览器的层面也能更好的进行优化。但是呢,这只是一个做动画的基础API,即不基于DOM元素的style变化,也不基于canvas,或者WebGL。所以,具体的动画细节需要我们自己写。我们为什么要用它?对于同时进行的n个动画,浏览器能够进 阅读全文
posted @ 2011-09-30 16:42 越己 阅读(4757) 评论(13) 推荐(3)
摘要:jQuery的缓动函数不给力,被逼自己写一个,既然要写,先把需求列好:1. 动画类型有:linear, easeIn, easeOut,easeInOut2. 可以在缓动过程中改变属性,也可以是调用函数,并改变函数的参数(后者是我的初衷,jq只支持属性,见当0碰上0)动画是怎样产生的?学过Flash的人应该知道帧,帧就是一个画面,通常一秒25帧,也就一秒播放25个画面,如此快速的放过去,静态也成了动态(当然,前提是25个画面不是同一个画面,囧。。。)难道做动画要画N多图,好吧,这叫“逐帧动画”,如果你很闲大可以这么干,因为这样做的效果绝对是顶级的,毫无瑕疵的。但是我一点都不闲,我画画的水平连幼 阅读全文
posted @ 2011-09-29 01:12 越己 阅读(2967) 评论(33) 推荐(10)
摘要:话说取值习惯用a||b,当0遇上0,这句话就是一句废话!我的问题是这样的:首先页面有滚动条,滚动条位于初始位置(最顶上),然后我点击一个按钮,缓动到底部,这个时候,就会发生见鬼的0与0的对决。//jQuery代码function toBottom(){ var el = null, scrollHeight = Math.max(document.body.scrollHeight,document.documentElement.scrollHeight), clientHeight = Math.min(document.documentElement.clientHeight, do.. 阅读全文
posted @ 2011-09-28 01:09 越己 阅读(2848) 评论(15) 推荐(0)
摘要:原来只知道是获取元素的位置信息的,今天测试了一个功能,发现不是这么简单,见例子<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <style type="text/css"> #null { height:1300px; } #bottom { background:lightblue; height:100px; } </sty 阅读全文
posted @ 2011-09-13 15:03 越己 阅读(718) 评论(0) 推荐(0)
摘要:如果需要判断一个对象是否为Array类型,一般会怎么做呢?function isArray(obj){ return obj instanceof Array;}或者类似的function isArray(obj){ return obj.constructor === Array;}补充一点基础知识,高手无视~A instanceof B 检测原理:对象A的原型链是否存在对象B的prototype,如果在,返回true;如果不在,则返回false。不过有一个特殊情况,当对象B的prototype为null将会报错。function A(){ }function B(){}A.prototyp 阅读全文
posted @ 2011-08-21 00:50 越己 阅读(1896) 评论(6) 推荐(3)
摘要:/** * 进行简繁体转换 * @param {string} text * @param {string} to 可选的参数为”简“或”繁“ * @return {string} */var transformTo = (function(){ var simplified = '万与丑专业丛东丝丢两严丧个丬丰临为丽举么义乌乐乔习乡书买乱争于亏云亘亚产亩亲亵亸亿仅从仑仓仪们价众优伙会伛伞伟传伤伥伦伧伪伫体余佣佥侠侣侥侦侧侨侩侪侬俣俦俨俩俪俭债倾偬偻偾偿傥傧储傩儿兑兖党兰关兴兹养兽冁内冈册写军农冢冯冲决况冻净凄凉凌减凑凛几凤凫凭凯击凼凿刍划刘则刚创删别刬刭刽刿剀剂剐剑剥剧劝办务劢动励劲 阅读全文
posted @ 2011-08-14 22:31 越己 阅读(1765) 评论(1) 推荐(0)