提问人:Andrew G. Johnson 提问时间:4/22/2009 更新时间:4/22/2009 访问量:1508
提交表单后保持动画 GIF
Keep an Animated GIF Going After Form Submits
问:
以下内容在 ie6、ie7、chrome 中对我有用,但不适用于 ff3
document.getElementById("form-name").submit();
var image = document.getElementById("loader-img");
setTimeout(function() { image.src = image.src; },50);
我能做些什么来提高一致性?
答:
0赞
Thinker
4/22/2009
#1
尝试将 src 设置为空白,然后再次设置为 image。第二个更改可能还需要稍后调用 (settimeout)。
评论
0赞
Andrew G. Johnson
4/22/2009
添加: image.src = “ ”;到函数的开始,没有看到任何变化
1赞
knut
4/22/2009
#2
您应该异步执行发布,否则 UI 可能会挂起。有关更多信息,请查看 jQuery 表单插件。
评论
0赞
Andrew G. Johnson
4/22/2009
说实话,这不是表单提交,而是 document.location=“url”;叫
0赞
knut
4/22/2009
我想我不明白你想告诉我什么。请告诉我为什么我的答案不能解决您的问题?
0赞
pluckyglen
4/22/2009
#3
您是否尝试过删除映像节点并替换它?像这样:
var image = document.getElementById("loader-img");
image.parentNode.removeChild(image);
image.parentNode.appendChild(image);
(您可能还需要在 remove 和 append 调用之间执行。image.cloneNode(true)
显然,你的 HTML 需要结构化,这样就不会破坏显示。
但是,knut 所说的适用(发布到隐藏的 IFRAME 或使用 XHR 会给你更多的控制权)。而且我不确定您所说的“这不是表单提交,而是 document.location='url' 调用”是什么意思,所以如果您澄清用例和工作流程,我可能会提供更多帮助。
评论