创建跨度后淡入

时间:2011-06-04 19:48:48

标签: jquery

我想创建span类错误,并淡化它

if(formName ==''){

        $("#name").after('<span class="error"> Put your name please</span>');
        $(".error").fadeIn("slow");
        hasError = true;
    }

我在这里想念什么?

由于

3 个答案:

答案 0 :(得分:3)

您的问题是您创建了跨度,并且在创建时已经显示了该跨度。尝试隐藏它,然后将其淡入:

$(".error").hide().fadeIn("slow");

但是,如果您有多个具有类error的元素,则可能无法产生理想的结果。要解决这个问题,请尝试以下方法:

var error=$('<span>').addClass('error').hide().text('Please type your name.');
$('#name').after(error);
error.fadeIn('slow');

答案 1 :(得分:0)

$("#name").after('<span class="error" style="display:none;">Put your name please</span>');
$('.error').fadeIn('slow');
hasError = true;

你几乎拥有它。所有fadeIn都设置显示css值以最终显示DOM对象,但如果已经显示,那么它将不会执行任何操作。

答案 2 :(得分:0)

问题是你在name元素之后将属性附加到dom,然后尝试淡入它。“。error”元素的不透明度已经设置为100%。所以褪色什么也没做。这个jsfiddle可能会告诉你我的意思:http://jsfiddle.net/peFHN/