Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Изменить стиль у DIV


Автор: AlexanderI 16.6.2006, 13:21
Пытаюсь изменить стиль у DIV (браузер IE)
С этим языком знаком очень плохо.
Код

DIV.cat {
    PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 8px; PADDING-LEFT: 20px; FONT-SIZE: 73%; BACKGROUND-IMAGE: url(/images/u1.gif); PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat
}
DIV.cat2 {
    PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 8px; PADDING-LEFT: 20px; FONT-SIZE: 73%; BACKGROUND-IMAGE: url(/images/u2.gif); PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat
}



Так не изменяется:
Код

var SS = document.getElementById(imgt).className;  
if (SS == 'cat2'){
document.getElementById(imgt).className = 'cat';
}
else {
document.getElementById(imgt).className = 'cat2';
} 


Так изменяется:
Код

var SS = document.getElementById(imgt).className;  
if (SS == 'cat2'){
document.getElementById(imgt).className = 'cat';
alert("->"+SS);
}
else {
document.getElementById(imgt).className = 'cat2';
alert("->"+SS);
} 


Т.е. в перфом случае, картинка в фоне пропадает и не появляется.
Во втором случае всё нормально.
Как мне сделать чтобы всё нормально появлялось без alert("->"+SS);

Первый пример: http://agropenza.ru/1.htm
Второй пример: http://agropenza.ru/2.htm


  

Автор: FPMOleg 16.6.2006, 15:46
Код

.cat {
    PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 8px; PADDING-LEFT: 20px; FONT-SIZE: 73%; BACKGROUND-IMAGE: url(/images/u1.gif); PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat
}
.cat2 {
    PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 8px; PADDING-LEFT: 20px; FONT-SIZE: 73%; BACKGROUND-IMAGE: url(/images/u2.gif); PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat
}


Код

var Elem = document.getElementById(imgt).;  
if (elem){
  if (elem.className == 'cat2')     elem.className = 'cat'
  else                                            elem.className = 'cat2'

}
 

Автор: AlexanderI 16.6.2006, 16:14
Не работает.
Можешь подделать под мой  пример ? 

Автор: FPMOleg 16.6.2006, 16:21
ты CSS подправь, как я тебе написал, без DIV 

Автор: AlexanderI 16.6.2006, 16:33
правил, не работает.Иногда фоновая картинка работает, иногда нет. 

Автор: [xoodo] 16.6.2006, 18:48
Начнем с того, что в Опере не работает ни один.
Код
document.getElementById('imgt').className = 'cat';

Так сделай, с апострофами.

Добавлено @ 18:58 
То сверху не читай. Я не учел, что это переменная, а не ИД. Пробуй так:
Код

document.getElementById('imgt').style.className = 'cat'; // dlja ID
document.getElementById(imgt).style.className = 'cat'; // dlja peremennoj
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)