Вопрос по javascript, jquery, dom – javascript или jquery получают свойства background-position данного элемента, а затем динамически +/- к этому элементу

5

У меня есть несколько элементов, на которые я хочу установить опрокидывания, как бы я ни рассчитывал на лету, а не устанавливал вручную положение каждый раз для каждого опрокидывания, так как со временем их будет много. В настоящее время я использую спрайт, который, когда придет время, я добавлю к нему больше. Всегда бок о бок, и всегда 10px отступы вокруг для каждого аспекта изображения.

Так что я знаю, что если моя дефолтная позиция всегда равна 0 100, например, и я хочу перебросить для этого, то я знаю, что она будет 50 100 Как я могу просто иметь метод получения 2 значений этого, но только добавив к одному из них

Ваш Ответ

1   ответ
16

выполнить вычисление, которое вернет значения в виде строки.

Например

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')
Что если эта фоновая позиция возвращает процент? Как получить значение px?
Честно говоря, правда; это просто привычное, возможно, навязчивое, желание не забыть ... хотя, возможно, в этом случае оно и не нужно.
Хорошее предложение, но я не думаю, что jQuery сообщит о любых значениях, начинающихся с нуля, кроме самого нуля.
Просто быстрое напоминание, чтобы запомнить основание ...
делаетattr("background-position") работает? разве это не часть стиля, а скорее не атрибут?

Похожие вопросы