IncludeBorder | DPI | PixelOnly | Support_instanceof |
POSITION | FLOATELEMENT |
動作確認をしたブラウザは以下の通り
既知の問題点
エレメントの位置、幅、高さ、z-index、ボーダー情報等は、 id属性を使ってスタイルシートで指定していても、JavaScriptからはその情報を 参照することが出来ません。 したがって、適当な初期化関数を用意して、その中で各エレメントの初期化を行ってください。 でないとこのスクリプトからは全てのエレメントが幅0,高さ0のエレメントとしか見えません。
このスクリプトの関数で指定する幅や高さは、ボーダーの幅を含んでいます。
こうした仕様にした理由は、オブジェクトを配置するときには普通ボーダーも含んで1つのパーツとして
移動・リサイズを行うからです。従って、NetscapeやOpera、iCabなどでは、スタイルシートで
width:100pt
とした場合と、_setElementPos を
引数 width を "100pt" にして呼び出した場合とでは
左右のボーダーの幅分だけ差が出ます。
ブラウザが要素の幅や高さに、ボーダーの幅を含むならtrue、含まないならfalseが入っています。
![]() | ![]() |
true | false |
スクリプトが読み込まれた時点で自動判別した値が入るので、 エレメントの配置に _setElementPos を使用している限りは、 直接この値を参照・変更する必要はありません。
2002年1月現在、IEがtrue、その他がfalseとなっています。
画面の論理解像度です。各OSの値は以下の通り。
Linux | 72 dpi |
Mac | 72 dpi |
Win(デフォルト) | 96 dpi |
Win(『大きいフォント』使用) | 120 dpi |
スクリプトが読み込まれた時点で自動判別し、 Windowsなら96、それ以外なら72が入ります。 ユーザーに変更してもらうには changeDPIDialog 等を利用してください。
エレメントの位置・サイズを変更するときに、 ピクセル値でしか指定できない項目があるブラウザであればtrue、そうでなければfalseが入っています。 スクリプトが読み込まれた時点で自動判別した値が入るので、 通常、直接この値を参照・変更する必要はありません。
instanceof演算子を処理できるならtrue、そうでなければfalseが入っています。 スクリプトが読み込まれた時点で自動判別した値が入るので、 通常、直接この値を参照・変更する必要はありません。
パラメータはありません
戻り値はありません
論理解像度変更ダイアログを表示します。
ピクセル値が返ります。
単位を含む、長さを表す文字列をピクセル値に変換します。
変換には、変数 DPI が使用されます。 この関数が呼ばれる前に DPI に適切な値を指定しておいて下さい。
ピクセル値が返ります。
単位を含む、長さを表す文字列をピクセル値に変換します。
変換には、変数 DPI が使用されます。 この関数が呼ばれる前に DPI に適切な値を指定しておいて下さい。
エレメントがあればエレメントが返ります。無ければnullが返ります。
指定したIDを持つエレメントの取得します。
エレメントがあればエレメントの配列が返ります。無ければnullが返ります。
指定したタグのエレメントの配列をを取得します。
エレメントがあればエレメントの配列が返ります。無ければnullが返ります。
指定したクラスに所属するエレメントの配列をを取得します。
指定したウィンドウの表示領域の左端に表示されているx座標がピクセル単位で返ります
指定したウィンドウのx方向のスクロール状態を取得します。
指定したウィンドウの表示領域の上端に表示されているy座標がピクセル単位で返ります
指定したウィンドウのy方向のスクロール状態を取得します。
成功した場合はtrue、それ以外はfalseが返ります
指定したウィンドウのx方向のスクロール状態を設定します。
成功した場合はtrue、それ以外はfalseが返ります
指定したウィンドウのy方向のスクロール状態を設定します。
指定したウィンドウのドキュメント全体の幅がピクセル単位で返ります
指定したウィンドウのドキュメント全体の幅を取得します。
指定したウィンドウのドキュメント全体の高さがピクセル単位で返ります
指定したウィンドウのドキュメント全体の高さを取得します。
指定したウィンドウのクライアントエリアの幅がピクセル単位で返ります
指定したウィンドウのクライアントエリアの幅を取得します。
指定したウィンドウのクライアントエリアの高さがピクセル単位で返ります
指定したウィンドウのクライアントエリアの高さを取得します。
指定したエレメントの位置情報を保持する POSITION が返ります
指定したエレメントの位置情報を取得します。
幅、高さについては width、heightの扱い を参照のこと。
戻り値はありません
指定したエレメントの位置を設定します。
幅、高さについては width、heightの扱い を参照のこと。
戻り値はありません
指定したエレメントの表示状態を変更します。
戻り値はありません
指定したエレメントを、フロートエレメントとして登録します。フロートエレメントは、AdjustFloatElementPos が呼び出されると、登録したときの情報を基に自動的に再配置されます。
leftやtopでは、通常の単位のほかに四則演算子や以下の文字が使用できます。(※注)
⻐�z��.��r\� ��{��L|[/th> | 置換される数値 |
---|---|
left | 0 |
center | ( ドキュメント全体の幅 - エレメントの幅 ) / 2 |
right | ドキュメント全体の幅 - エレメントの幅 |
viewLeft | _getScrollPosX の戻り値 |
viewCenter | _getScrollPosX の戻り値 + ( クライアントエリアの幅 - エレメントの幅 ) / 2 |
viewRight | _getScrollPosX の戻り値 + クライアントエリアの幅 - エレメントの幅 |
⻐�z��.��r\� ��{��L|[/th> | 置換される数値 |
---|---|
top | 0 |
center | ( ドキュメント全体の高さ - エレメントの高さ ) / 2 |
bottom | ドキュメント全体の高さ - エレメントの高さ |
viewTop | _getScrollPosY の戻り値 |
viewCenter | _getScrollPosY の戻り値 + ( クライアントエリアの高さ - エレメントの高さ ) / 2 |
viewBottom | _getScrollPosY の戻り値 + クライアントエリアの高さ - エレメントの高さ |
※上記の文字列が数値に置換された後、_getPixelEx (内部でevalを使用しています)に渡されるので、
正確に言えば四則演算に限らず、任意のJavaScript構文が使用可能です。
ただし、結果が数字であるものに限ります。
�v���
何らかの計算をして数値を返す自作関数fooを別に用意したのち。
RegisterFloatElement( window, 'element1', '0', 'foo()' );
として登録すると、エレメント「element1」はx座標が0、y座標がfooの戻り値、に再配置されます。
パラメータはありません
戻り値はありません
RegisterFloatElement で登録したフロートエレメントを再配置します。
指定した座標が指定したエレメント上であるならtrueが、そうでなければfalseが返ります
指定した座標が指定したエレメント上であるか否かを判別します。
この例では、青い枠の中ならばtrueが返ります。
書式化された文字列が返ります
一連の文字や値を format に従って書式化し、それを返します。
% [flags] [width] [type]
flag | 意味 | デフォルト |
---|---|---|
- | 指定されたフィールド幅に結果を左詰めする。 | 右詰め |
0 | width の前に 0 を付けると、最小幅まで 0 が付加される。0 と - を指定すると、0 は無視される。書式 (x、X、o) と一緒に指定すると、0 は無視される。 | パディングなし。 |
# | o、x、X の各書式と一緒に使うと、0 以外のすべての出力値の前にそれぞれ o、0x、0X が付く。 | 表示されない。 |
W | 2バイト文字(相当)で出力するようにします。「A」が「A」に、「0」が「0」になります。 | 1バイト文字 |
type | データ型 | 出力書式 |
---|---|---|
c | 数値 | 与えられた数値を文字コードとして1文字出力します。 |
d | 数値 | 与えられた数値を10進数形式で出力します。 |
o | 数値 | 与えられた数値を8進数形式で出力します。 |
x | 数値 | 与えられた数値を16進数形式で出力します。 値及びプリフィックスのアルファベットは小文字で出力されます。 |
X | 数値 | 与えられた数値を16進数形式で出力します。 xとの違いは、値及びプリフィックスのアルファベットが大文字になることだけです。 |
s | 文字列 | 与えられた文字列をそのまま出力します。 |
�v���
left = 20
top = 150;
sprint( "( %03d , %03d )", left, top );// "( 020 , 150 )" が返る
エレメントの位置・大きさの情報を保持するオブジェクト。
幅、高さについては width、heightの扱い を参照のこと。
RegisterFloatElement 、 AdjustFloatElementPos で、内部的に使用されます。直接操作することはありません。