2 параметра в backgroundSize animate в jQuery не работают?

#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>