在两页之间的过渡期间加载模态

时间:2014-02-21 19:29:21

标签: javascript jquery ajax

我有一个登录页面,将您重定向到索引页面,索引页面包含以下代码:

    <script type="text/javascript">


<div id="overlay">
     <img src="loading.gif" alt="Loading" />
     Loading...
</div>
jQuery:

$(window).load(function(){

   $('#overlay').fadeOut();

});


    </script>

它只加载一个简单的模态。 问题是它在延迟几秒后显示模态。不只是在页面加载时。索引页面内容很重。

我想要的是,例如当铬正在加载时(它显示一个小圆圈旋转)我的页面显示模态。 我认为延迟几秒就是为什么索引很重要。

2 个答案:

答案 0 :(得分:0)

当你向$(window).load()添加一个函数时,你会说:当页面加载完毕后给我打电话。听起来你想在页面加载时隐藏微调器,而不是之后。问题是jQuery可能还没准备好,但是如果你不需要支持太多的浏览器,你可以在一个简单的函数而不是load()中尝试它。

<script type="text/javascript">
  $('#overlay').fadeOut()
</script>

否则,如果jQuery因为尚未准备好而无法工作,那么您可能必须自己编写fadeOut逻辑。

答案 1 :(得分:0)

你的例子有点奇怪。也许只是重新格式化你的代码?

<div id="overlay">
 <img src="loading.gif" alt="Loading" />
 Loading...
</div>

<script type="text/javascript">
  // Using the shorthand jQuery ready code. Basically
  // this will add an anonymous function to a stack
  // and when the document's ready event fires, it
  // goes through the stack and runs anything you've
  // added. So, document is ready, no run:

  $(function(){
    $('#overlay').fadeOut();
  });
</script>

或许您的问题更多地是关于loadwindow的{​​{1}}事件中document事件之间的差异。有关更多window.onload vs $(document).ready()

的信息,请参阅此内容