ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript YUIコード読書日記 YAHOO.util.Dom - Part.2 0_YUI.Ext関連
バッチ: function(el, method, o, override) {
// el を常に HTMLElement とする
el = (el && (el.tagName || el.item)) el : Y.Dom.get ? (el);
if (!el || !method) {
return false; }
// 返されるオブジェクトを決定します
varscope = (オーバーライド) ) ? o : window;
// HTMLElement のように見えますか、配列
if (el.tagName || el.length === unknown) {
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 であることを追加しました。ライブラリはコアの 1 つです。その最大の重要性は、Dom ライブラリ
の他のほとんどのメソッドの最初のパラメーターを id/要素オブジェクトまたは id/要素オブジェクトのセットにすることができ、ループの使用を削減できることです。電話のご利用方法やお申し込みはこちらから。バッチを理解した後、YUI.util.Dom がこのメソッドをどのように使用するかを見てみましょう。
getStyle: function(el, property) {
// の後ろで 2 つの関数を一度に見てみましょう。 toCamel function 概要
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 (property);
// ノードのスタイルを設定します
var f = function(element) {
setStyle(element, property, val);
Y.Dom.batch(el, f, Y.Dom, true);
}、これら 2 つの関数の具体的な使用方法については、関連するドキュメントを参照してください。実は、パラメータから使い方を理解するのは簡単です。上記の 2 つの関数を見ると、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 Y.Dom.batch(el, f , Y.Dom, true);
}、getX および getY メソッドもこの関数を呼び出しますが、戻り値を取得するための配列要素が異なります。ブラウザの互換性の問題により、ユーザーに提供される YAHOO.util.Dom.getXY は変数の判断のみであり、最も複雑な内部 getXY 関数にスローされます。
OK、まだ「サスペンス」が多すぎるため、次号ではそれらを解決することに焦点を当てます。