PDA

Просмотр полной версии : Задать свойство стиля через javascript. Вопрос


Nicca
08.07.2009, 01:15
Подскажите как правильно задать свойство background и background-position в яваскрипте?

Задаю так:
mItems[was].getElementsByTagName('span')[0].style.background="url(http://site.com/images/men_r.gif) no-repeat right top; background-position:100% -24px";

так работает, но только в ИЕ, в остальных не хочет..

Если задаю так:
mItems[was].getElementsByTagName('span')[0].style.background="url(http://site.com/images/men_r.gif) no-repeat right top";
mItems[was].getElementsByTagName('span')[0].style.background-position="100% -24px";
то вобще нигде не работает

PaCo
08.07.2009, 01:20
Обозначь класс или ид в стиле а через js присваИвай

Gar|k
08.07.2009, 01:22
ну как таковой DOM элемент style не держит много чего...
лучше используй свойство ClassName, меньше заморотов.

<span class="a" onclick="this.ClassName='b'">

Nicca
08.07.2009, 01:37
Обозначь класс или ид в стиле а через js присваИвай

Не силен в js, да и ООП только в теории знаю. Может на примере покажете?


ну как таковой DOM элемент style не держит много чего...
лучше используй свойство ClassName, меньше заморотов.

а DOM держит ClassName?
и как присвоить стиль например если он описан так:
#hor_menu #current a span { }

PaCo
08.07.2009, 01:47
ну вот так можно например:

<style>
.declared{
someshit:100%;
}
</style>

<div id='hello'>
HELLO WORLD
</div>

<script>
var hello=document.getElementById('hello');
hello.className='declared' ;
</script>

Nicca
08.07.2009, 01:54
Вбщем разобрался:
mItems[was].getElementsByTagName('span')[0].style.background="url(http://agri.com/images/men_r.gif) no-repeat 100% -24px";

так держит во всех браузерах

imajo.ati
08.07.2009, 15:02
obj.style.backgroundAttachment
obj.style.backgroundColor
obj.style.backgroundImage
obj.style.backgroundPosition
obj.style.backgroundRepeat


и как присвоить стиль например если он описан так:
#hor_menu #current a span { }

#hor_menu тут лишние буквы, а так вот можно:

#current a span, .class_for_js { }

и уже .class_for_js присваиваешь через className