0

ユーザーがボタンを押すとウェルカムメッセージが表示される簡単なアプリケーションがあります。このメッセージ(ラベル)を数秒後、たとえば5秒後に非表示にする必要があります。Google Apps ScriptでsetTimeout()のような関数が見つかりませんでした。

誰かが私がこれをどのように実装できるかについてアイデアを与えることができますか?

(ご覧のとおり、経験豊富なプログラマーではありません)。

ありがとう!!

4

2 に答える 2

3

考えられる解決策。ロジックは、2つのボタンクリックハンドラーを持つことです。1つ目はラベルを表示し、2つ目は5秒間スリープし、その後ラベルを非表示にします。

function doGet(e) {
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var btn = app.createButton().setText('Test');
  var lblVisible = app.createLabel('Visible Test').setVisible(false).setId('lblVisible');
  panel.add(btn);
  panel.add(lblVisible);
  var handler = app.createServerHandler('onBtnClick');
  var handlerWait = app.createServerHandler('onWaitEvent');
  handler.addCallbackElement(panel);
  handlerWait.addCallbackElement(panel);
  btn.addClickHandler(handler);
  btn.addClickHandler(handlerWait);
  app.add(panel);
  return app;
}

function onWaitEvent(e) {
  Utilities.sleep(5 * 1000);
  var app = UiApp.getActiveApplication();
  var lblVisible = app.getElementById('lblVisible');
  lblVisible.setVisible(false);
  return app;
}

function onBtnClick(e) {
  var app = UiApp.getActiveApplication();
  var lblVisible = app.getElementById('lblVisible');
  lblVisible.setVisible(true);
  return app;
}
于 2012-07-04T12:04:10.910 に答える
1

進行状況インジケーターソリューションなど、これは機能します。それはあなたがイベントを連鎖させることを可能にします、私はそれを数回使用しました。

外出先でウィジェット値を更新します。productforums.google.com/d/topic/apps-script/lABoP-cJcGQ/…

于 2012-08-13T02:26:01.413 に答える