我只是将一堆代码从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行代码。我错过了什么吗?有没有更简单的隐藏方法?
非常感谢, 托比
答案 0 :(得分:6)
require(["dojo/query", "dojo/NodeList-dom", "dojo/domReady!"], function(query){
query("#myLayer").style("display", "none");
});