#javascript #jquery #jquery-animate
#javascript #jquery #jquery-анимировать
Вопрос:
Я пытаюсь создать анимацию, чтобы увеличить размер фона по горизонтали, автоматически сохраняя вертикальный размер при наведении на него курсора мыши. Я попытался передать 2 параметра в backgroundSize в функции animate, но это не сработало.
Obs: Я использую сжатый jQuery 3.3.1
Это 2 способа, которые я пробовал:
//First way
$('#myDiv').hover(
function() {
$(this).animate({
backgroundSize: "auto 130%"
}, 450);
$(this).clearQueue();
},
function() {
$(this).animate({
backgroundSize: "auto 100%"
}, 450);
$(this).clearQueue();
});
// Second way
$('#myDiv').hover(
function() {
$(this).animate({
backgroundSize: "auto =30%"
}, 450);
$(this).clearQueue();
},
function() {
$(this).animate({
backgroundSize: "auto -=100%"
}, 450);
$(this).clearQueue();
});
Я хотел бы знать, есть ли другой способ сделать это.
Ответ №1:
Вы могли бы сделать это с помощью css и анимировать размер фона при наведении курсора мыши, например:
#kitties {
display:block;
width: 100px;
height: 200px;
background: url(http://placekitten.com/200/300) no-repeat center center;
background-size: auto 100%;
transition: background-size linear 450ms;
}
#kitties:hover{
transition: background-size linear 450ms;
background-size: auto 130%;
}
<div id="kitties"></div>