- OpenLaszlo紹介
- プログラム構造関連
- スクリプト
- Javascript基礎
- 基礎知識
- ビュー<view>
- レイアウト
- 動かす
- 入力デバイス
- 文字
- 数値
- 日付
- オブジェクト指向
- 標準コンポーネント
- データの扱い
- データ操作(基礎)
- 応用編
–
タグに名前をつけるための属性としてid属性とname属性の2種類があります。この名前を使って、そのタグが生成するオブジェクトにアクセスすることができます。
| id | name | |
|---|---|---|
| 意味 | 一つのLZXソースで一つのみ。 | 同一階層内で一つのみ。階層が異なればLZXソース内で同じ名前を使っても良い。 |
| アクセス方法 | id名のみでソースのどこからでも直指定可能。 | 階層構造に従った相対パス指定。 |
<canvas>直下のタグのname属性に関しては、id属性を使ったときと同じように直接指定できます。
下記のソースにある3つのボタンA、B、Cは、すべて赤四角v2のanmを指定して一回転(onclick属性内の記述のことです)させています。そのanmにアクセスするために、3通りの指定をしています。
ボタンA・・・ onclick="parent.parent.v2.anm.doStart();" ボタンB・・・ onclick="canvas.v.v.v2.anm.doStart();" ボタンC・・・ onclick="v.v.v2.anm.doStart();"
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <view name="v" width="300" height="300" bgcolor="0xff00ff"> <simplelayout spacing="10" axis="x"/> <view name="v" width="200" height="100" bgcolor="0xffcccc"> <simplelayout spacing="30" /> <view name="v1"> <simplelayout spacing="10" axis="x"/> <button onclick="parent.parent.v2.anm.doStart();">A</button> <button onclick="canvas.v.v.v2.anm.doStart();">B</button> <button onclick="v.v.v2.anm.doStart();">C</button> </view> <view name="v2" align="center" width="30" height="30" bgcolor="0xff0000"> <animator name="anm" attribute="rotation" from="0" to="360" duration="500" start="false"/> </view> </view> </view> </canvas>
一方、id属性で名づければ(id=“anm”)、パスは必要なく、anm.doStart(); 一発ですみます。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <view name="v" width="300" height="300" bgcolor="0xff00ff"> <simplelayout spacing="10" axis="x"/> <view name="v" width="200" height="100" bgcolor="0xffcccc"> <simplelayout spacing="30" /> <view name="v1"> <simplelayout spacing="10" axis="x"/> <button onclick="anm.doStart();">A</button> <button onclick="anm.doStart();">B</button> <button onclick="anm.doStart();">C</button> </view> <view name="v2" align="center" width="30" height="30" bgcolor="0xff0000"> <animator id="anm" attribute="rotation" from="0" to="360" duration="500" start="false"/> </view> </view> </view> </canvas>
複数の開発者でいくつものソースを作って大きなアプリを作る場合、オブジェクト名の重複による不具合を避けるために、nameだけを使うほうが望ましいでしょう。個人で作る小さなアプリなら、パス指定の簡便さのメリットもありidで良いです。