| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[jQuery プラグインの作成]]==[[jQuery]] | [[JavaScript]] |
===骨格===
*プラグインを匿名関数でラップし、すぐその関数を実行することで、$ でjQueryオブジェクトを参照できる で[[jQuery]]オブジェクトを参照できる (1)*[[jQuery]].fn オブジェクトをメソッド名で拡張しjQueryメソッドを作成する オブジェクトをメソッド名で拡張し[[jQuery]]メソッドを作成する (2)*[[jQuery ]] オブジェクトは複数の結果に対応する必要があるので、each() 処理を行う (3)
;(function($){ // (1)
$.fn.lightable = function(options) { // (2)
});
};
})([[jQuery]]);
===作成例===
headerTable.prepend($("thead", table).addClass("ui-widget-header").clone());
$('thead tr',headerTable).append("<&lt;th><&gt;&lt;/th>&gt;"); // for scrollbar
// 固定レイアウトアルゴリズムを利用するように属性を設定固定レイアウト[[アルゴリズム]]を利用するように属性を設定(table-layout=fixed かつ widthプロパティが指定される必要がある)
var tattr = {"table-layout":"fixed", "width":"100%"};
table.css(tattr);
var cg = new Array();
$(cfg.cols).each(function(){
cg.push("<&lt;col");
if ("width" in this) {
cg.push(" width='");
cg.push("'");
}
cg.push("/>&gt;");
});
table.prepend(cg.join(""));
// for scrollbar
cg.push("<&lt;col width='18px'/>&gt;");
headerTable.prepend(cg.join(""));
}
// 構造を作成
table.wrapAll("<&lt;div class='lightable-wrapper' style='width:100%;'>&gt;" + "<&lt;div class='lightable-body-wrapper' style='overflow:auto;width:100%;" + "height:" + cfg.height + ";'><&gt;&lt;/div><&gt;&lt;/div>&gt;");
wrapper = table.closest(".lightable-wrapper");
wrapper.prepend("<&lt;div class='lighttable-head-wrapper' style='overflow:hidden;width:100%;height:100%;'><&gt;&lt;/div>&gt;");
headWrapper = $(".lighttable-head-wrapper", wrapper);
});
};
})([[jQuery]]);

案内メニュー