Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Глюк с background-position-y в ie8 (https://javascript.ru/forum/css-html-internet-explorer/14331-glyuk-s-background-position-y-v-ie8.html)

DeMETAL 11.01.2011 17:27

Глюк с background-position-y в ie8
 
Доброе время суток.

Столкнулся с проблемой нахождения background-position с помощью jquery (v1.4.4) в "любимом" ие.

<div class="sdf" style="width: 1000px; height: 500px; background: url('artatom/header-bird-1.png') 50% 50% no-repeat;">
</div>

Opera, FF, Chrome:
bgxy = $(".sdf").css("background-position"); // bgxy = "50% 50%"
bgxy2 = $(".sdf").css("backgroundPosition"); // bgxy2 = "50% 50%"

В ie8, понятное дело, .css("background-position"); не работает, поэтому:
bgx1 = $(".sdf").css("background-position-x"); // bgx1 = "670px" - вычисляет 50% от экрана, ну хрен с ним, главное вычисляет
bgx2 = $(".sdf").css("backgroundPositionX"); //   аналогично bgx1

А вот теперь самое интересное.
bgy1 = $(".sdf").css("background-position-y"); // bgy1 = "670px" - простите, но ведь это же "х"!
bgy2 = $(".sdf").css("backgroundPositionY"); //   тот же эффект, вместо "у" выдаёт "х"

Chrome:
bgy1 = $(".sdf").css("background-position-y"); // bgy1 = "50%"
bgy2 = $(".sdf").css("backgroundPositionY"); //   bgy2 = "50%"


Если в стиле прописать
background-position-x: 50%; background-position-y: 49%;
- эффект тот же, вместо "y" ие находит "x".

Вопрос в том, как найти в ie8 background-position-y?
Заранее спасибо.

З.Ы. Настораживает, что нигде в инете не видел такой проблемы, может, я в чем-то туплю? :)

Amphiluke 11.01.2011 18:58

Так?
$(".sdf").get(0).style.backgroundPositionY

DeMETAL 11.01.2011 19:43

Спс огромное, именно то, что надо.
Рано обрадовался :( Данная конструкция работает, только если background-position записан в диве через style. Перенёс всё в цсс - и опять не работает.

DeMETAL 14.01.2011 17:58

Итак, благодаря Amphiluke выяснено, что нахождение background-position в ие следует делать следующим образом:

bgx = this_.get(0).currentStyle.backgroundPositionX;
bgy = this_.get(0).currentStyle.backgroundPositionY;


Часовой пояс GMT +3, время: 11:16.