0

doGet でコンポーネントをロードしています。クリック イベントの後、そのコンポーネントを非表示にして別のコンポーネントを表示しようとしています。 これらは GUI Builder で作成されました。 まず、2 つの異なるコンポーネントを持つことは可能ですか? もしそうなら、どうすれば2番目のコンポーネントを他のコンポーネントの上に表示できますか? これが私のコードです:

function doGet() {
 var app = UiApp.createApplication();

  app.add(app.loadComponent("first", {"z-index": "1"}));

  return app;
}

function myClickHandler(e) {
   var app = UiApp.getActiveApplication();

   var label = app.getElementById('statusLabel');
   label.setVisible(true);

   app.close();
   return app;
}

function afterClick(){
   var app = UiApp.getActiveApplication();
    app.add(app.loadComponent("second", {"z-index": "100"}));

 return app;
}
4

1 に答える 1

0

GUI ビルダーに 2 つのコンポーネントを含める必要はありません。GUI ビルダーを使用した複数の UI のソリューションを提供するこの投稿をご覧ください。このオプションは、各パネルの表示間で UI が実際に閉じないため、よりスムーズになります。

このアプローチをコードに適応させるには、同じウィジェットに複数のハンドラーを割り当てることができることを忘れないでください。たとえば、可視性を切り替えるクライアント ハンドラーや関数を呼び出すサーバー ハンドラーなどです。両方とも同時に発砲します...

于 2012-07-27T22:17:49.843 に答える