javascript或jquery获取给定元素的background-position属性,然后动态地+/-

chr*_*ris 5 javascript jquery dom

我有一些我想要设置滚动的元素,我怎么想在飞行中进行计算而不是每次为每次滚动手动设置位置,因为随着时间的推移会有很多.目前我正在使用一个精灵,随着时间的推移,我追加更多它.总是并排,并且总是10px填充它的每个图像方面.

所以我知道如果我的defualt位置总是0 100,例如我想要翻转那么我知道它将是50 100我怎么能去做一个方法来获取2的值但只有添加到其中一个

Dio*_*ane 16

您需要获取背景位置并将其分成两个值,执行计算,将值设置为字符串.

例如

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

myPos[0] <-- will contain the X-value, "50px"
myPos[1] <-- will contain the Y-value, "100px"
Run Code Online (Sandbox Code Playgroud)

然后你需要把它们变成整数:(假设你和myPos一样做[1])

myPos[0] = parseInt(myPos[0].replace("px",""))
Run Code Online (Sandbox Code Playgroud)

然后你做数学并分配回来:

myPos[0] = myPos[0] + 100

$('.selection').css("background-position", myPos[0]+'px ' + myPos[1] + 'px')
Run Code Online (Sandbox Code Playgroud)

  • `attr("background-position")`有效吗?不是它的风格部分,而不是属性而不是? (2认同)