0

作为学习工具,我修改如下,它仍然显示。如何在用户看到页面之前隐藏它。这是与 srciptalous Element.fade 类似的问题,即使在 onLoad 中调用函数,我也无法在用户看到之前将其隐藏。TIA。

<script type="text/javascript">
  dojo.require("dojo.parser");
  dojo.require("dijit.form.Button");
  dojo.require("dijit.Dialog");
  dojo.require("dijit.form.TextBox");
  //dojo.addOnLoad(showDialog);
  dojo.addOnLoad(hideDialog);
  function showDialog() {
    dijit.byId('dialog1').show();
  }
  function hideDialog() {
    dijit.byId('dialog1').hide();
  }
  </script>
4

1 回答 1

2

由于各种原因,我不建议使用该教程。

  1. Dojo 对他的语法进行了很大的更改,现在正在使用异步方法。这意味着自 Dojo 1.7 以来许多语法发生了变化。更糟糕的是,您现在使用的语法将在 2.0 版中消失。
  2. 通常认为使用<table>元素创建布局是一种不好的做法。表格只能用于显示表格数据。

但是作为对您问题的回答,您可以data-dojo-props="open: false"在对话框中定义一个名为的属性,但奇怪的是它已经打开,因为通常默认情况下它是关闭的。

如果您还想在 Dojo 加载之前隐藏 HTML,可以添加style如下属性style="display: none":这将确保show()在您的对话框中调用该函数之前,不会向用户显示 HTML。

我还做了一个 JSFiddle(并稍微更新了语法),结果如下。

于 2013-07-13T18:52:55.373 回答