JavaScript で OOP を使い始めたばかりです。カスタム「パネル」を作成したい。これが私がこれまでに持っているものです:
function ShinyPanel(css, attributes)
{
this.container = $(document.createElement("div")).addClass("shinyPanel");
this.titleBar = $(document.createElement("div")).addClass("shinyPanelTitleBar").appendTo(this.container);
this.topShine = $(document.createElement("div")).addClass("shinyPanelTopShine").appendTo(this.container);
this.leftShine = $(document.createElement("div")).addClass("shinyPanelLeftShine").appendTo(this.container);
this.content = $(document.createElement("div")).addClass("shinyPanelContent").appendTo(this.container);
if (!css) css = {};
if (!attributes) attributes = {};
this.css = css;
$(this.container).css(this.css);
this.title = attributes["title"];
$(this.titleBar).html(this.title);
}
これで、このオブジェクトをインスタンス化し、次のような方法で本体に追加できます。
var panel = new ShinyPanel({position:"absolute", top:"25%", width:"300px", height:"200px"}, {title:"Test"});
$("body").append(panel.container);
私の質問は、オブジェクト自体をdivにして、「コンテナ」divの必要性をなくす方法はありますか? それから私はただ電話することができました$("body").append(panel);
。
コンテナ div をそこに置くことは、私にとってそれほど面倒なことではありません。それは、私にとっては...物事を行う正しい方法を学びたいということだけです。
を試しthis = document.createElement("div");
ましたが、エラーが発生しました: invalid assignment left-hand side
。