javascript

jQuery.extendでオブジェクトを拡張する

基本 オブジェクト設定のデフォルトを定義しておき、後から設定されるオプションを上書きする場合。 var defaultValue = { value1: "default1",value2: "default2"}; var option = { value1:"vallue1"}; var extended = jQuery.extend(defaultValue,option);…

jQuery.extendを使ってjsdoc用のコメントを書く

必要にせまられてjQuery.extendを使うことになった。けど単純にdocコメント埋めてもうまくオーバーライドメンバーのドキュメントを出力できない。このように書く。 (function($){ /** * 親クラス * @class * @constructor */ var Parent = function(){}; Par…

jQueryプラグインを書くためのテンプレ

jQuery.fn.pluginName = function(options) { var options = jQuery.extend( { },options); return this.each(function(){ }); };

jQuery全盛の今こそYUI

猫も杓子もjQuery。いささかうんざりしてる。 まあYUI3になってYUI2のコンポーネントを捨てる気なのかまだ作る気があるのかギャラリーだけで対応しろってことなのかよくわからんのとCDN半強制はちょっといただけないが、現在のところYUI2で欲しいコンポーネ…

ちょっとした色見本

<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head></html>

ExtJSのライセンス

結構ExtJSのライセンスを求めてここにたどり着く人がいるので。 最近ライセンス体系変わったみたいです。 http://extjs.com/products/license.php コマーシャルライセンスとGPLv3……

getElementsByClassNameは重い

yuiでもprototype.jsでも重い。理由は簡単で結局特定ノード以下の全ての要素を拾ってクラス名をテストしなければならないから。 firefox3ではネイティブ実装されるようだが、効果の方はどうなんだろう? 今のところは使わずに別の方法を使うのがいいか。 た…

momo0.1

余暇で作った「ヘッダーを固定してスクロールでき、なおかつスクロールバーに押し出されてヘッダがずれてしまうなんて事がない(つもり)のグリッド」。 サンプルは http://tosa-ds.com/devel/javascript/momo/grid.htmldiv全体の幅を固定する、%指定にする、e…

YAHOO.widget.Panel

ヘッダなし、コンテンツ(bd)部分をドラッグ可能にする方法。・ヘッダだけ作る。 ・ヘッダに全てのコンテンツを乗せる。 ・ヘッダのサイズをwidth : 100%;height:100%にする。トリッキーだが目的は達成できる。これでモーダル制御とかフォーカス制御とか自作…

めも

組み合わせて使う

めも

overlay panel menu windowmenu on (overlay | panel | window ) select on (overlay | panel | window ) inputes on (overlay | panel | window ) require close button require header require footer

めも

css .TableView { border : 1px solid black; } .TableView table{ table-layout : fixed; border-collapse : collapse; } .TableView .TableViewPositioner { } .TableViewHeader { border: 1px solid #000000; } .TableViewHeader{ background-color: #D0D…

要素の位置を取得の続編

http://d.hatena.ne.jp/ghostbass/20070226/1172510064 borderがありoverflow:hiddenのときoffset*がマイナスになってしまう件。今試したら、borderがあってもborderWidthの単位が"em"だと普通に計算してやがる!なんだよ一体?

要素の位置を取得する(バグ)

function getElementOffset( e ,base){ if(!base) base = document.body; var p = {x:0,y:0}; p.x = e.offsetLeft; p.y = e.offsetTop; var prnt = e.offsetParent; var overflow; while((prnt != null) ){ p.x += PixNum( prnt.offsetLeft); p.y += PixNum(…

要素の位置を取得する(正解?)

ドラッグドロップを作ろうとしてまず躓いたのは要素の位置を取得する事。あきらめてYUIなりなんなりを使えばいい・・・が、実はYUIもドラッグするオブジェクトの親要素に枠線があったりoverflowが指定されていたりするとずれる。噂ではprotoype.jsでもずれる…

YAHOO.ext.grid.Gridにtableタグを使う。

YAHOO.ext.grid.Gridはかなり便利に使える。だがタグを全部spanで作るのでtableでマークアップしたときのように高さが足らなければ勝手に増えてくれたりはしない。 全ての行の高さを一律に変更するのならスタイルのygrid-colにheightプロパティを書くだけだ…

モーダルダイアログのタイトルを動的に設定したい。

したい。 開かれるだいあろぐ>|| このタイトルを変更 dialog! |

ウィンドウを越えてオブジェクトを渡す。

ウィンドウAで作ったオブジェクトobjをウィンドウBに渡す。渡した直後ウィンドウAを閉じるとobjのメソッドは呼び出せない。 なぜか。ウインドウBで呼び出そうとするobjのメソッドの所有者はウィンドウAであって、メソッド定義もウィンドウAにある。ウィンド…

自分を開いたウィンドウを取得する

function ParentWindow(){ if ( typeof(dialogArguments) != 'undefined' ) { if(dialogArguments.length){ var len = dialogArguments.length; for(var i = 0;i < len;i++){ var a = dialogArguments[i]; if(typeof(a.document) != 'undefined' ) { return …

移動可能レイヤー

サンプル作りました。 http://tosa-ds.com/devel/javascript/index.html ソースは「ページを名前をつけて保存」などして参照してください。フレームワーク化を目論んでいるのでちょっとややこしいです。 構造は ・基本になるdiv ・タイトル、開閉できるコン…

移動可能なレイヤーとか

ポップアップメニューのように動的にレイヤー(div)を作ったとき、下にドロップダウン(select)があるとそのドロップダウンが透けてしまう。 理由はどこかで読んだが忘れた。なにしろ他のフォーム要素とは系統が違うらしく、一筋縄ではいかない。 そこで、表示…

要素の位置を取得する

(追記 2011/5/18)なんか未だにこの記事が参照されてるみたいなので補足。 2011年現在なら各種ライブラリー使った方が良いです。 例えば YUI2 >> YAHOO.util.Dom.getXY("elementId"); とか jQuery >> jQuery("#elementId").offset(); とか。下の奴はボーダー…

自作スクリプトでいろいろ

自作のウィンドウウィジェット実験中 http://tosa-ds.com/devel/javascript/index.html メニュー、サブメニュー ドラッグしてレイアウトを変更する etc... 今後の予定 コンテンツ管理 web desktop(スタートフォースのぱ○り?)

widget...

Widget.Base Widget.Popup Widget.PopupMenu Widget.MenuItem Widget.FrameWindow