引き続きDojo 0.4から1.2へ

 先日より引き続き、社内ページに使っているDojo Toolkit 0.4から1.2への移行を進めています。今日、やってみた関数を以下にメモしておきます。

dojo.coords

dojo.coords APIのページ
要素の位置情報を取得していたdojo.html.getAbsolutePositionでやっていたことはdojo.coordsへ。
dojo.coordsは内部でdojo._abs()を呼び出しています。
0.4のころ

var xpos = dojo.html.getAbsolutePosition('ID').x;

とx座標を得ていたのが、0.9からは

var xpos = dojo.coords('ID').x;

となります。
.widthおよび.hightは、それぞれ.wと.hになることに注意。あと、.top、.leftがそれぞれ.tと.lになるみたいです。

var widthval = dojo.coords('ID').w;

のような感じです。

dijit.getViewport

dijit.getViewport APIのページ
あらかじめ

dojo.require("dijit.dijit");

が必要。
ブラウザーの表示できる幅と高さを取得するdojo.html.getViewportはdijit.getViewportへ変更になりました。
幅と高さはそれぞれ、

var viewwidth = dijit.getViewport().w;
var viewheight = dijit.getViewport().h;

となります。

dojo.fadeIn、dojo.fadeOut

dojo.fadeIn APIのページ
dojo.fadeOut APIのページ
0.4のとき

dojo.lfx.html.fadeIn('ID', 300).play();
dojo.lfx.html.fadeOut('ID', 300).play();

などとしていたのは、

dojo.fadeIn({node: 'ID', duration: 300}).play();
dojo.fadeOut({node: 'ID', duration: 300}).play();

で実行できます。

10/18追記

この例で処理時間を300ミリ秒で設定してるのですが、これだとfadeIn後、なにもしていないのにその要素がぱっと消えてしまう現象が起きています。ここを1秒以上、1200ぐらいにすると起こりません。深く追求するのも面倒なので1200にしてしまいました。

dojo.fx.slideTo

dojo.fx.slideTo APIのページ

dojo.require("dojo.fx");

が必要。
0.4のとき

dojo.lfx.html.slideTo('ID', {left: 40, top: 50}, 100).play();

としていたのは、0.9以降

dojo.fx.slideTo({ node: 'ID', left: '40', top: '50', duration: 100}).play();

になります。

dojo.body

dojo.body APIのページ
これは0.4の時と同じです。

dojo.connect

dojo.connect APIのページ
dojo.event.connectからdojo.connectに変わっただけで、あとは同じように使えるみたいです。
0.4のとき

dojo.event.connect(dojo.body(), "onkeydown", "keybordpress");

としていたのは、0.9以降

dojo.connect(dojo.body(), "onkeydown", "keybordpress");

になります。

dojo.addOnLoad

dojo.addOnLoad APIのページ
これはそのまま使えます。