2011-06-04 55 views
0

我想創建跨類錯誤,它淡入後acreate跨度

如果掉色(表格名稱==「」){

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

這到底是怎麼想我?

感謝

回答

3

你的問題是你創建的跨度,當你創建它,它已經顯示。試着隱藏它,然後逐漸把它:

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

這可能不會產生理想的結果,如果您有與類error多個元素,但是。爲了解決這個問題,嘗試這樣的事情:

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

謝謝,像一個魅力工作。 – Carlos 2011-06-04 20:35:01

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

你幾乎擁有了。所有fadeIn都會設置display css值來最終顯示DOM對象,但是如果已經顯示,那麼它將不會執行任何操作。

+0

是的,差不多。謝謝 :) – Carlos 2011-06-04 20:35:17

0

問題在於你在名稱元素後追加了屬性,然後嘗試淡入。「.error」元素的不透明度已設置爲100%。所以淡入淡出。這jsfiddle可能會告訴你我的意思:http://jsfiddle.net/peFHN/