У меня есть спрайт изображения, который является фоном основного блока, с дюжиной ссылок внутри него. Вместо того, чтобы записывать значения background-position в файл CSS для каждой ссылки при наведении курсора, я хочу сделать это в jQuery, чтобы background-position y увеличился на 550 пикселей (позиция x останется прежней).
Разметка:
<div class="compass">
<a class="facebook" href="#"> </a>
<a class="twitter" href="#"> </a>
<a class="youtube" href="#"> </a>
</div>
CSS:
.compass {
background-image: url('../images/compass.png');
background-position: top;
height: 550px;
position: relative;
width: 567px;
margin: 0 auto;
}
.compass a{
background-image: url('../images/compass.png');
background-position: top;
display: block;
position: absolute;
}
a.facebook {
height: 51px;
width: 26px;
left: 151px;
top: 190px;
}
Итак, идея состоит в том, чтобы написать стиль правила CSS для каждой ссылки, указывающий позиции x и y фонового изображения. Затем, при наведении, позиция по оси Y увеличится на 550 пикселей. При отключении мыши он вернется к горячему состоянию (уменьшение на 550 пикселей).
Я начал синтаксис jQuery, но не могу понять:
var originalPosition = obj.css('background-position');
$(".compass a").hover(
function(){
$(this).css('backgroundPosition', originalPosition + 550 + "px")
},
function(){
$(this).css('backgroundPosition', "");
}
)
Всем большое спасибо!