如何使用谷歌应用程序脚本在几秒钟后隐藏标签?

时间:2012-07-04 11:33:47

标签: google-apps-script

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

有人能说出我是如何实现这个的吗?

(正如你所看到的,不是一位经验丰富的程序员)。

谢谢!

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:1)

进度指示器解决方案等,这是有效的。它可以让你链接事件,我已经多次使用它了。

随时随地更新小部件值。 productforums.google.com/d/topic/apps-script/lABoP-cJcGQ / ...