J'ai donc du code qui anime une image BG via un plugin. C'est une solution générale où chaque élément de la classe a la même image BG; J'utilise un sprite avec une image unique pour chaque colonne de ma barre de navigation. Le code est ainsi:
$('#nav a')
.mouseover(function(){
$(this).stop().animate(
{backgroundPosition:"(0 -250px)"},
{duration:500})
})
.mouseout(function(){
$(this).stop().animate(
{backgroundPosition:"(0 0)"},
{duration:500})
})
Cela fonctionne très bien, donc je peux définir un décalage Y pour chaque élément, mais chaque lien a son propre décalage x qui ne changeront pas/être animés du tout. Exemple CSS:
li.downloads a {
background:url(img/navsprite.png) repeat -318px -9px;
}
Je veux rouler le -318px -9px
à quelque chose comme -318px 200px
, mais pour un autre élément que je voudrais changer -482px -9px
--482px 200px
. Seul le décalage Y devrait changer, mais je ne connais pas assez la syntaxe de jQuery pour extraire cette valeur de l'élément CSS de $ (this) et la mettre dans les paramètres animate. Merci!
Et sont à la fois X et Y d'autres attributs sélectionnables? Idéalement, ce que je voudrais était de dire "Change to BackgrounPosition: ($ x -200px)" ou quelque chose de similaire –
@Alex: Voir mon texte mis à jour. Vous pouvez vous référer aux deux via des entrées de tableau suite à une division sur la valeur. – Sampson
à ce stade, je pense que vous devez utiliser regex pour obtenir vos valeurs – Mike