jQuery css background-position animation

Eu tenho um problema estranho com jQuery e CSS; parece um bug jQuery; Eu tentei pesquisar, mas as informações são feias.
Há uma foto grande como pano de fundo do corpo; quando eu clico em um botão, desejo obter uma animação jQuery simples do plano de fundo, da posição “inferior” para a posição “50%”.
Bem, se eu definir $("body").css("background-position", "center 50%"); funciona, mas se eu tentar usar a function animate() jQuery, ela não funciona mais.
Então, é possível ter esse efeito de alguma forma?
Muito obrigado antecipadamente.

Tenho certeza que não é possível usar animate() para valores relativos, porque não é fácil calcular posições absolutas a partir da informação relativa.

Tente usar valores de pixel até o fim.

Sugiro usar um div que contenha a imagem (ou que tenha a imagem como plano de fundo) e o. Animando essa div. Comece com um caso mínimo em que você tenha apenas 1 div, absolutamente posicionado e uma img dentro da div. Em seguida, adicione outros elementos sobre ele (maior z-index) e obtenha a aparência e comportamento desejados.

Eu estou tentando recriar o problema, mas Pekka está em algo … usando jQuery você pode calcular a altura atual da janela, reduzir pela metade, e definir a posição de fundo usando esse valor de pixel.