Позиция Div / CSS не обновляется после манипуляции с JavaScript

StackOverflow https://stackoverflow.com/questions/4834380

Вопрос

Я хочу переместить див, который обычно плавает с правой стороны в абсолютное положение (определяется JS), а затем возвращается к его начальному положению.

Первая часть уже работает и полагается на установку «стиль». Теги для объекта .. что -то вроде

mytarget.style.position="absolute";
mytarget.style.top="50px";

Чтобы переместить его обратно, я хотел бы просто назначить стандартный класс обратно элементу, который также будет содержать информацию о позиционировании.

Как ни странно, все, кроме перемещения, будет работать. Вот соответствующий код:

var mytarget= document.getElementById(titlebarid);
var newclass=tabstyleclasses[titlebarid][ismaxedtab[titlebarid]];



mytarget.className= newclass ;

Отлаживать:

 alert ("wanting to set : " + newclass  )    ;

Это выводит правильное значение. ("Adfieldtitlesm")

alert ("my target is " +mytarget.id);

Работает так же.

alert ("new class is " + mytarget.className );

Выдает правильное значение тоже. ("Adfieldtitlesm")

alert ("new position is " + mytarget.style.position );

Выдает «абсолютный» (как ранее установлено JS при перемещении Mytarget), должен быть «фиксирован»

Это класс CSS:

.adfieldtitlesm
 {
  position: fixed;
 top: 200px;
 left: 50px;

 font-size: 50px;
 background-color: #000000;
 color: #ffffff;

 }

Почему объект не движется после того, как его класс был установлен?

Обновление: ссылка

Основная тестовая страница

Соответствующими частями являются строки 270-297 (в основном 290-294) в REBUILDTABS () для первого хода, который работает и строки 160-183 в Minwidget () Извиняется за слегка грязный код :)

Это было полезно?

Решение

Поскольку встроенные свойства переопределяют свойства класса, вам нужно удалить встроенный.

mytarget.style.position="";

Тогда fixed Положение, определенная в классе, будет работать.

Или, возможно, использовать:

delete mytarget.style.position;

Не уверен, что предпочтительнее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top