摘要: IE6 IE7 IE8(Q) 在某些情况下 DOM 元素的 offsetTop、offsetLeft 的返回值参照元素以及 offsetParent 为距离其最近的触发了 hasLayout 的祖先级元素http://w3help.org/zh-cn/causes/SD9018#impacted_browsers 阅读全文
posted @ 2013-03-10 10:20 evilfox 阅读(349) 评论(0) 推荐(0) 编辑
摘要: Array.prototype.random=function(){ for(var i=0;i<this.length;i++){ var iNum=parseInt(Math.random()*this.length); var oNow=this[i]; //在未进行替换操作前记录下当前数组项 this[i]=this[iNum]; this[iNum]=oNow; } return this;};var arr1=[1,2,3,4,5,6,7,8,9,10];var arr2=['北京','天津','上海'... 阅读全文
posted @ 2013-03-10 07:31 evilfox 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 需要用到这种效果,但是看到网上找的写得又太高深,干脆就自动动手了,,哈哈。。。先写了个二级的,三级的原理也是一样的啦,不过目前我都没用到它。。。打个包给分享给需要的朋友吧,一定要location_cn.js才能用哦。。。下载<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/19 阅读全文
posted @ 2013-03-08 17:49 evilfox 阅读(4067) 评论(0) 推荐(0) 编辑
摘要: 1.字符串重复字符保留一位//要求:将重复的字符保留一位var str= "aaaebbbcccdddgggg";var oReg=/(.)\1+/g; //这里的\1是对()里的任何一个字符的反向引用,也就是第2位的字符与第1位重复的才能匹配到,+表示该重复的字符可以出现一次或者多次。//alert(str.match(oReg));document.write(str.replace(oReg,'$1'));2.字符串所有单词首字母大写var str='aaa bbb ccc dddddd';var oReg=/\b\w+\b/g;doc 阅读全文
posted @ 2013-03-06 01:04 evilfox 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1、对象的继承,一般的做法是复制:Object.extendprototype.js的实现方式是:Object.extend = function(destination, source) { for (property in source) { destination[property] = source[property]; } return destination; }除此之外,还有种方法,就是:Function.apply(当然使用Function.call也是可以的)apply方法能劫持另外一个对象的方法,继承另外一个对象的属性Function.apply(obj,args)... 阅读全文
posted @ 2013-03-05 17:40 evilfox 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 实现递归的算法大家都是很熟悉的,比如一个求0到n的和的递归函数如下:varfn=function(n){ if(n>0)returnn+fn(n-1); return0; } alert(fn(10))当然这是一个很简单的函数,如果在一个很复杂的程序中我们可能只需要调用一次该函数,为了函数的精简我们当然要努力较少函数名的定义,这是很自然会想到用匿名函数来直接执行。但是如果是匿名函数如何实现递归?arguments.callee正好派上用场,他指代的就是当前执行的函数的引用。利用匿名函数实现的递归如下:vars=(function(n){ if(n>0)returnn+argumen 阅读全文
posted @ 2013-03-04 14:36 evilfox 阅读(182) 评论(0) 推荐(0) 编辑
摘要: //要求:将字符串 8/10/2013 转为 2013-10-8var str='8/10/2013';//使用()分别创建分组,序号分别对应的就是 $1, $2 ,$3//var oReg=/(\d)\/(\d\d)\/(\d\d\d\d)/;//当然也可以用量词方便些var oReg=/(\d)\/(\d{2})\/(\d{4})/;oReg.test(str);//alert(str.match(oReg)); //返回整个字符串 8/10/2013//alert(RegExp.$1); //8 //访问分组1,返回 8//alert(RegExp.$2); ... 阅读全文
posted @ 2013-03-04 10:27 evilfox 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 非捕获性分组:创建反向引用的分组,这种分组一般称为捕获性分组。同时也存在一种非捕获性分组。它不会创建反向引用,因为在比较长的正则表达式中,分组多了会很影响效率。所以使用非捕获性分组。创建非捕获性分组是这样的(?:开始然后写表达式。例如:var str='#123456';//var oReg=/#(\w+)/g; //()的作用有多种,其中一咱就是捕获性分组,有些书上也称做“反向引用”,var oReg=/#(?:\w+)/; //非捕获性分组 ,在()左边添加 ?:alert(oReg.test(str)); //truealert(RegExp.$1); // '& 阅读全文
posted @ 2013-03-04 09:49 evilfox 阅读(1582) 评论(0) 推荐(0) 编辑
摘要: 作为一个web前端开发为了html语义化常常要给内容模块加上一些标题来让页面更有意义当然还有我们的图片按钮在抛开css裸奔的情况下也能很顺利的汲取到页面信息通常为了传达更好的视觉效果我们常用图片替代掉字体而早前的前端开发常直接不在html中给出内容用 ;(甚至为空)这样在没有加载到css时就无法知道这个区块究竟是什么内容了正题开始通常偏移掉字体的方式是使用text-indent:-9999px;可是他有一个局限性 他只适用于块级元素block而我们往往有时候想偏移掉的a上的字体所以问题就来了text-indent:-9999px;虽然用起来比较惬意将a转化成block的话 往往 他身后的的元素 阅读全文
posted @ 2013-02-28 20:53 evilfox 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一般来说,设置input按钮的background-image属性,在Firefox,Chrome等标准W3C浏览器中,只要写二行css:12background-image: url(images/hello.jpg);background-repeat: no-repeat;但是在IE下,只写上面二行CSS,input元素是不会显示背景图片的,需要写成如下形式,才能正常显示:1234background-image: url(images/hello.jpg);background-repeat: no-repeat;background-color: transparent;border 阅读全文
posted @ 2013-02-28 20:45 evilfox 阅读(6206) 评论(0) 推荐(0) 编辑