Jqueryなしの作り替え版
テスト
ノード
即オープン
ポップアップの中身
ヘッダー、メイン、フッターを指定可能
//ヘッダー、メイン、フッター
header: '',
main: 'please set option main',
footer: '',

_$('#takonoha').kite({
  header: $_({class:'p-2 red text-white w-100 text-center'},'ヘッダー'),
  main:'<p class="text-red">ホゲホゲホゲホゲホゲ!!!</p>',
  footer: '<p>ふったー</p>'
});


テキストやhtmlタグ

-------- 中身として指定できるもの -----------------
//html
main: '<p>こんにちは!</p>',

//存在する唯一のノード document.querySelectorで指定できる形式

main: '#bigtxt',


_$('#takonoha2').kite({main:'#bigtxt'});


//生成したnode

let $main = $_({id:"edit-img-box", class:"container"},'<p>こんにちは!</p>');
main: $main,

width:hegiht:指定可
//
{ width: '600px',
  hegiht: '300px',
}

event:'開くタイミング'

event : 'load',
----- オプション -------
event:'open' //読み込み時に即オープン
event:'see' //見えたら開く、消えたら閉じる
event:'onece' //一度だけ表示
event:'stay' //見えたら開いて留まる

fix:'開く位置'
トップ
ボトム
トップ2
ボトム2

fix : 'center',//中央
----- オプション -------
fix:'top' //上部
fix:'bottom' //下部
fix:'left' //左
fix:'right' //右
fix: 'menu' //メニューポジション

メニュー
メニュー

_$('#takonoha13').kite({main:'<p class="text-red">ひっつくメニュー</p>', fix: 'menu', });


閉じる

-------- 初期設定:背景クリックやポップアップ内のリンククリックで閉じる-----------------
-------- オプションで無効 -----------------
close_link: false,
close_kage: false,

-------- 初期設定:閉じるボタン -----------------
close_fix: 't-r',//閉じる位置, t-l, b-l, b-r,t-(上部中央),b-(下部中央)
close_btn: '<i class="nja-close fa-2x"></i>',//ボタンのデザイン
-------- 閉じるボタンをなくす→ ボタンを空にする -----------------
close_btn: '',


---- 中身として生成したボタン類に閉じる機能を付与する
//キャンセルボタンを作って
let $ng = $_({class:'btn close'},'キャンセル');

//フック関数にの第一引数に閉じるボタンが割り当てられるので、
//以下のようにすればいい
done: function($close){
$ng.addEventListener('click',function(e){
    $close.click();
},false);

//または、内部要素に対して,以下で閉じる
_$(内部要素).kiteclose();

//つまり、これでもよい
let $ng = $_({class:'btn close',closefun},'キャンセル');

function closefun(e) {
  _$(e).kiteclose();
}




_$.fn.kiteclose = function(fun) {
  this.forEach(function(el, index) {
    el.closest('.' + _$.fn.kite.def.kite).querySelector('.' + _$.fn.kite.def.kite_close).click();
    _$if.fn(fun)(el);
	});
	return this;
}

フック関数
//引数(閉じるボタン、開くボタン、ポップアップ本体)が各自に渡される。

//開く直前
before: function($close,$btn,$kite) {},

//開いた直後
done function($close,$btn,$kite) {},

//閉じる直線に実行
close function($close,$btn,$kite) {},

//閉じる最後に実行
end function($close,$btn,$kite) {},



背景
背景
kage:  'on',//offでなしにする
kage_style: 'background:#333; opacity:0.8;',

//css指定で画像とかにもできる
kage_style: 'background-image: url(/image/for_back2.jpg); background-size: cover; background-position: center top; background-repeat: no-repeat;',


_$('#takonoha3').kite({main:'#bigtxt',
  kage_style: 'background-image: url(/image/for_back2.jpg); background-size: cover; background-position: center top; background-repeat: no-repeat;',
});



ハマった箇所

Node.removeChild


-------- Node.removeChild() メソッドは、 DOM から子ノードを取り除きます。取り除いたノードを返します。-----------------
取り除いたノードを再利用しようとすると
Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node
エラーが発生:
取り除くノード)に、nullを入れてリセットすることで解決した!

------- 以下の箇所 -----------
$oya.insertBefore($node,$anker.nextSibling);
_$($anker).dell();

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

テスト

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

テスト2

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

見えたら開く
表示領域に入ったら

_$('#takonoha11').kite({event:'see', main:'<p class="text-red">表示領域に入ったので開きます!!</p>', fix:'bottom', height:'200px', });

----- オプション -------
event:'see' //見えたら開く、消えたら閉じる
event:'onece' //一度だけ表示
event:'stay' //見えたら開いて止まる


この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

この文章はダミーです。文字の大きさ、量、字間、行間等を確認するために入れています。ダミーテキストです。文字の大きさや形、色をご確認ください。テキストはOSやブラウザによってフォントが変わります。このようにスマホ・パソコンに依存した文字になります。

一度だけ