2011-09-26 4 views
4

Я не могу найти простое решение этой проблемы.jQuery - цвет текста исчезает в

Я пытаюсь затухать при изменении цвета для некоторого текста при появлении ошибки при нажатии кнопки.

if (document.getElementById("username").value == ""){ //First Name  
    $("#login_error").text("Please enetr a username!").css('color', '#FF0000');  
    $("#username_label").css('color', '#FF0000');fadeIn(3000); 
} 

Я могу изменить цвет, но это мгновенно. Я хочу, чтобы изменение цвета постепенно исчезало.

Спасибо, ребята!

+0

возможно дубликат: http://stackoverflow.com/questions/6320578/can-i-fade-in-a-color-with-jquery – JMax

+0

- это; между .css() и fadeIn() в строке 3 опечатка? Если нет, измените его на '.css(). FadeIn()' – dnagirl

+0

Да, это опечатка. –

ответ

8

Если вы добавите пользовательский интерфейс jQuery, они добавили поддержку цветных анимаций.

Подробнее http://jqueryui.com/demos/animate/.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 

    <script> 
    $(document).ready(function(){ 
    $(".block").toggle(function() { 
     $(this).animate({ color: "#FF0000" }, 1000); 
    },function() { 
     $(this).animate({ color: "#000000" }, 1000); 
    }); 
    }); 
    </script> 

Update: JQuery теперь предлагает color plugin включить только эту функцию, не включая всю библиотеку JQuery-UI.

+1

Ницца, не знал, что ..но небольшой плагин по-прежнему лучше, чем включение всего jQuery UI только для этой небольшой задачи. –

+1

Вы можете создать пользовательскую загрузку на странице jquery ui, включить только Core UI Core и эффекты Core –

+0

Cheers. $ (this) .animate ({color: "# FF0000"}, 1000); делает работу! –

0

, конечно, .css вызов мгновенно, и FadeIn просто прикованы (после того, как начал КСС изменен)

попробовать с помощью animate

0

Вы можете оживить CSS свойства, используя функцию .animate JQuery, т.е.

$(this).animate({ height: 250 }); 

НО, вы не можете оживить цвет, извините. Для этого вам нужно использовать плагин, см. this answer.

Кроме того, если вы используете JQuery UI, то можно:

Примечание: Проект JQuery UI расширяет метод .animate(), позволяя некоторые нецифровых стили, такие как цвета, чтобы быть анимированными. Проект также включает механизмы для определения анимаций через классы CSS, а не отдельные атрибуты.

(от http://api.jquery.com/animate/)

У вас есть образец here.

Смежные вопросы