Это не оживляет, как я ожидаю, почему он не оживляет?
HTML
<div id='menuI'></div>
CSS
#menuI {
height: 100px;
width: 100px;
background:url('https://www.teledynedalsa.com/images/semi/STA1600_2_200w.jpg') 0px 0px;
text-align:justify;
}
JavaScript
$(document).ready(function(){
$('#menuI').mouseenter(function(){
$('#menuI').stop();
$('#menuI').animate({
backgroundPosition: '0px 100px'
});
});
$('#menuI').mouseleave(function(){
$('#menuI').stop();
$('#menuI').animate({
backgroundPosition: '0px 0px'
});
});
});
Как сказал showdev, для этого вам нужен плагин jQuery. Однако вы можете также рассмотреть возможность использования переходов, поскольку он очень хорошо подходит для этого.
Следующий css приведет к тому же
#menuI {
height:100px;
width:100px;
background:url('https://www.teledynedalsa.com/images/semi/STA1600_2_200w.jpg') 0px 0px;
transition: background linear 0.4s; //Add vendor prefixed versions
text-align:justify;
}
#menuI:hover {
background-position: 0px 100px;
}
Пример: http://jsfiddle.net/9fCnN/
Я считаю, что плагин необходим для анимации "backgroundPosition".
У меня был успех с использованием свойства background-position-y
:
$(document).ready(function () {
$('#menuI').mouseenter(function () {
$(this).stop().animate({'background-position-y':'100px'});
});
$('#menuI').mouseleave(function () {
$(this).stop().animate({'background-position-y':'0px'});
});
});
К сожалению, это не работает в Firefox.
См. Эти сообщения:
JQuery Анимация фонового изображения по оси Y
Анимировать фоновое положение y в Firefox с помощью JQuery