5

ロールオーバーを設定したい要素がいくつかありますが、時間の経過とともにロールオーバーごとに手動で位置を設定するのではなく、その場で計算を行うことを検討しています。現在、私はスプライトを使用しています。その時が来たら、さらに追加します..常に横に並べ、常に10pxのパディングを画像ごとに配置します。

たとえば、デフォルトの位置が常に 0 100 であり、そのロールオーバーを取得したい場合は、50 100 になることがわかっています。その 2 つの値を取得する方法だけを使用するにはどうすればよいですか?それらの1つに追加

4

1 に答える 1

16

background-position を取得して 2 つの値に分割し、値を文字列として設定する計算を実行する必要があります。

例えば

myPos = $('.selection').css("background-position").split(" ")

myPos[0] <-- will contain the X-value, "50px"
myPos[1] <-- will contain the Y-value, "100px"

次に、それらを整数に変換する必要があります: (myPos[1] で同じことをしていると仮定します)

myPos[0] = parseInt(myPos[0].replace("px",""))

次に、計算を行い、それらを元に戻します。

myPos[0] = myPos[0] + 100

$('.selection').css("background-position", myPos[0]+'px ' + myPos[1] + 'px')
于 2012-04-04T13:46:21.183 に答える