jquery的背景变化只有一个轴(jquery background change one axis

2019-09-18 01:55发布

我想,我的最后一个问题,大家都不堪重负,所以我将简化

我试图只改变x轴的背景位置。 默认情况下,如果只有一个值被定义,其他默认为50%所以这种功能:

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

返回背景位置: 0 50% ;

我怎样才能修改函数来改变x轴但留下y轴不变?

编辑- >这是与4列和4行的sprite所以y轴应保持动态的。 在这里工作的网站: http://www.avalonbyeaw.com单击“完成”。 我们得到了它与直播网站上一些疯狂的复杂脚本的工作,但我会离开这里了这件事反正因为我还是很希望找到一个解决这个问题

Answer 1:

这是我会怎么做。

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


Answer 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"
  });
}


文章来源: jquery background change one axis only