レイヤがクリックされたら
登録レイヤー中でもっとも手前に表示されるよう
奥行き座標 zIndexを増やします。
【マウスクリックでレイヤーを手前移動<keynavi_tools.js】
-----------------------------------------------------------------------------
■ kl_raise_set(id):レイヤーにRaiseハンドラを設定
・返り値:成功時は「1」失敗時は「0」
・ id:対象となるレイヤー(オブジェクトかそのID)
■ kl_raise_clear(id):レイヤーのRaiseハンドラを解除
・返り値:成功時は「1」失敗時は「0」
・ id:対象となるレイヤー(オブジェクトかそのID)
-----------------------------------------------------------------------------
KL_RLAYS=new Array();
function kl_raise_set(id){
var e=kl_getelem(id); if(!e) return 0;
//レイヤーをRaise対象に登録
KL_RLAYS[KL_RLAYS.length]=e;
kl_addhandler(e,"onmousedown",kl_raise_mdown,new Array(e));
//NS4はレイヤー内画像にもハンドラ指定
if(KL_NS4 && e.document)
kl_addhandler_ns4objs(e.document.images,"onmousedown",kl_raise_mdown,new Array(e));
return 1;
}
function kl_raise_clear(id){
var e=kl_getelem(id); if(!e) return 0;
//レイヤーをRaise対象から外す
for(var i=0;i<KL_RLAYS.length;i++) if(KL_RLAYS[i]==e) KL_RLAYS[i]=0;
if(KL_NS4 && e.document)
kl_delhandler_ns4objs(e.document.images,"onmousedown",kl_raise_mdown,new Array(e));
return kl_delhandler(e,"onmousedown",kl_raise_mdown,new Array(e));
}
//mousedown時に実行されるハンドラ関数
function kl_raise_mdown(ev,e){ 。。。略。。。}
【レイヤー手前移動サンプル:Copy&Paste】
上の関数を使ってみましょう。
下の実行ボタンをクリックした後 レイヤーをクリックしてみてください。
レイヤー「lay1」です。
レイヤー「lay2」です。
複数のレイヤーをロックして一緒に扱いたいがあるでしょう。
「e.kl_rlays=配列」に共通に扱いたいレイヤーかそのIDを指定します。
指定法はkl_dlaysと同じです。
動的に作成したレイヤーでは
ドラッグ&Raiseオプションがあり これを有効化すると
作成当初からドラッグしたり手前に移動できます。
半透明レイヤーでも同様です。
これは前景・背景 2つのレイヤーから成りますが
何れをクリックした場合でもロックされているので両方一緒に手前に移動されます。
上のボタンを複数回押して
レイヤーを重ねてクリックとドラッグを実行してみてください。