単純に、指定したレイヤー配下のname指定オブジェクトを、layoptタグのvisibleパラメータでshow,hideします。同一nameの画像等を同一レイヤーで多く生成している場合に、再生成せずに済むので、便利かと思います。
配布はJSファイル単体です。プラグイン呼び出しもできますが、改造が少ないので、othersフォルダに突っ込んでloadjsで読み込むのが楽かなと。元々のkag.tag.jsのlayoptタグ部分を改造するのも良いかと思います。
nameが指定されている場合、レイヤー単位での指定ではなくなります。あくまでもレイヤー配下のnameのやつです。ですので、レイヤー単位で指定する場合は、元々のと変わらず使えば大丈夫です。name指定にしたい時だけnameを入れます。
また、nameのやつをhideにしたのを忘れてレイヤー内に溜まると多分重くなるので、お気を付けください。ただ基本がレイヤー指定なので、最後の最後にfreeimageかけておけば大丈夫だと思います。
>ダウンロード(2018/02/25)
tyrano.plugin.kag.tag.layopt.pm = {
layer : "",
page : "fore",
visible : "",
left : "",
top : "",
//★--追加--
name : "",
//★--ここまで--
opacity : "",
autohide : false,
index : 10
};
tyrano.plugin.kag.tag.layopt.start = function(pm) {
var that = this;
if (pm.layer == "message") {
pm.layer = this.kag.stat.current_layer;
pm.page = this.kag.stat.current_page;
}
var j_layer = this.kag.layer.getLayer(pm.layer, pm.page);
if(pm.layer=="fix" || pm.layer=="fixlayer"){
j_layer = $("#tyrano_base").find(".fixlayer");
}
//★--追加--
if(pm.name!=""){
j_layer = j_layer.find("."+pm.name);
}
//★--ここまで--
//表示部分の変更
if (pm.visible != "") {
if (pm.visible == "true") {
//バックの場合は、その場では表示してはダメ
if (pm.page == "fore") {
j_layer.css("display", "");
}
j_layer.attr("l_visible", "true");
} else {
j_layer.css("display", "none");
j_layer.attr("l_visible", "false");
}
}
//レイヤのポジション指定
if (pm.left != "") {
j_layer.css("left", parseInt(pm.left));
}
if (pm.top != "") {
j_layer.css("top", parseInt(pm.top));
}
if (pm.opacity != "") {
j_layer.css("opacity", $.convertOpacity(pm.opacity))
}
this.kag.ftag.nextOrder();
};