0

我的 application.html.erb 有一个简单的脚本来设置 3 秒的超时时间,同时要显示一个 gif。但是代码不起作用。如果在文档中使用 elsewise,gif 也可以正常工作。

有人可以告诉我在这里做错了什么。

   ##application.html.erb
    <script>function hideLoading() {
        $("#loading").hide();

    }

    function showLoading() {
              $("#loading").show();
           }

    function dosomething() {
        showLoading();
        setTimeout("hideLoading()", 3000);
        return false;
    }
    </script>

    </head>
    <body>
    <div id="loading">
        <img src="/assets/loading2.gif" alt="loading" />
    </div>

    <%= yield %>

    </body>
    </html>
4

1 回答 1

0

似乎您正在定义但从未调用dosomething(),因此它永远不会被执行(除非您没有在调用它的位置发布代码)。在任何情况下,您都可以将随机数alert('foo');放入dosomething()函数中以检查它是否正在运行。

如果您使用的是 jquery,这将是在dosomething()加载 DOM 后立即调用的合适方法:

$(document).ready(function() {
    dosomething();
});
于 2013-07-28T08:07:22.237 回答