易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 缓存系统

模仿jQuery,设计了一个缓存系统。像jQuery.data这样的东西,Prototype与mootools也有,目的都是用来辅助事件系统,用来缓存其中生成的数据,而非缓存普通函数上次计算的结果。Prototype利用了它的Hash类,mootools没细看,它内部好像用来缓存uuid。一个共识是,为页面用到的元素设置uuid非常有用,要查找元素时,可以避免重复查找,也可以用于与事件回调函数相绑定。由于uuid目前只有IE支持,它叫做uniqueID,格式为ms__id\d+,后面的数字也有名堂,叫做uniqueNumber。jQuery那个算是uniqueNumber吧,而且它的缓存系统非常复杂,支持缓存单个数据(利用data这个读写方法)与一组数据(利用queue,删除用dequeue)。没办法,因为它是白手起家,没有像Prototype那样利用一个自定数据类型分担一下职责。是时候进入正题,说一下我的缓存系统了。它利用到我的超级数组对象,实现像queue与dequeue。但我的超级数组对象能做的事更多,像filter,forEach,map,reduce,one,toObject,contains,remove等一应俱全。
dom.eventTypes = dom.array(String("abort blur change click contextmenu \
dblclick error focus keydown keypress keyup load mousedown \
mouseenter mouseup mouseleave mousemove mouseover mouseout \
reset resize select submit unload").match(/\w+/g));
//******************************缓存系统***********************
dom.mixin({
uuid : 0,
storage: {},
buildCache:function(item){
var key,cache = dom.storage;
//如果是window
if ( item.setInterval && ( item !== window && !item.frameElement )) {
key = "dom-window"
}else if(item.nodeType){
if(!item.uuid){
item.uuid = "dom" + dom.uuid++
dom.cache("uuid","uuid-set",item);//保存元素的引用
}//如果当前元素没有uuid这属性,那么为它添加一个
key = item.uuid
}else if(dom.isString(item)){
key = item;
}else{
throw "item must be element node ,window or string"
}
if(!


相关文档:

JavaScript 获取对象的高度和宽度详细说明

scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......

javascript 显示隐藏表的一行

<a href='javascript:add();'>添加</a>
<a href='javascript:del();'>删除</a>
<table width=300 id=tbl>
<tr style='display:none;'><td>11111111111111</td></tr>
<tr style='display:none;'><td>22222222222222</td></tr>
<tr s ......

Javascript之文件操作 (IE)

一、功能实现核心:FileSystemObject 对象 
    要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。
二、FileSystemObject编程 
使用FileSystemObject 对象进行编程很简单,一般要经过如下的步骤: 创建FileSystemObject对象、应用相关方法、访问对象相关属性 。  ......

javascript感言

                                                    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号