我想打开一个应该可见几秒钟(可能是2秒)的对话框,然后自动关闭。 任何人都可以给我一个提示如何解决这个问题?我可以使用任何计时器功能吗?
答案 0 :(得分:2)
您可以使用客户端功能setTimeout()
来实现此目的。将以下CSJS代码插入按钮,打开对话框:
setTimeout(function() {
... client action to hide dialog or XSP.partialRefreshGet/Post ...
}, 2 * 1000);
第一个参数是在超时时执行的函数,第二个参数是超时的毫秒数。
答案 1 :(得分:1)
我也在寻找类似的东西,请查看: https://frostillic.us/f.nsf/posts/a-control-for-dojox.widget.toaster
这使用以下组件并与dojo一起使用: http://livedocs.dojotoolkit.org/dojox/widget/Toaster
答案 2 :(得分:0)
从UX点来看,使用弹出窗口并不是一个好主意。尝试使用标准的Dojo组件Toaster。
http://dojotoolkit.org/reference-guide/1.10/dojox/widget/Toaster.html#dojox-widget-toaster https://frostillic.us/f.nsf/posts/AA9764E10494D4E585257A7000425672
答案 3 :(得分:0)
你可以使用Knut Hermann的解决方案,但你应该插入一个clearTimeout()函数来停止打开和关闭对话框
<xp:scriptBlock
id="scriptBlockRefresh">
<xp:this.value>
<![CDATA[
var myVar = setTimeout(function() {
... client action to hide dialog or XSP.partialRefreshGet/Post ...
}, 2 * 1000)
clearTimeout(myVar);
]]>
</xp:this.value>