0

我有一个简单的应用程序,用户按下按钮并显示欢迎消息。我需要在几秒钟后隐藏这条消息(标签),比如 5 秒钟。我在谷歌应用程序脚本中找不到像 setTimeout() 这样的函数。

有人可以告诉我如何实现这一点吗?

(如您所见,不是经验丰富的程序员)。

谢谢!!

4

2 回答 2

3

一个可能的解决方案。逻辑是有两个按钮单击处理程序。第一个使标签可见,第二个休眠 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 回答