IE6,IE7下onresize事件被执行多次的问题之解决方法
IE下给window对象定义其onresize事件,在拉伸缩小窗口时,其onresize方法将被执行多次,并且其具体执行的次数在不同的电脑有不同的值,相当诡异,Firefox等其他浏览器则无此现象。具体可参看这一篇文章《window.onresize hangs IE6 and IE7》
高阶函数debounce 正是为此而生的
[javascript]__defineGetter__与__defineSetter__的用法
Getter是一种获取一个属性的值的方法,Setter是一种设置一个属性的值的方法。可以为任何预定义的核心对象或用户自定义对象定义getter和setter方法,从而为现有的对象添加新的属性。
有两种方法来定义Getter或Setter方法:
在对象初始化时定义
在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义
在使用对象初始化过程来定义Getter和Setter方法时唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。
还有一点要注意的就是getter方法没有参数,setter方法必须有一个参数,也就是要设置的属性的新值。
[js属性]outerHTML与innerHTML,outerText与innerText
开始之前注意:火狐(firefox)不支持outerHTML,innerText,outerText。
innerHTMl定义:
用来设置或获取位于对象起始和结束标签内的HTML(包括html代码)。所有浏览器都支持
outerHTML定义:
用来设置或获取位于对象起始和结束标签内的HTML(包括HTML代码,且包括自身标签)
outText与innerText定义:
用法上没有什么区别,设置或获取对象的文本
[javascript常用代码]获取URL的QueryString值
网络上比较好的方法(使用正则表达式)
- Request = {
- QueryString : function(item){
- var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
- return svalue ? svalue[1] : svalue;
- }
- }
- document.write( Request.QueryString("id")+"<br/>");
- document.write( Request.QueryString("age") );
[javascript方法]back()方法,隶属history对象
back()定义:
返回浏览器先前使用过的URL地址,效果和按下浏览器的“上一页”效果一样!
语法:
history.back();
[Javascript属性]availHeight及availWidth属性,隶属screen对象
availHeight属性定义:
返回计算机屏幕工作区域的高度。返回工作区域并不包括任务栏
availHeight语法:screen.availHeight
availWidth属性定义:
返回计算机画面工作区域的宽度,单位为像素。画面区域不包括任务栏。
[Javascript]atan(),atan2()及tan()方法,隶属Math对象
一、atan()方法定义:
返回指定数字的反正切值,语法:Math.atan(参数1)
二、atan2()方法定义:
以一个X,Y座标定位的点为基准,返回正切值 ,这个值介于正圆周率及负圆周率之间
atan2()语法:Math.atan2(X,Y)
三、tan()方法定义:
返回指定数字的正切值,语法:Math.tan(参数1)
[javascript]判断浏览器是否有纵向滚动条
直接上代码:
- if (document.documentElement.clientWidth < document.documentElement.offsetWidth-4){
- //执行相关脚本。
- }
“4” 指的浏览器的边框
[Javascript属性]appVersion()属性
appVersion属性定义:
可读属性,返回浏览器平台与版本信息
返回值的格式:浏览器版本(平台;附加信息;...;附加信息)
[Javascript]asin()及sin()方法,隶属Math对象
asin()定义:
返回指定数字的反正弦值。
sin()定义:
返回指定数字的正弦值。