时间:2021-05-28
batch:function(el,method,o,override){
//让el始终为HTMLElement
el=(el&&(el.tagName||el.item))?el:Y.Dom.get(el);
if(!el||!method){
returnfalse;
}
//确定返回的对象
varscope=(override)?o:window;
//看起来是个HTMLElement或者不是Array
if(el.tagName||el.length===undefined){
returnmethod.call(scope,el,o);
}
varcollection=[];
for(vari=0,len=el.length;i<len;++i){
collection[collection.length]=method.call(scope,el[i],o);
}
returncollection;
},小马补充
batch是YUIDom库的核心之一。它最大的意义在于,它让Dom库的其他大多方法
的第一个参数可以是一个id/元素对象或一组id/元素对象,减少了循环的使用。在这里可以找到call与apply的用法。在了解了batch以后,下来看YUI.util.Dom是怎么使用这一方法的,一口气看两个函数
getStyle:function(el,property){
//toCamel函数后面介绍
property=toCamel(property);
//获取节点的样式
varf=function(element){
returngetStyle(element,property);
};
returnY.Dom.batch(el,f,Y.Dom,true);
},setStyle:function(el,property,val){
property=toCamel(property);
//设置节点的样式
varf=function(element){
setStyle(element,property,val);
};
Y.Dom.batch(el,f,Y.Dom,true);
},有关这两个函数的具体用法,可以看下相关的文档。其实从参数上就很容易理解怎么使用。看上面的两个函数有利于理解YAHOO.util.Dom.batch的调用方式。
接下来,粗略看下getXY
getXY:function(el){
varf=function(el){
//确定元素是否“肉眼可见”
if((el.parentNode===null||el.offsetParent===null||
this.getStyle(el,'display')=='none')&&
el!=el.ownerDocument.body){
returnfalse;
}
returngetXY(el);
};
returnY.Dom.batch(el,f,Y.Dom,true);
},getX与getY方法也是调用此函数,只是获取返回值的数组元素不一样。由于浏览器的兼容问题,提供给用户的YAHOO.util.Dom.getXY也仅仅是判断变量以后,再扔给最为复杂的内部getXY函数。
OK,留下太多的“悬念”了,下一期着重将它们解决。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Part.1问题在写一个H5页面时遇到一个需求,头部公告需要滚动变换,需要实现一个走马灯效果Part.2实现我的做法:利用定时器+CSS3变换公告数组的顺序从而
提供的js,css压缩工具yuicompressor2.46打包简介官方网址:http://developer.yahoo.com/yui/compressor
javascript中有两种事件模型:DOM0,DOM2。而对于这两种的时间模型,我一直不是非常的清楚,现在通过网上查阅资料终于明白了一些。 一.DOM0级事
本文实例讲述了JavaScript学习笔记之DOM操作。分享给大家供大家参考,具体如下:一、DOM概念1."D":Docment,指的是文档2.“O”:Obje
在这里先要感谢yahoo的工程师们无私的将他们的成果奉献出来——yui(yahoo!ui)其实这是它自带的一个例子,我只是熟悉了一下,各种接口调用还是比较方便的