White cat - Справочкик по JavaScript
- Название:Справочкик по JavaScript
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
White cat - Справочкик по JavaScript краткое содержание
Вниманию читателей предлагается справочник по JavaScript.
Справочник предназначается для людей, уже освоивших азы программирования в JavaScript.
Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.
Дата выхода данной версии справочника: 12:33, 21 марта 2007.
Справочкик по JavaScript - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
По аналогии вы можете преобразовать все атрибуты стилей в свойства объекта style.Все не относящееся к стилю свойства объекта styleперечислены в нижерасположенной таблице. Кроме того, у этого объекта имеются методы getAttribute, removeAttribute и setAttribute. Но эти дополнительные свойства и методы поддерживаются только IE начиная с 4.0
Работа с объектом style
Объект styleпозволяет изменить стиль любого элемента Web-страницы, просто присвоив нужному свойству необходимое значение.
paragraph1.style.fontSize = 7;
Можно изменить геометрические размеры элемента:
image1.style.height = "100mm";image1.style.width = "120mm";
и его месторасположение:
iamge1.style.top = "200px";image1.style.left = "50px";
Заметьте, что мы присваиваем свойству строковые значения геометрических параметров с указанием единицы измерения. Это не очень удобно для вычислений, поэтому объект styleпредоставляет свойства pixel , принимающие и возвращающие числовые значения в пикселах:
image1.style.pixelHeight = 400;iamge1.style.pixelLeft +=5;
Также можно использовать свойства pos , возвращающие и принимающие числовые значения в тех единицах измерения, в которых эти значения были заданы в определении стиля.
nheight = image1.style.posHeight; // Значение в миллиметрахnwidth = image1.style.posWidth; // Значение в пикселах
Вы можете использовать методы getAttribute , setAttribute и removeAttribute для получения и установки значения и удаления какого-либо свойства стиля:
paragraph1.style.setAttribute("borderBottomWidth", 5, false);paragraph1.style.removeAttribute("borderTopWidth", false);
Объект style в Internet Explorer
Как же получить доступ к объекту style? Internet Explorer предоставляет для этого три свойства: style , currentStyle и runtimeStyle .
Первое свойство позволяет получить доступ к стилю, встроенному в тег элемента с помощью атрибута STYLE:
Любой текст
someColor = par1.style.color;Вышеприведенное выражение поместит в переменную someColor значение атрибута color встроенного стиля элемента, т.е. "green".
someFontSize = par1.style.fontSize;
Это выражение вернет null , даже если где-то в таблице стилей атрибут font-size для этого элемента определен. А все потому, что интересы свойства styleне выходят за рамки встроенного ситиля.
Чтобы получить стиль элемента с учетом и встроенных стилей, и таблиц стилей, и атрибутов тега, используйте свойство currentStyle :
Любой текстsomeColor = par1.currentStyle.color;someBColor = par1.currentStyle.backgroundColor;someFontSize = par1.currentStyle.fontSize;someOther = par1.currentStyle.textDecoration;
Предположим, что где-то в таблице стилей определен для этого элемента атрибут background-color , равный "teal", а text-decoration не определен вообще. Эти выражения вернут следующие значения: первое - "green", второе - "teal", третье - "largest" (или "7"), а четвертое - "none"? т.е. значение по умолчанию для этого атрибута стиля.
Если вы измените какое-либо свойство объекта style, измениться то же свойство и у объекта currentStyle, и наоборот. Единственная деталь: если вы изменили какое-либо свойство currentStyleи потом сразу же обратились к нему, вернется старое значение. То есть, между присвоением значения и его применением к элементу должно пройти некоторое время.
Свойство runtimeStyle довольно странное. Оно возвращает ссылку на объект runtimeStyle , который является примерно тем же самым, что и currentStyle , но присвоение его свойствам новых значений не затригивает аналогичных свойств style. То есть, вы можете переопределить свойства стиля runtimeStyle , и соответствующие свойства style(но не currentStyle ) не изменятся.
Объект styleSheet и коллекция styleSheets
Объект documentв IE имеет встроенную коллекцию styleSheets, которую можно использовать для доступа к отдельным таблицам стилей документа. А отдельная таблица стилей представляется объектом styleSheet:
address = document.styleSheets(1).href;
Для нас будут полезны три свойства объекта таблицы стилей.
Первое из них - это href , представляющее интернет-адресс файла внешней таблицы стилей. Вы можете изменить этот адрес, чтобы загрузить другую таблицу стилей.
Второе - disabled , разрешающее или запрещающее Web-обозревателю применять эту таблицу для форматирования документа. Заметьте, что в данном случае false разрашает применение таблицы, а true запрещает.
И последнее свойство - type - имеет для нас только теоретический интерес: оно задает тип таблицы стилей, который для IE всегда равен "text/css".
Объект style в Navigator. JavaScript-стили
Navigator поддерживает прямое обращение по идентификаторам только для объектов layerи не поддерживает коллекцию all . Да и поддержка атрибута ID в нем реализована так себе, в основном, для присвоения элементам стилей. Но объект document Navigator предусматривает четыре очень мощьных свойства для работы со стилями.
Свойство classes позволит вым получить доступ к отдельному поименованному стилю:
document.classes.{Имя стиля}.{Имя тега}|all.{Имя свойства}
Здесь {Имя тега} может быть именем любого тега. Если нужно определить стиль для всех тегов, используйте слово all .
Например, предположим, что вы определили в таблице стилей некий стиль:
.somestyle {color: green}
Тогда в коде скрипта вы можете получить к нему доступ:
document.classes.somestyle.all.fontFamily = "Arial";
Аналогично вы можете определить какой-либо стиль для одного определенного тега:
P.somestyle {color: green}document.classes.somestyle.P.fontFamily = "Arial";
В свою очередь свойство ids позволит вам получить доступ к стилю, присвоенному отдельному идентификатору ID:
document.ids.{Идентификатор}.{Имя свойства}
Например:
#someid {color: green}document.ids.someid.fontFamily = "Arial";
Но что делать, если вы переопределили стиль какого-либо тега? В этом случае воспользуйтесь свойством tags :
document.tags.{тег}.{Имя свойства}
Например:
H1 {color: green}document.tags.H1.fontFamily = "Courier";
А если вам нужно, скажем, изменить стиль элемента , находящегося внутри заголовка второго уровня? Для этого существует свойство contextual :
document.contextual({Контекст 1}[, {Контекст 2}[, ...]]).{Имя свойства}
Тогда для описанного нами случая:
document.contextual(document.tags.H2, document.tags.B).fontStyle= "oblique";
что аналогично заданию в таблице стилей
H2 B {font-style: oblique}
Но если вы думаете, что можете динамически изменять внешний вид элементов страницы в Navigator путем изменения их стилей, вы жестоко ошибаетесь. Реально объект styleнужен Navigator только для поддержки нового вида таблиц стилей, так называемых JavaScript-стилей.
JavaScript-стили отличаются от обычных тем, что больше всего похожи на скрипты. Собственно, это и есть скрипты. Давайте рассмотрим два примера: обычной таблицы стилей и таблице JavaScript-стилей:
P {color: blue}.bigtext {font-size: 72pt; font-weight: boldest}H1 B {text-decoration: underline}Это обычная таблица стилей.Теперь преобразуем ее в таблицу JavaScript-стилей:
document.tags.P.color = "blue";width (document.classes.bigtext.all) { fontSize = "72pt"; fontWeight = "boldest"; }document.contextual(document.tags.H1, document.tags.B).textDecoration = "underline";Теперь вы видете, как таблица JavaScript-стилей похожа на скрипт. Заметьте также, что в этом случае атрибут type обязателен, т.к. он указвывает тип таблицы стилей.
Читать дальшеИнтервал:
Закладка: