简单的fadeOut()作为ajax回调不正常地工作

时间:2014-06-27 11:01:33

标签: jquery ajax ajaxform

这让我很生气!

我无法弄清楚为什么fadeOut()功能在这里不起作用。我敢肯定它会变得非常简单,但我看不到它。单击触发器按钮后,第一个fadeOut()工作正常 - #page3按预期淡出,#holdingpage淡入。但是,一旦ajax调用完成,#holdingPage div不会消失,但#thanksPage div会淡入,所以我留下了#holdingPage div和#thanksPage div的内容。 ajax调用本身工作正常 - 提交表单并通过php脚本将数据写入数据库。

有人可以帮忙吗?!

以下是代码:

HTML

<div id="page3" class="surveyDivs">
...blah...blah...blah...
</div>

<div id="holdingPage" class="surveyDivs" style="display: none;">
  <div class="loadingDiv">
    <img class="loadingImage" src="../css/ajax-loader.gif" />
  </div>
</div>

<div id="thanksPage" class="surveyDivs" style="display: none;">
...blah...blah...blah...
</div>

Jquery的

docu.on('click', "#finishSurveyButton", function(){
  $('#page3').fadeOut(function(){
  $('#holdingPage').fadeIn();
  });
  $("#inductSurvForm").ajaxForm({
    success: function(data){
      $('#holdingPage').fadeOut(function(){
        $('#thanksPage').fadeIn();  
      });

      }
    }).submit();    
  });

1 个答案:

答案 0 :(得分:0)

尝试在$('#page3')的动画完整中完全编写ajax函数.fadeOut();我猜这个序列在这里变得乱七八糟,因为一旦页面有fadedin就必须调用ajax,并且可能是ajax调用比fadeIn更快地发生

docu.on('click', "#finishSurveyButton", function(){
  $('#page3').fadeOut(function(){
  $('#holdingPage').fadeIn();
  });
  $("#inductSurvForm").ajaxForm({
    success: function(data){
      $('#holdingPage').fadeOut(function(){
        $('#thanksPage').fadeIn();  
      });

      }
    }).submit();    
  });