Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Работа с DOM-моделью и пользовательский интерфейс

Содержание

Введение в DOMDOM – Document Object Model: My title My link My headerЭлементы (Element), один из них - корневойАтрибуты (Attribute)Текстовые узлы (Text)
Работа с DOM-моделью и пользовательский интерфейсПо материалам курса University of Washington http://www.cs.washington.edu/education/courses/cse190m/07sp/index.shtml Введение в DOMDOM – Document Object Model: My title   My Работа с узлами в DOMЕсть несколько способов получить объект, представляющий узел, через Пример страницы  Заголовок страницы     Это заголовок Дерево элементов для этой страницыhtmlheadbodytitleh1metapmetaulalililiНекоторые из элементов имеют вложенные атрибуты и/или текст. Полное дерево одного из элементовpaА это  параграф со внутри.ссылкойhref= Изменение структуры DOM страницыСледующие методы применимы ко всем элементам DOM:element.appendChild(node) – добавление Динамическое добавление узловinsert.htmlДобавим новый параграф сразу после заданного:function insertNewParagraph() { var pNode Отделение Javascript-кода от HTMLseparate.htmlПоместим теперь весь код полностью в отдельную javascript-страницу:window.onload = Динамическое добавление реакций на событияdyna.htmlВместо определения значений атрибута onclick можно добавлять Использование групповой обработкиgroup.htmlМассовую обработку элементов можно производить с помощью методаgetElementsByTagName, например:var emElements Элементы интерфейса с пользователемИмеется большой набор элементов интерфейса с пользователем:простое окно ввода;многострочное КнопкиПример использования кнопок. Заголовок страницы Жми сюда!button.htmlВнутри тела реакции this означает ссылку Многострочный текст  function changeProperty(butt, prop) {   if (typeof(butt.flag) == Списки выбора  Выберите из списка:    Пики Списки выбора (продолжение)   Репка    Дедка  Бабка Поля вводаЭлемент с тегом input может заменять и дополнять многие из Поля ввода (продолжение)имеют атрибуты maxLength, size, disabled, readOnly, value.имеют атрибуты defaultChecked, disabled, Визуальная группировка элементов UI  Это группа элементов ввода Формы  Введите запрос:   Форма – это средство для группировки Более сложный пример формы   Введите анкетные данные  Ваше имя: Методы GET и POSTМетод GET отправляет все значения в строке запроса с Специальные кнопки Submit и ResetЗапрос отправляется с помощью специального элемента ввода, имеющего Использование CSS для элементов вводаПоскольку один и тот же тег input используется Проверка корректности вводимых данныхКорректность введенных данных можно осуществлять перед отсылкой запроса (на
Слайды презентации

Слайд 2 Введение в DOM
DOM – Document Object Model:

Введение в DOMDOM – Document Object Model: My title  My

...>



My title




My link


My header





Элементы (Element), один из них - корневой

Атрибуты (Attribute)

Текстовые узлы (Text)


Слайд 3 Работа с узлами в DOM
Есть несколько способов получить

Работа с узлами в DOMЕсть несколько способов получить объект, представляющий узел,

объект, представляющий узел, через глобальный объект document или уже имея

ссылку на другой узел:

Если узел имеет уникальный идентификатор (атрибут id), то узел можно найти с помощью метода document.getElementById(id).
Можно найти массив элементов с заданными тегами с помощью метода document.getElementsByTagName(tag).
Можно перейти от узла к его непосредственным потомкам node.firstChild, node.lastChild или к предку node.parentNode.
Можно перейти от узла к его соседям node.nextSibling, node.previousSibling.


Слайд 4 Пример страницы

Пример страницы Заголовок страницы   Это заголовок А это -


"http://www.w3.org/TR/XHTML1/DTD/XHTML1-strict.dtd">

xmlns="http://www.w3.org/1999/XHTML" xml:lang="en" lang="en">

Заголовок страницы
content="text/html;charset=windows-1251"/>



Это заголовок


А это - параграф со
ссылкой внутри.



  • элемент списка

  • еще один элемент

  • третий элемент списка





Слайд 5 Дерево элементов для этой страницы
html
head
body
title
h1
meta
p
meta
ul
a
li
li
li
Некоторые из элементов имеют вложенные

Дерево элементов для этой страницыhtmlheadbodytitleh1metapmetaulalililiНекоторые из элементов имеют вложенные атрибуты и/или текст.

атрибуты и/или текст.


Слайд 6 Полное дерево одного из элементов
p
a
А это параграф со

Полное дерево одного из элементовpaА это параграф со внутри.ссылкойhref=


внутри.
ссылкой
href= "http://www.google.com/"
- элемент
- атрибут
- текстовый элемент
firstChild
parentNode
parentNode
nextSibling
nextSibling
previousSibling
lastChild
Если pNode – указатель на

"p", то заменим "ссылкой" на "звездой".

