Dopo aver cercato per un po 'e rendendosi conto che praticamente tutte le soluzioni là fuori sono per le vecchie versioni di jQuery ho rinunciato e ha scritto queste funzioni che per lo più fare il trucco per un 500ms dissolvenza in entrata o fuori:
function AddShadow(ControlID)
{
for (i = 0; i < 11; i++)
{
setTimeout('$("#' + ControlID + '").css("text-shadow", "0 0 ' + i + 'px White");', i * 50);
}
}
function RemoveShadow(ControlID)
{
for (i = 0; i < 11; i++)
{
setTimeout('$("#' + ControlID + '").css("text-shadow", "0 0 ' + (10 - i) + 'px White");', i * 50);
}
}
Poi basta implementano con un gestore di hover JQuery come questo:
$('.class').hover(function() {AddShadow($(this).attr('id'))}, function() {RemoveShadow($(this).attr('id'))};
L'unica cosa che non mi piace di loro è che se si passa sopra l'oggetto rapidamente lampeggerà come si alterna tra le due funzioni, ma almeno li lascia sempre in uno stato finale di essere un-sbiadito.
Altri motivi non è ideale:
- non è molto intuitivo per modificare il tempo o il livello poiché è necessario pasticciare sia con il ciclo e il moltiplicatore
- E 'solo fa lineare i passaggi
- Probabilmente non è un modo molto efficiente per farlo.
- Qualsiasi controllo per il quale si desidera utilizzare queste funzioni deve avere un ID o non funzionerà.
Ma sul lato positivo, dovrebbe funzionare con ogni versione di JQuery ed è stabile.
Guarda qui: http://stackoverflow.com/questions/2226906/animating-elements-of-text-shadow-with-jquery –