2016-04-01 7 views
2

Arbeits Fiddle: https://jsfiddle.net/9u0ggeLL/3/Wie andere Farbe für Effekt verwenden

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> 

Wie kann ich das Skript ändern, so dass je nach dem Kind Elemente, das schwebte ist, wird es mit der Farbe animiert ink Klasse basierend auf dem Index.

Ich möchte auch, die Hintergrundfarbe zu dem nach der Animation zu stoppen.

Ich habe versucht, die folgenden, und es hält nur neue Spanne hinzufügen: https://jsfiddle.net/9u0ggeLL/4/

Antwort

3

Zum einen können Sie ein Array von den Farben hinzufügen, die Sie in Ihren Code verwenden möchten:

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

dann innerhalb der hover Handler Sie können die Farbe aus dem Array zuweisen die index Variable haben Sie bereits Zugriff auf:

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

Working example

Alternativ wäre es mehr beide mehr erweiterbar und einfacher zu warten, wenn Sie die Farben an die übergeordnete Elemente in CSS zuweisen und sie dann in der JS-Code lesen, wie folgt aus:

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

Working example

+0

Ehrfürchtig ... :) Danke. Ich hatte es auf andere Weise funktioniert nur eine Änderung an dem, was ich getan habe ... https: //jsfiddle.net/9u0ggeLL/7/. – Si8

+0

Kein Problem, froh zu helfen –

+0

Empfehlen Sie die Hintergrundfarbe nach der Animation einzustellen? Ich möchte das bg zu der Farbe ändern, die es animiert. – Si8

Verwandte Themen