ホームページ > ウェブフロントエンド > jsチュートリアル > Javascript YUIコード読書日記 YAHOO.util.Dom - Part.2 0_YUI.Ext関連

Javascript YUIコード読書日記 YAHOO.util.Dom - Part.2 0_YUI.Ext関連

WBOY
リリース: 2016-05-16 19:05:47
オリジナル
1070 人が閲覧しました

バッチ: 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、まだ「サスペンス」が多すぎるため、次号ではそれらを解決することに焦点を当てます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート