2016-04-01 4 views
2

Рабочей скрипку: https://jsfiddle.net/9u0ggeLL/3/Как использовать различные цвета для эффекта

HTML:

<ul> 
    <li id="one"><a>Dashboard</a></li> 
    <li id="two"><a>My Account</a></li> 
    <li id="three"><a>Direct Messages</a></li> 
</ul> 

Как я могу изменить сценарий, так что в зависимости от дочернего элемента, который парил, он будет анимировать с цветом ink класс, основанный на индексе.

Я также хотел бы установить цвет фона после окончания анимации.

Я попытался следующие, и он просто продолжает добавлять новый срок: https://jsfiddle.net/9u0ggeLL/4/

ответ

3

Во-первых, вы можете добавить массив цветов, которые вы хотите использовать в своем коде:

var colors = ['red','blue','green']; 

Тогда внутри hover обработчика вы можете назначить цвет из массива, используя переменную index у вас уже есть доступ к:

ink.css('background-color', colors[index]); 

Working example

С другой стороны, было бы более и более расширяемой и проще в обслуживании, если вы назначаете цвета для родительских элементов в CSS, а затем прочитать их в коде JS, как это:

#one { color: #C00; } 
#two { color: #0C0; } 
#three { color: #00C; } 
ink.css('background-color', parent.css('color')); 

Working example

+0

Awesome ... :) Спасибо. У меня было это другое дело, просто модификация того, что я сделал ... https: //jsfiddle.net/9u0ggeLL/7/. – Si8

+0

Без проблем, рад помочь –

+0

Вы рекомендуете устанавливать цвет фона после анимации? Я хотел бы изменить bg на цвет, который он оживляет. – Si8