pNode.firstChild.nextSibling. lastChild.nodeValue = "звездой";

change.html


Слайд 7 Изменение структуры DOM страницы
Следующие методы применимы ко всем

Изменение структуры DOM страницыСледующие методы применимы ко всем элементам DOM:element.appendChild(node) –

элементам DOM:
element.appendChild(node) – добавление нового узла в конец списка "детей".
element.insertBefore(newNode,

oldNode) – добавление нового узла в список детей перед заданным.
element.removeChild(node) – удаление указанного узла из списка "детей".
element.replaceChild(newNode, oldNode) – замена в списке "детей" существующего элемента на новый.

Новый элемент (атрибут, текстовый узел) можно создать с помощью следующих методов:

document.createElement(tag) – создание нового элемента с заданным тегом.
document.createAttribute(name) – создание нового атрибута с заданным именем.
document.createTextNode(data) – создание текстового узла.


Слайд 8 Динамическое добавление узлов
insert.html
Добавим новый параграф сразу после заданного:
function

Динамическое добавление узловinsert.htmlДобавим новый параграф сразу после заданного:function insertNewParagraph() { var

insertNewParagraph() {
var pNode = document.getElementById('para');
var newPara =

document.createElement('p');
var newText = document.createTextNode( 'А это динамически добавленный параграф!');
newPara.appendChild(newText);
pNode.parentNode.insertBefore(newPara, pNode.nextSibling);
}

body

h1

p id="para"

ul

p (newPara)

А это...


Слайд 9 Отделение Javascript-кода от HTML
separate.html
Поместим теперь весь код полностью

Отделение Javascript-кода от HTMLseparate.htmlПоместим теперь весь код полностью в отдельную javascript-страницу:window.onload

в отдельную javascript-страницу:
window.onload = initBody;

function initBody() {
var pNode

= document.getElementById('para');
pNode.onclick = insertNewParagraph;
}
function insertNewParagraph() {
var pNode = document.getElementById('para');
var newPara = document.createElement('p');
newPara.style.color = 'red';
newPara.style.marginLeft = '50px';
var newText = document.createTextNode( 'А это динамически добавленный параграф!');
newPara.appendChild(newText);
pNode.parentNode.insertBefore(newPara, pNode.nextSibling);
}

Слайд 10 Динамическое добавление реакций на события
dyna.html
Вместо определения значений атрибута

Динамическое добавление реакций на событияdyna.htmlВместо определения значений атрибута onclick можно добавлять

onclick можно добавлять элементам реакции на события. Например, вместо
window.onload

= initBody;

можно написать

window.addEventListener('load', initBody, false);

Преимущества:
Соответствие стандарту (метод addEventListener применим не только для HTML-страниц, но и для любых XML-документов).
Можно определить несколько реакций на одно и то же событие, при этом все они будут выполняться последовательно.
Можно управлять распространением событий (третий аргумент addEventListener).

Удалить реакцию можно с помощью метода
window.removeEventListener с теми же аргументами.

В примере реакции динамически добавляются и удаляются.


Слайд 11 Использование групповой обработки
group.html
Массовую обработку элементов можно производить с

Использование групповой обработкиgroup.htmlМассовую обработку элементов можно производить с помощью методаgetElementsByTagName, например:var

помощью метода
getElementsByTagName, например:
var emElements = document.getElementsByTagName('em');
for (var i =

0; i < emElements.length; ++i) {
emElements[i].style.backgroundColor = 'yellow';
}

В примере показано изменение стиля элементов.


Слайд 12 Элементы интерфейса с пользователем
Имеется большой набор элементов интерфейса

Элементы интерфейса с пользователемИмеется большой набор элементов интерфейса с пользователем:простое окно

с пользователем:
простое окно ввода;
многострочное окно ввода;
кнопка;
флажок;
переключатель;
Чаще всего эти элементы

используются в составе «форм». Содержимое «формы» может быть передано web-серверу в виде параметров запроса.

Все элементы считаются «элементами ввода» различных типов и появляются в виде элементов , но некоторые могут иметь и свои собственные теги, например,


Слайд 13 Кнопки
Пример использования кнопок.

Заголовок страницы
Жми

КнопкиПример использования кнопок. Заголовок страницы Жми сюда!button.htmlВнутри тела реакции this означает

сюда!

button.html
Внутри тела реакции this означает ссылку на сам элемент

(кнопку).


Заголовок страницы




more-button.html

Осторожно! Внутри функции this означает ссылку на контекст!


Слайд 14 Многострочный текст

function changeProperty(butt, prop) {

Многострочный текст function changeProperty(butt, prop) {  if (typeof(butt.flag) == 'undefined')

if (typeof(butt.flag) == 'undefined') butt.flag = 1;

var ta = document.getElementById('myText');
ta[prop] = butt.flag == 1;
butt.flag = 1 - butt.flag;
}



Это область ввода текста








textarea.html


Слайд 15 Списки выбора

Выберите из списка:

Списки выбора Выберите из списка:   Пики  Трефы

Пики
Трефы




Вы выбрали: &bksp;



select.html

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

selectNode.options – массив узлов, представляющих элементы списка

selectNode.size – число показываемых элементов

selectNode.multiple – разрешен ли мульти-выбор

selectNode.selectedIndex – индекс выбранного элемента

Еще атрибуты:


Слайд 16 Списки выбора (продолжение)


Репка

Списки выбора (продолжение)  Репка  Дедка Бабка Внучка  Жучка



Дедка
Бабка









Список может быть визуально разбит на группы


Слайд 17 Поля ввода

Элемент с тегом

Поля вводаЭлемент с тегом input может заменять и дополнять многие из

input может заменять и дополнять многие из рассмотренных ранее

элементов ввода. Его представление и функциональность зависят от типа. Этот элемент никогда не имеет внутреннего содержания, только атрибуты.

где «тип элемента ввода» может иметь следующие значения:

text

password

checkbox

radio

button

submit reset file hidden

текстовое поле ввода, похожее на textarea

текстовое поле ввода со скрытым отображением символов

флажок

элемент выбора

кнопка (такая же, как в элементе button)

Кроме этих типов есть еще типы, предназначенные исключительно для представления элементов ввода внутри форм для передачи информации на web-сервер. Это типы:


Слайд 18 Поля ввода (продолжение)

имеют атрибуты maxLength, size,

Поля ввода (продолжение)имеют атрибуты maxLength, size, disabled, readOnly, value.имеют атрибуты defaultChecked,

disabled, readOnly, value.


имеют атрибуты defaultChecked,

disabled, checked, value.



имеет атрибуты disabled, value.

Чтобы приделать надписи к флажкам и элементам выбора, используют элемент label: .

Чтобы собрать элементы выбора в одну группу, используют атрибут name: .

Как выглядят все эти элементы ввода можно посмотреть в примере

input.html


Слайд 19 Визуальная группировка элементов UI

Это

Визуальная группировка элементов UI Это группа элементов ввода   Надпись

группа элементов ввода

id="radio-1"/>

Элементы ввода можно визуально сгруппировать и добавить надпись к группе:


Слайд 20 Формы

Введите запрос:

Формы Введите запрос:  Форма – это средство для группировки элементов

name="q"/>

Форма – это средство для группировки

элементов ввода с целью последующей отправки введенной информации на сервер.

Отправка информации производится с помощью запроса типа GET или POST с параметрами.

Атрибут action задает URL сервера, на который отправляется запрос.

Атрибут method задает используемую команду – GET или POST.

В приведенном примере осуществляется запрос GET к поисковой машине Google с параметром q и значением введенного запроса.

Нажатие кнопки submit (отправить запрос) эквивалентно в данном случае выдаче запроса http://www.google.com/search?q=value, где value – содержимое текстового поля ввода.

simple-form.html


Слайд 21 Более сложный пример формы


Более сложный пример формы  Введите анкетные данные Ваше имя:

Введите анкетные данные
Ваше имя:









Важный атрибут каждого поля ввода – name. Он задает имя аргумента при запросе к серверу. Пример формы:

complex-form.html


Слайд 22 Методы GET и POST
Метод GET отправляет все значения

Методы GET и POSTМетод GET отправляет все значения в строке запроса

в строке запроса с помощью кодирования типа http://myurl.com/page?name1=val1&name2=val2...
вся строка видна

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

Метод POST отправляет все значения в заголовке запроса с помощью задания пар name=value

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


Слайд 23 Специальные кнопки Submit и Reset
Запрос отправляется с помощью

Специальные кнопки Submit и ResetЗапрос отправляется с помощью специального элемента ввода,

специального элемента ввода, имеющего вид кнопки:

Надпись на кнопке можно

специфицировать с помощью атрибута value:


Если надпись не специфицирована, то используется системное значение, зависящее от локализации системы ("Submit" для английского языка, "Отправить запрос" для русского).

Кнопка Reset используется для восстановления начальных значений элементов ввода в форме:


Имитировать действие этих кнопок можно и программным путем.

var form = ... // DOM-узел для формы
form.submit(); ... form.reset();


Слайд 24 Использование CSS для элементов ввода
Поскольку один и тот

Использование CSS для элементов вводаПоскольку один и тот же тег input

же тег input используется для элементов самого разного вида, то

задавать стили элементов в виде

input {
color: blue;
font-style: italic;
font-size: large;
}

хотя и допустимо, но часто неудобно. Задавать стили можно отдельно для каждого типа элемента, например:

input[type="text"] {
color: blue;
font-style: italic;
font-size: large;
}


  • Имя файла: rabota-s-dom-modelyu-i-polzovatelskiy-interfeys.pptx
  • Количество просмотров: 153
  • Количество скачиваний: 0