IE настройки JavaScript не работает - PullRequest
2 голосов
/ 09 мая 2011

Эй,
Я изо всех сил пытаюсь установить атрибут стиля для div, который создается с помощью JavaScript. Поток:

  1. Скрипт загружает
  2. Создает <div id="test">
  3. Устанавливает атрибут style="top: 20px; left: 10px; margin: 0px; position: absolute;"

Все отлично работает со всеми другими браузерами, но когда дело доходит до IE, все просто не работает. Как я могу установить эти атрибуты стиля в IE? Пока что с этим кодом:

var div = document.getElementById('test');
div.style.left     = "10px";
div.style.top      = "20px";
div.style.margin   = "0px";
div.style.position = "absolute !important";

Мне удалось установить верх, маржу и позицию. Style.left не может быть и речи.

Каков наилучший подход при работе с атрибутами стиля во всех браузерах?

@ IE не рабочая версия: 7,8. (не пробовал до 6 и 9 лет)

Ответы [ 5 ]

5 голосов
/ 10 мая 2011

После пары часов отладки кода мне наконец-то удалось все сделать правильно.Проблема была в том, что у меня была переменная, которая возвращала число.Эта переменная была основой для некоторых вычислений и использовалась при настройке div.style.left.Поэтому переменная иногда возвращала NaN, что вызывало боль.:) Спасибо всем за усилия и потраченное время, пытаясь помочь!:)

2 голосов
/ 19 января 2012
function MuoveOnClickPosition(YourDIVObject) {

//numeric variables.
tempX = event.clientX;
tempY = event.clientY;

// String variables
var X, Y ;
X = tempX + 'px'; 
Y = tempY + 'px'; 

document.getElementById(YourDIVObject).style.left = X;
document.getElementById(YourDIVObject).style.top = Y;
}

// Должно работать! .. иногда IE нужен 'XXXpx' в строковом формате.Это зависит от типа DOC.

2 голосов
/ 09 мая 2011

Каков наилучший подход при работе с атрибутами стиля во всех браузерах?

Установка только div.className и перемещение всего CSS в файл CSS.

1 голос
/ 09 мая 2011
div.style.cssText="top: 20px; left: 10px; margin: 0px; position: absolute;"

помните, что положение div'ов относительно его родителя - некоторым старым IE требуется, чтобы положение родительского элемента было установлено относительно или абсолютно, в зависимости от типа документа.

1 голос
/ 09 мая 2011

! Важно убить абсолютную позицию.Даже не работает в Firefox.Протестировано на JSBIN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...