css решение
если ваша ссылка (a
) полностью заполняет родительский div
, вы можете сделать
div.image:hover { background-position: center top; }
- заполнение полностью, потому что тогда не будетразница в интерактивности (неотзывчивая ссылка, но изменение bg, если
div
больше a
) - к сожалению, это нет-нет для IE6
jQuery решение
$(".image a").hover(function(){
$(this).parent('.image').addClass('hover');
},function(){
$(this).parent('.image').removeClass('hover');
});
, а затем в css
div.image { background-position: center bottom; } //normal
div.hover { background-position: center top; } //override
jQuery note
1
, если .hover
слишком расплывчато, используйте
div#some-holding-div div.hover {...}
Я уверен, что в вашей разметке есть какой-то элемент div
2
Кроме того, вы можете установить свойства CSS прямо из jQuery (вместо добавления класса и удаления класса вы можете просто установитьnackgroundPosition
и установите его обратно)
note
Это просто от макушки моей головы, вероятно, может быть адаптировано под ваши нужды - и это не было проверено.