javascript - dojo 待机小部件不旋转

标签 javascript dojo

使用 dojo 1.8.1...使用 Standby Widget 在服务器忙于处理 AJAX 请求时显示处理情况。

我创建了一个 dojox.widget.Standby 对象,但有问题,并且在我第一次 .show() 或 .hide() 它时它工作得很好。第二次我尝试 .show() 它时,它出现了,但旋转器没有旋转..动画 .gif 麻烦??

当单击按钮第二次或更多次时,如何使微调器保持旋转?

更新....

我的应用程序正在做的是在 dojo DataGrid 对象中显示数据以供用户选择。通过 AJAX 请求将选择发送到服务器,服务器返回用户可以下载或打开的文件名(.csv 文件)。我使用以下 JavaScript 在客户端创建打开/保存对话框:

  window.location.assign(path); //Open save/open dialog

如果我注释掉这一行,则每次单击按钮时微调器都会起作用。

第二次更新......

添加了隐藏的 iframe HTML:

 <iframe src="" style="display: none;" id="ifr"></iframe>

当我从服务器收到可下载文件的路径时,我用它来弹出对话框并下载:

 window.document.getElementById("ifr").src=path;  //Where path is location of downloadable file

现在,可下载文件对话框的一切看起来都很顺利,并且更多地点击按钮使旋转器保持旋转......

感谢@Frode 提供了这个问题的答案...

require(["dojox/widget/Standby", "dojo/domReady!"],
function(Standby) {
  var standby = new Standby({
      id: "standbyObj",
      target: "standby",
      color: "transparent",
      zindex: "auto",
      duration: "1000"
  });
  window.document.body.appendChild(standby.domNode);
  standby.startup();
});

稍后单击按钮时:

var standObj = dijit.byId("standbyObj");
if (standObj) {
  standObj.show();
}

...服务器正在处理 AJAX 请求...

处理完成后:

var standObj = dijit.byId("standbyObj");
if (standObj) {
  standObj.hide();
}

这一切都很好,但如果再次单击按钮,微调器会显示但不旋转。

其他内容:

CSS:

 #standby
 {
   position: absolute;
   top: 50%;
   left:50%;
   width:32px;
   height:32px;
   margin-top: -16px;
   margin-left: -16px;
}

html:

<div id="standby"></div>

最佳答案

该问题的解决方案如下:

在不可见的 iframe 中创建:

 <iframe src="" style="display: none;" id="ifr"></iframe>

当服务器使用可下载文件的路径应答 AJAX 请求时,使用以下 JavaScript 在客户端 Web 浏览器中显示打开/保存对话框:

 window.document.getElementById("ifr").src=path;  //Where path is location of downloadable file

这不仅看起来不错,而且待机旋转器将在多次单击按钮时继续旋转。

感谢@Frode 提供的问题解决方案。8)

关于javascript - dojo 待机小部件不旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936438/

相关文章:

javascript - 取出函数中的值(javascript)

javascript - 通过 p5 上的 setup() 内的 DOM 元素实例化对象

linux - 将 Codigniter 从 Windows 服务器迁移到基于 Linux 的服务器

javascript - Column Plugins(tree) 捕获dojo中的点击事件

javascript - fetchItemByIdentity() 没有按预期工作

javascript - 使用外部 Javascript 将图像添加到 HTML Canvas

javascript - 在调整窗口大小时将 div 更改为相同位置

javascript - 为什么使用 Javascript if 语句替换类名不起作用?

java - jsf 2.0 (myfaces) 中的 ajax 调用,在渲染完成之前调用 ajax 标记中的 onevent Javascript 函数

javascript - 需要 Javascript 库推荐