2

我想知道在脚本执行期间如何在用户屏幕上显示启动画面(如 gif 或 jpeg 文件)。

谢谢您的帮助。

4

3 回答 3

6

诀窍是在启动启动显示后让渲染重新绘制,然后再继续长时间运行的 JS。为此,您可以使用 setTimeout 方法。

例如,假设您的初始显示位于显示样式为 none 的 div 中,您可以使用此函数来运行您的代码:-

function splash(splashDivId, fn)
{
    var splashDiv = document.getElementById(splashDivId)
    splashDiv.style.display = "block";
    setTimeout(function() {
       fn()
       splashDiv.style.display = "none";
    }, 100);

}

用法:-

splash("mySplashDiv", longRunner)

function longRunner()
{
    //This may take a while
}
于 2009-03-15T08:51:56.980 回答
1

我使用 jQuery blockUI插件来完成你所描述的。只需看一下示例,它是高度可定制的,占用空间很小,并且可以通过简单的小调用来执行奇迹。

于 2009-03-15T09:23:32.567 回答
1

我不知道现有的脚本,但我可以告诉你如何实现启动画面。

我将建议使用JQuery,因为这是我选择的 JS 库,但其他的也很好。

首先,在您的 JS 方法中,您需要显示弹出窗口。您可以使用 JQuery对话框小部件来完成此操作。以同样的方法,进行 ajax 调用。Ajax 本质上是异步的,因此为调用完成和调用出错时设置一个方法。在这两种方法中,您应该做的第一件事是隐藏模式弹出窗口。

现在,还有最后一个技巧 - 您希望在意外情况下优雅地失败,例如失去连接。因此,当您显示对话时,您还需要设置javascript 超时来处理任何错误情况,以便对话不会永久显示。该方法应该只检查对话是否可见,如果是,则隐藏它(并可能显示错误消息)。

我希望这些信息足以让你继续前进。即使您是 JavaScript 新手,这也是一个值得学习的好项目,因为它应该不会太难。

于 2009-03-15T07:45:08.123 回答