2 параметра в backgroundSize animate в jQuery не работают? - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь создать анимацию, чтобы увеличить размер фона по горизонтали, сохраняя вертикальный автоматический режим при наведении на него курсора мыши. Я попытался передать 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 Ответ

0 голосов
/ 10 марта 2019

Вы можете сделать это с помощью 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>
...