배치: function(el, method, o, override) {
// el을 항상 HTMLElement로 둡니다.
el = (el && (el.tagName || el.item)) el : Y.Dom.get (el);
if (!el || !method) {
return false
}
// 반환된 객체 확인
varscope = (override) ) ? o : window;
// HTMLElement처럼 보이거나 배열이 아닌 것처럼 보입니다.
if (el.tagName || el.length === undefine) {
return method.call(scope, el, o);
var collection = [];
for (var i = 0, len = el.length; i collection[collection .length] = method.call(scope, el[i], o); }
return collection
}, Xiaoma는
배치가 YUI Dom이라고 덧붙였습니다. 핵심 중 하나인 라이브러리. 가장 큰 의미는 Dom 라이브러리
의 대부분의 다른 메소드의 첫 번째 매개변수가 id/element 객체 또는 id/element 객체 세트가 되도록 허용하여 루프 사용을 줄인다는 것입니다. 여기에서 통화 사용법을 확인하고 신청할 수 있습니다. 배치를 이해한 후 YUI.util.Dom이 이 메서드를 어떻게 사용하는지 살펴보겠습니다.
getStyle: function(el, property) {
// 뒤에 있는 두 가지 함수를 살펴보겠습니다. toCamel 함수 소개
property = toCamel(property);
// 노드 스타일 가져오기
var f = function(element) {
return getStyle(element, property); 🎜> };
return Y.Dom.batch(el, f, Y.Dom, true)
},setStyle: function(el, property, val) {
property = toCamel (속성);
// 노드 스타일 설정
var f = function(element) {
setStyle(element, property, val)
}; 🎜> Y.Dom.batch(el, f, Y.Dom, true)
}, 이 두 기능의 구체적인 사용법은 관련 문서를 참조하세요. 실제로 사용법은 파라미터를 보면 쉽게 알 수 있습니다. 위의 두 함수를 살펴보면 YAHOO.util.Dom.batch가 어떻게 호출되는지 이해하는 데 도움이 됩니다.
다음으로 getXY를 잠깐 살펴보세요
getXY: function(el) {
var f = function(el) {
// 요소가 "표시"되는지 확인합니다. 육안으로 보기"
if ((el.parentNode === null || el.offsetParent === null ||
this.getStyle(el, 'display') == 'none') &&
.ownerDocument.body) {
return false;
}
return getXY(el)
return Y.Dom.batch(el, f , Y.Dom, true);
}, getX 및 getY 메서드도 이 함수를 호출하지만 반환 값을 얻기 위한 배열 요소가 다릅니다. 브라우저 호환성 문제로 인해 사용자에게 제공되는 YAHOO.util.Dom.getXY는 변수에 대한 판단일 뿐이며 가장 복잡한 내부 getXY 함수에 전달됩니다.
좋아요, 아직 "서스펜스"가 너무 많아서 다음 호에서는 이를 해결하는 데 중점을 둘 것입니다.