Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dojo show()和hide()从jquery()进行移植_Javascript_Jquery_Dojo - Fatal编程技术网

Javascript dojo show()和hide()从jquery()进行移植

Javascript dojo show()和hide()从jquery()进行移植,javascript,jquery,dojo,Javascript,Jquery,Dojo,我只是将一些代码从jQuery移植到DOJO(1.8)。我在显示/隐藏DOM元素(可能是层或其他)时遇到了麻烦 假设我们有一个层,我们想显示或隐藏,没有动画。想象一下一个按钮杆在某个事件中会发生变化,我不一定要一直带来图形效果 <div id="myLayer">hide me</div> 我觉得它很漂亮很苗条。现在移植到DOJO时,我发现我需要执行以下操作: require(["dojo/fx/Toggler"], function(Toggler) { //

我只是将一些代码从jQuery移植到DOJO(1.8)。我在显示/隐藏DOM元素(可能是层或其他)时遇到了麻烦

假设我们有一个层,我们想显示或隐藏,没有动画。想象一下一个按钮杆在某个事件中会发生变化,我不一定要一直带来图形效果

<div id="myLayer">hide me</div>
我觉得它很漂亮很苗条。现在移植到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行代码。我错过什么了吗?有没有更快的方法来做一个简单的隐藏

非常感谢,
Tobi

请看这一点,但在你进一步使用dojo之前,如果你的目标是某种dom操作,那么它就不是你要去的地方(如果是同一件事,他们不会创建它)请阅读更多关于何时为你的项目选择dojo的信息,这只是一个小提示:)我在我的应用程序中做了很多基于AJAX的WebUI的东西。我发现在一个(jsp)视图中组合不同的功能非常方便,而不必为简单的任务切换页面(在MVC模式中还包括控制器和后面的东西)。因此,我相信手头有一个坚实的JavaScript框架是一个很好的实践。当然,作为一种副作用,DOM操作也随之而来。我在jQuery中发现这很容易,但是我在dojo中遇到了麻烦。。。也许我的一般方法有问题。克雷格,谢谢你的意见。还没有弄清楚原因,但是query(#myLayer)或query(“myLayer”)都为我返回null。。。GRML您将使用.style(“display”、“inline”)或.style(“display”、“block”)执行show(),然后?默认用法应为block。只有当元素最初是以inline显示时,jquery方法才会使用inline..style(“display”,“”)应该可以同时显示inline、block和其他元素。
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();
  });
require(["dojo/query", "dojo/NodeList-dom", "dojo/domReady!"], function(query){
  query("#myLayer").style("display", "none");
});