2009年5月29日金曜日

dijit.Tooltipを動的に作成する方法

dijit.Tooltipを動的に作成する方法をメモしておきます.

var nodeId = "";
tooltipElement.innerHTML = "test";
var tooltip = new dijit.Tooltip({connectId: [nodeId]}, tooltipElement);
tooltip.startup();


nodeIdは,ツールチップの対象となるノードのIDです.このノードをポイントすると,ツールチップが表示されます.
tooltipElemenは,ツールチップ本体です.
connectIdには,ツールチップの対象となるノードのIDを収めた配列を指定しないとうまく表示されません.

connectIdの指定方法には,まんまとはまってしまったのですが,ページ[1]のとおりにするとうまく解決しました.感謝です.

[1] [solved] dijit.Tooltip doesn't work in 1.0 ???

2009年5月19日火曜日

情報距離と圧縮距離

今月の人工知能学会誌の文献紹介[1]で興味深いキーワードを目にしたので,メモしておきます.

そのキーワードとは,情報距離と圧縮距離です.両者は,「二つのデータ間の距離を圧縮の度合いによって測ろう」という考え方のもとで使われる尺度のようです.

ちなみに,文献紹介では,Helmerという方の論文[2]が紹介されています.論文では,構造的な類似を求めるのに上記の尺度を使っているみたいです.

[1] 相澤 昌子: 文献紹介, 人工知能学会誌, Vol. 24, No. 3, pp. 458-459, 2009-05
[2] Helmer, S.: Measuring the structural similarity of semistructured documents using entropy, Proceedings of the 33rd International Conference on Very Large Data Bases, pp. 1022-1032, 2007

2009年5月10日日曜日

JavaScriptにおいてCSSのプロパティの設定ができない問題

CSSのプロパティに数値が設定できないという問題に遭遇しました.

var element = document.createElement("div");
element.style.width = 100;
element.style.height = 100;


その問題とは,上記のように要素の幅と高さに数値を設定しようとしてもできないというものです.

半日つぶした結果,それらの数値に単位をつけていないことが原因(FireFoxの問題みたい)だということがわかりました.

そういうわけで,上記のコードを下記のように修正すると,思った通りの結果になります.

var element = document.createElement("div");
element.style.width = 100 + "px";
element.style.height = 100 + "px";


[1] FireFoxの標準モードでは、エレメントのstyle.width,heightに数値での設定が出来ない, http://d.hatena.ne.jp/onozaty/20060729/p2

2009年5月8日金曜日

JavaScriptで実数を整数に変換する方法

JavaScriptで実数を整数に変換する方法をメモしておきます.

var integer = Math.ceil(realNumber); // 切り上げ
var integer = Math.floor(realNumber); // 切り捨て