JavaScript命名空间 || 名字空间

十月 12th, 2011
命名空间 || 名字空间 :
javascript中的模块和名字空间是不可区分的内容。
JavaScript 的命名空间并不是真正的命名空间, 只是在脚本内部创建一个封闭的小空间, 必须通过特定的空间名称才能对空间内部的代码进行访问。
 
作用:
这样可以防止同名函数和变量发生冲突, 也可以更方便地管理代码, 就像 .NET 的命名空间 (namespace) 和 Java 的包 (package) 一样.
 

Read the rest of this entry »

对另一半的期望

九月 28th, 2011
最近刚萌生对另一半的一些期望,记录一下,以后暂且先按这个标准找啦【友情提示:这只是理想目标,现实和理想是有差距的,我明白】。

 

 

善良、爱美、持家、善解人意

 

 

解释一下:
善良:人品好,脾气好;
爱美:拒绝很漂亮和不漂亮的,会着装、爱干净『讨厌浓妆艳抹』【喜欢女人型】;
持家:这个就不用过多解释了,你持家我协助、你指挥我干活都行,共同持家;
善解人意:介个很重要,读懂一个人很难。

 

 

 

 

iframe子页面与父页面通讯 chrome特别提示

八月 10th, 2011
// 父控制子
document.getElementById(“id”).contentWindow.document.getElementById(“aaa”).innerHTML = “”;
// 子控制父
parent.document.getElementById(“myfu”).innerHTML = “”;
** chrome环境下需要通过HTTP访问才能生效 **
貌似chrome这个问题我碰到两次了,第一次没有注意,第二次又在找答案,这次不会再忘记啦!

将光标置于某表单元素的最后

七月 29th, 2011

在工作中难免要对textarea动态插入一些内容,插入完成后又想让光标定位于textarea的最后,各浏览器对这个的解释有些差异,下面整理了一个兼容浏览器的方法 toTextEnd ,此方法接受一个参数,该参数为要定位光标的目标元素【可编辑表单元素】。

其实理论很简单,在IE中采用createTextRange方法,非IE中采用setSelectionRange方法进行光标定位。

代码中的cn.ie是进行IE检测,使用代码的朋友可以换成自己的方法才会起作用,否则会报错。

看代码:

function toTextEnd(elem){// 将光标置于某表单元素的最后
 if(cn.ie){
  var range = elem.createTextRange();
  range.moveStart("character", elem.value.length);
  range.collapse(true);
  range.select();
 }else{// 非IE情况下将光标置于文本框最后
  elem.setSelectionRange(elem.value.length, elem.value.length);
  elem.focus();
 }
};

 

重构Array的sort方法

六月 16th, 2011
sort是数组的一个排序方法。 
 
这个排序是进行两两比较。
拿这个数组进行降序排列var a = [3, 1, 5, 6, 4, 2];
第一轮比较:用第一个数值和本数组的其他元素进行比对
3比1
3比5  //5大,所以所以进行交换  得a = [5, 1, 3, 6, 4, 2];
5比6  //交换 得a = [6, 1, 3, 5, 4, 2];
6比4
6比2
第一轮最终结果 a = [6, 1, 3, 5, 4, 2];
 
第二轮比较:用第二个数值和这个数值之后的元素进行对比
1比3  //交换  得a = [6, 3, 1, 5, 4, 2];
3比5  //交换 得a = [6, 5, 1, 3, 4, 2];
5比4
5比2
第二轮最终结果 a = [6, 5, 1, 3, 4, 2];
 
就这样依次进行交换
 
第三轮最终结果 a = [6, 5, 4, 1, 3, 2];
 
第四轮最终结果 a = [6, 5, 4, 3, 1, 2];
 
第五轮最终结果 a = [6, 5, 4, 3, 2, 1];
 
 
 
下面是重构的方法:
Array.prototype.fst = function(fn){
 var fn = fn || function(a, b){ return a > b;};
 for(var i=0; i<this.length; i++){
  for(var j=i; j<this.length; j++){
   if(fn(this[i], this[j]) > 0){
    var t = this[i];
    this[i] = this[j];
    this[j] = t;
   }
  }
 }
 return this;
};
 

最近忙学车冷漠了博客。活力控 以后哟勤奋点哦

六月 15th, 2011

RT

拼图游戏–JavaScript小游戏

五月 16th, 2011
请用FireFox4.0[及以上版本]Chrome11[及以上版本]打开。
别的,没什么可说的,就是做着玩。看演示吧

拼图游戏--JavaScript小游戏

看演示吧

限制表单输入长度 汉字为两个字符

三月 23rd, 2011

 

该效果是继 检测表单输入长度 显示剩余可输入字数 之后,在他的基础上整合的小有差别的一个效果,希望方便朋友们使用。

 

将该效果整合成了一个函数,此函数接受3个参数:

第一个为textarea或其他text表单的ID;

第二个为显示输入内容的ID,可留空;

第三个为最多输入的字符,一个汉字为2个字符。

 

这只是一个基础效果,欢迎同学们进行优化和改进。

 

要获取代码请查看demo的源文件

 

 

 

“\v” != “v” 号称最简短的IE判断失效

三月 23rd, 2011

“\v” != “v” 这个曾是最简短的判断是否为IE的方法,但是现在在IE9中失效了,请喜好这个的同学慎用。

“\v” != “v” 这个返回true,曾代表不是IE浏览器,但是现在IE9也返回true

IE6实现PNG图片和PNG背景透明

三月 17th, 2011

具体请看DEMO   请用IE6看

下载DEMO

 

首先将DEMO中的CSS文件夹内的iepngfix.htc、blank.gif两个文件放在你的CSS目录下。

 

然后再CSS中引用属性使其生效,例如:

img,div{ behavior: url(“css/iepngfix.htc”); }

 

这个时候只有IMG和DIV标签才生效,如果要让更多标签生效可以使用“*”,例如:

*{ behavior: url(“css/iepngfix.htc”); }

 

由于 * 是所有的意思,范围较大,不建议使用。

 

特别注意:

如果您想要背景透明时会有一些BUG,此插件不支持背景定位和平铺。

 

具体请看DEMO   请用IE6看

 

下载DEMO