jquery背景只改变一个轴

kri*_*lds 6 javascript jquery axis background-position

我认为我的最后一个问题压倒了所有人,所以我会简化

我试图仅改变x轴的背景位置.默认情况下,如果只定义了一个值,则另一个默认为50%,所以此函数:

function colorChangePiano() {
    var bp = $("background-position").css;
    $("#target").css('background-position', (bp == -1131) ? '-377' : '0');
}
Run Code Online (Sandbox Code Playgroud)

返回background-position 0 50%:;

如何修改函数以更改x轴但保持y轴不变?

编辑 - >这是一个4列4行精灵,因此y轴应保持动态.工作现场:http://www.avalonbyeaw.com点击"完成".我们在现场网站上使用了一些疯狂复杂的脚本,但是无论如何我都会把它留在这里,因为我仍然真的想找到解决这个问题的方法

ale*_*lex 5

我就是这样做的.

$('#target').css('background-position', function(i, backgroundPosition) {
    return backgroundPosition.replace(/\d+px/, '60px');
});
Run Code Online (Sandbox Code Playgroud)

  • 你真的可以在那里放一个功能吗?直到现在我才知道.谢谢. (2认同)

The*_*ppo 2

将 2 个值添加到background-position(如预期)。还将当前位置保存在变量中,这使得这更容易。

var pos = -377;
var colorChangePiano = function() {
  if (pos == -377) {
    pos = -1131
  }
  else {
    pos = -377
  }
  $('#target').css({
    'backround-position': pos + 'px 0px' // will result in "Xpx 0px"
  });
}
Run Code Online (Sandbox Code Playgroud)