Dojo:show()和hide()......怎么样?

时间:2011-10-28 21:36:07

标签: dojo javascript-framework

我有一个容器元素,我在其中创建了一个表单,然后是另一个表单。 我的目标是在它们之间切换,即隐藏所有并仅显示活动表格。 它隐藏得很好,但我无法显示活跃的背部。

我尝试使用:

  1. .style.display(none< - > block)和可见性(可见性< - >隐藏)
  2. dojo.style(...)
  3. 更改后的resize()和startup()
  4. 我在互联网上发现的其他几个变种来自旧的道场
  5. 没有任何作用。 /我需要它与显示器一起工作,这样它就不会占用空间./

    你能告诉我用dojo()

    显示和隐藏的正确方法是什么

    还看了这一个: How do I dynamically show and hide an entire TabContainer using DOJO?

    不起作用。

    我使用的伪代码是这样的:     ....

    //find or create the FORM element
    form =  dijit.byId(...);
    if(typeof form != 'object') {
      form = dojo.create('form', ....);
      dojo.place(form,'containerx','last');
    }
    //hide all
    dojo.query('#containerx > *').forEach(function(item){
      dojo.style(item, 'visibility','hidden');// and all other variants i mentioned
    })
    //show only the current form
    dojo.style(form, 'visibility','visible');
    //if the dojo form obj was already created, then skip it
    if (this.form_obj) return;
    
    ....build the form and the elements....
    
    this.form_obj.startup()
    

    thanx

2 个答案:

答案 0 :(得分:0)

听起来您可能正在寻找StackContainer功能。

只需进行设置,以便StackContainer将dijit.form.Forms作为子项,您可以使用selectChild方法选择要显示的表单。

答案 1 :(得分:0)

我刚刚回答了几分钟前你在问题中引用的那个问题。基本上它涉及到让jQuery参与其中。对我来说很棒。我已经静态创建了所有选项卡(而不是以编程方式),并且我可以通过jQuery的帮助来操作它们是显示还是隐藏。所有代码都在我的帖子中:

How do I dynamically show and hide an entire TabContainer using DOJO?