jQuery淡入新的DIV

时间:2012-07-31 18:22:47

标签: jquery jquery-ui

我正在使用bitrepository.com优秀的AJAX表单,它使用jQuery和PHP:http://www.bitrepository.com/a-simple-ajax-contact-form-with-php-validation.html

我想要点击淡入后出现的错误和验证DIV。

添加了以下jQuery代码,但无济于事(也尝试使用点击/更改功能):

$(document).ready(function(){
    if ($('.notification_error').length > 0) {
        $('.notification_error').fadeTo("slow", 1.0);
    }
});

任何帮助都会很棒......

2 个答案:

答案 0 :(得分:2)

鉴于您的代码看起来与您引用的代码完全相同,您可以将ajax-complete回调更改为:

$("#note").ajaxComplete(function(event, request, settings){  

   if(msg == 'OK') // Message Sent? Show the 'Thank You' message and hide the form
   {
      result = '<div class="notification_ok">Your message has been sent. Thank you!</div>';
      $("#fields").hide();
   }
   else
   {
      result = msg;
   }
   /* Hide the element, alter the content, and then fade it in */
   $(this).hide().html(result).fadeIn("slow"); 
});

这会在错误消息和成功消息中消失。

<强>更新

要仅在第一次淡化元素,您可以用以下内容替换最后一行:

if ($(".notification_error, .notification_ok", this).length === 0) {
    $(this).hide().html(result).fadeIn("slow"); 
} else {
    $(this).html(result);
}

我们所做的是检查是否存在包含类notification_errornotification_ok的en元素。如果不是(第一次)我们将其淡入,否则我们只是更新内容。

答案 1 :(得分:1)

尝试以下方法:

$("#clicked_input_id").click(function(){
    $('.notification_error').fadeTo("slow", 1.0);
});