2015-11-06 84 views
0

在我的项目中,我实现了一个可用于jQuery的代码。onFinish执行时的jQuery事件加载

下面是代码:

<script> 
      $("#startProgressTimer").click(function() { 
       $("#progressTimer").progressTimer({ 
        timeLimit: $("#restTime").val(), 
        onFinish: function(){ 
        $('#startProgressTimer').fadeOut(2000); 
        $('#progressTimer').fadeOut(2000); 

        $('#testId').show();// NOT WORKING 

        } 
       }); 
      }); 
</script> 

我在执行onFinish事件应加载一个验证码。 $('#startProgressTimer').fadeOut(2000);$('#progressTimer').fadeOut(2000);工作正常。但$('#testId').show();不起作用。这是“testId”div元素。 <div id="testId" style="visibility:hidden"><?php include'cap_index.php'; ?></div>。当onFinish事件被执行时,该元素应该立即工作立即在前两个元素正常淡出但不工作之后。验证码未显示。请帮忙。

+0

你能深入一下“不工作”的意思吗? div是否出现?该页面是PHP的扩展吗?即使div被隐藏,php是否会执行? –

+0

1st - 不工作意味着执行onFinish事件时不会显示DIV元素(但前两个元素正在很好地执行......它们会在时间上正确淡出) 第2个 - 当可见性为不隐藏(目前隐藏)。 3rd - 是的,页面有一个PHP扩展,你可以看到我已经在那里包含了一个PHP页面cap_index.php。 4th - 当DIV隐藏时,元素不会仅显示。只有在验证码填满并单击提交按钮时才执行。 (它是一个验证码即时提到) –

+0

尝试:'$(“#testId”).css('visibility','visible');' – Fluinc

回答

3

Jquery的show不会将visibility: hidden;隐藏要素工作,你可以告诉它,如下所示:

$("#testId").css('visibility', 'visible'); 

现在,如果你wan't #testId显示其他两个元素是隐藏后,使用回拨功能为fadeOut电话:

$('#startProgressTimer, #progressTimer').fadeOut(2000, function() { 
    $("#testId").css('visibility', 'visible'); 
}); 
+0

有效,但部分...现在显示为我想要的... BUT现在,当我验证了验证码并点击了提交按钮后,验证码隐藏并且#startProgressTimer再次出现,而不是显示成功或错误消息。但是如果我的知名度不隐藏,验证码完美工作,并显示成功消息。 –

+0

请帮我 –