NNでparentLayerを使う方法

[上に] [前に] [次に]
あや [E-Mail] 1999/08/11(水) 15:34:52
「とほほのJavaScript入門」のparentLayerの記述に
  document.layer.parentLayer
で親レイヤーが参照できるとありますが、
具体的にどういうふうに書けばいいのかわかりません。

やりたいことは、
入れ子レイヤーのbgcolor/visibilityの操作です。

そのためにある関数を用意し、
その関数にレイヤーの番号を引数として渡し、
そのレイヤーに親レイヤーが存在すれば、親レイヤーからたどって
子レイヤーのbgcolor/visibilityを操作しようとしています。
# 入れ子レイヤーは、親レイヤーからたどらないと
# プロパティ操作が行えないようなので

どうぞご教授下さい <(_ _)>

zizz... [HomePage] 1999/08/11(水) 17:44:25
> その関数にレイヤーの番号を引数として渡し、
レイヤーの番号ってなんでしょうか?

期待したものと違うかもしれませんが、idからレイヤーを取り出す関数をつくってみました。
再帰的に合致するレイヤーを探していきます。

---------- ここから ---------
function getLayerById(id, lList) {
for(var i = 0; i < lList.length; i++) {
if(lList[i].id == id) {
return lList[i];
}
ns = lList[i].document.layers;
if(ns.length > 0) {
rValue = getLayerById(id, ns);
if(rValue) return rValue;
}
}
return null;
}
---------- ここまで ----------

どこかで聞いた事がありそうな名前の関数ですが。
使い方

var ns = document.layers;
foo = getLayerById("hoge", ns);
if(foo) foo.visibility = "show";

"hoge" という名前のレイヤーがなければ、fooにはnullが入ります。

あや [E-Mail] 1999/08/12(木) 10:44:33
[[解決]]
やはりそういう方法しか残されてないんですね…
いったい何のためのparentLayerなんだろう (-_-;)

でも、ありがとうございました◎

[上に] [前に] [次に]