layoptタグにnameパラメータを追加するJS

単純に、指定したレイヤー配下の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();

    };