Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   изменение стиля через JS (http://www.flasher.ru/forum/showthread.php?t=86742)

Mnilionic 22.10.2006 12:43

изменение стиля через JS
 
мне нужно из скрипта изменить некоторые свойства хтмл элемента.
например цвет текста вот так:
document.getElementById(my_id).style.color = 'red';

А как поменять большое колечиство свойств, там: высоту, ширину, бордер, отступы и прочее?

на одном сайте подглядел такую вещь:
Код:

var id = document.getElementById(my_id);
Element.setStyle(id,
{
                width: 500+'px';
                height: 100+'px';
                font-family: 'Verdana';
});

Но он у меня почему-то не работает ((

etc 22.10.2006 14:38

Так найди Element в коде и все его методы.

Mnilionic 22.10.2006 18:49

В той части кода, которая у меня есть, нет объявления Element.
Я даже не в курсе пользовательский это объект или предопределённый.

По всей видимости пользовательский в методе которого (setStyle) учавствует Идентификатор элемента и инициализация свойств.

К сожалению моих навыков в JS не хватает для написанию конструктора, поэтому буду рад любой помощи )

etc 22.10.2006 19:37

Ну значит Element находится во внешнем js-файле. Поиск по содержимому файлов спасёт отца русской демократии.

Mnilionic 22.10.2006 20:43

Если б у меня был источник, я бы так и поступил.

etc 22.10.2006 20:46

Ну как же? Если на сайте было подсмотрено, то и подсмотреть в код js-файла не составит проблемы.

Mnilionic 23.10.2006 00:59

Подсмотренно было давно и сохранено в долгий ящик, и когда понадобилось то оказалось недостаточным - и адреса того сайта я не записал :)

В общем с объектом и методами у меня ни хрена не вышло
А вот функция вроде работает:
Код:


function setStyle(obj,style){
        for(var prop in style){
                obj.style[prop] = style[prop];
        }
}
var  element = document.getElementById(my_id);
setStyle(element,
        {
                width: "400px", height: "100px",
                border: "2px solid green"

        });


Mnilionic 23.10.2006 03:05

А вернуть стили как было получается только в Опере
Код:

old_style = element.style;
... изменение стилей.....
element.style = old_style; // возвращаем всё как было

Как это провернуть и в других броузерах?

deathstorm 23.10.2006 15:44

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

Mnilionic 23.10.2006 21:45

старые значения храню в переменной old_style - это видно из примера выше.
Стиль меняется не у всей страницы, а только у определённого текствого блока


Часовой пояс GMT +4, время: 18:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.