簡體   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