4

我只是将一堆代码从 jQuery 移植到 DOJO (1.8)。我偶然发现了 DOM 元素的显示/隐藏(可能是图层或其他任何东西)。

假设我们有一个想要显示或隐藏的图层,没有动画。想象一个 Buttonbar 在某些事件上发生变化,我不一定想一直引入图形效果。

<div id="myLayer">hide me</div>

在 jQuery 中,我会这样做:

$("#myLayer").show();  // to show
$("#myLayer").hide();  // to hide

我觉得非常漂亮和苗条。现在移植到 DOJO 我发现我需要执行以下操作:

require(["dojo/fx/Toggler"], function(Toggler) {
    // Create a new Toggler with default options
    var toggler = new Toggler({
      node: "myLayer",
      hideDuration: 0,
      showDuration: 0
    });

    // Hide the node
    toggler.hide();

    // Show the node
    toggler.show();
  });

那是 8 行代码与 2 行代码。我错过了什么吗?有没有更快的方法来做一个简单的隐藏?

非常感谢,托比

4

1 回答 1

6
require(["dojo/query", "dojo/NodeList-dom", "dojo/domReady!"], function(query){
  query("#myLayer").style("display", "none");
});
于 2013-03-10T17:04:55.797 回答