【问题标题】:Showing a Splash Screen during script execution在脚本执行期间显示启动画面
【发布时间】:2009-03-15 07:24:47
【问题描述】:

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

感谢您的帮助。

【问题讨论】:

  • 你能说得更具体点吗?你是说 AJAX 加载器吗?

标签: php javascript jsp splash-screen


【解决方案1】:

诀窍是在启动启动显示后让渲染重新绘制,然后再继续长时间运行的 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
}

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      我使用 jQuery blockUI 插件来完成您所描述的。看看这些例子吧,它是高度可定制的,占用空间很小,并且可以通过简单的小调用来执行奇迹。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 1970-01-01
        • 1970-01-01
        • 2019-07-20
        相关资源
        最近更新 更多