繁体   English   中英

切换Dojo dijit的显示

[英]Toggling the display of a Dojo dijit

我正在尝试在Dojo中实现div dijit的基本显示/隐藏。 基于我使用过的其他JavaScript框架,这应该很容易,但是我发现充其量是困难的。

这是来自

<script type="text/javascript">
dojo.require("dijit.form.Button");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojo.fx");
var toggler = null;
function basicToggle() {
    toggler = new dojo.fx.Toggler({
        node: "panel",
        showFunc : dojo.fx.wipeIn,
        hideFunc : dojo.fx.wipeOut
    })
}
dojo.addOnLoad(basicToggle);
</script>

下面是我体内的代码。

<button dojoType="dijit.form.Button">    
    <img src="wrapper/images/header-settings.png" border="0" />     
    <script type="dojo/method" event="onClick">   
        toggler[dijit.byId("panel").attr("displayed") ? 'show':'hide']();
    </script>
</button>   
<div id="panel" dojoType="dijit.layout.ContentPane" style="border: .2em dotted     #900;display: none">
This is a content pane.</div>
</body>

我现在看到的行为是,在单击按钮后会暂时显示div,然后再次将其隐藏。 我究竟做错了什么?

我认为您的显示/隐藏逻辑向后? 另外,我认为“显示”来自非常非常老的Dojo版本。 尝试只看一下样式(请注意,这在我检查“无”时再次翻转了逻辑)

toggler[(dojo.style("panel","display") == "none") ? 'show':'hide']();

文档中有一个使用dojo.connect达到相同效果的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM