2012-06-13 4 views
6

내 마지막 질문은 모두를 압도하여 단순화 할 것입니다.jquery 배경이 한 축만 변경됨

x 축의 배경 위치 만 변경하려고합니다. 하나의 값이 50%에 다른 기본값을 정의하면 기본 때문에이 기능으로 :

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

반환 배경 위치 : 0 50%;

x 축을 변경하지만 y 축을 변경하지 않고 수정하려면 어떻게해야합니까?

편집 -> 이것은 y 축이 동적으로 유지되어야하므로 4 열 4 행의 스프라이트를위한 것입니다. 여기에 작업 사이트 : http://www.avalonbyeaw.com "완료"를 클릭하십시오. 우리는 라이브 사이트에 어떤 미친 복잡한 스크립트 작업,하지만 난 여전히 정말이 문제에 대한 해결책

답변

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

hmmm ... 코드를 교체했지만 작동하지 않는 것 같습니다. html 호출이 여전히 onClick = "colorChangePiano()"여야합니까? –

+0

실행해야 할 때 꼭이 함수를 호출해야합니다! 또한 어떤 값을 삽입해야할지 모르므로 픽셀 단위로 정렬하지 않으려면 %로 변경하십시오. 물론 – TheHippo

+0

롤! 하지만 여전히 올바른 전화 야, 맞지? 그냥 바보 같은 질문이 있다면 그것은 –

5

다음은 어떻게 수행할까요?

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

나를 용서해서 그것이 작동하지 않았는지 확인하고 싶었지만, 나는 자바 스크립트 아기입니다. 어떻게 html로 이것을 호출합니까? –

+2

실제로 거기에 기능을 넣을 수 있습니까? 나는 지금까지 그것을 몰랐다. 감사. –

+0

@alex 나는 당신이 이것을 어떻게 부르는지 궁금합니다. ""태그 –

관련 문제