1

什么是在 dojo 中切换 div 的可见性的最简单的方法,而不是大惊小怪。

在 jquery 我可以这样做:

$(document).ready(function(){
  $("#mydiv").hide();        
  $("#link-that-toggles-div").click(function()       
  {          
     $("#mydiv").slideToggle();          
  });
}

...

<a href="#" target="_self" id="link-that-toggles-div">Toggle the div</a>
<div id="mydiv">Awesome content</div>

dojo中是否有任何等效的东西?还是我必须自己动手?例如,dojo.fx.Toggler 迫使我手动进行显示/隐藏,而不是简单地给我一个 toggle() 函数。此外,所有示例都使用一个按钮来显示 div,另一个用于隐藏它,我不确定为什么在这种情况下它甚至被称为 Toggler。

4

2 回答 2

2

这是一个简单的示例,您可以如何将一个按钮用于两者:toggleIn/toggleOut。

require(["dojo/fx/Toggler", "dojo/dom", "dojo/on", "dojo/domReady!"],
function(Toggler, dom, on){
var isClicked = false;
var toggler = new Toggler({
node: "basicNode"
});
 on(dom.byId("toggleButton"), "click", function(e){
    if(isClicked===false){
       toggler.hide();
      isClicked=true;
  }
  else{
      toggler.show();
      isClicked=false;
  }
 });
});

使用变量“isClicked”,您可以更改要使用的切换。

这是上面示例的小提琴:http: //jsfiddle.net/XLAFz/

问候,米里亚姆

于 2013-08-06T08:36:55.403 回答
1
require(["dojo/dom", "dojo/dom-class", "dojo/on", "dojo/domReady!"],
    function(dom, domClass, on){
        on(dom.byId("ID"), "click", function(){
            domClass.contains("ID", "hide")? domClass.replace("ID", "display", "hide"):         
                                             domClass.replace("ID", "hide", "display");
    }); 
});

/* .hide{display:none} .display{display: block} */
于 2013-08-06T12:12:00.577 回答