1

我正在使用 jQuery 1.6.2,并且在显示请稍候动画时,我必须禁用页面上包含表单、选择和链接的所有元素。

我在Ajaxload找到了一个免费动画并$('.gif').show();用来显示它,等到一些 javascript 函数完成然后调用$('.gif').hide();

然而,我遇到了一些我没有预料到的事情。当用户在下拉列表中选择一个新项目时,加载 gif 动画会显示,但此后不久,在与下拉列表关联的嵌套 javascript 函数中,它会使用来自数据库调用的新数据来调用页面刷新,并在我可以之前删除我的动画调用隐藏函数。

所以我的问题是,是否可以显示将在 jsp 中显示的动画,然后继续直到重新加载完成?

我正在使用这样的东西来禁用链接点击事件:

 $("a").click(function(event) {
   // add some conditional logic here if animation is running then
    event.preventDefault(); ...

那么,有没有更好的方法来全局禁用页面上的所有元素,防止选择下拉菜单上的单击事件或更改事件?

后果:

我使用了 Archer 对背景 div 的建议,Jai 的回答,以及这篇博客文章:jQuery 页面加载延迟,这篇关于使用带有动画的模态窗口的文章,并提出了一个完全符合我需要的自定义解决方案.

感谢大家的帮助,不胜感激!

4

1 回答 1

2

可能以这种方式一起使用doc ready和:window load

$(function(){
   $('.gif').show();
   $(window).load(function(){
      $('.gif').hide();
      $('#wrapper').show();
   });
});

最初wrapper div needs to be hidden,当窗口完全加载时show the wrapperhide the gif.

于 2013-02-14T18:00:03.763 回答