Уебсайт „направи си сам“



Самата функция е описана в раздела и извикването й се извършва в тялото на документа. За да свържете контролите на формуляри със скрипт, използвайте параметъра NAME на маркера. Стойността му е равна на променливата, която се използва в скрипта за препратка към съответната контрола. Стойността на свойството value на обекта за отметка се предава на функцията като име на обекта.

Функцията се извиква след създаването на контрола в квадратчето в документа. Опитът за извикване на функцията Properties () преди създаването на квадратче за отметка в документа ще доведе до грешка в интерпретатора, тъй като обектът все още няма да съществува (вижте раздела "Обектни модели на скриптови езици" по-горе) .

Операторът with задава обекта по подразбиране за блока с инструкции, дефиниран в неговото тяло. Това означава, че всички свойства и методи, срещани в операторите на този блок, са свойства и методи на посочения обект. Използването на този оператор елиминира необходимостта да се посочва йерархията на собствеността на обекта и намалява изходния код на програмата.

Текстът на горния скрипт, използващ оператора with, ще бъде опростен, както следва:

Тук свойството value се отнася до обекта check 1, който е посочен в заглавката на оператора with.

Полезно е да използвате този оператор за Math обект. Тогава неговите свойства и методи се адресират, без изрично да се посочва префиксът Math. Например:

r = sin (2.0) // Изчисляване на синуса

1 = 2 * PI * r // Изчислете обиколката

Когато препращате формуляри и техните елементи, не е нужно да се позовавате на обект на документ от най-високо ниво. В горния пример можете да се обърнете към стойността на първото поле за въвеждане и така form1.studentName.value.

За да получите свойствата на обектите, можете да използвате скрипта от пример 9.3.

Обекти на прозорец и рамка

Създава се нов прозорец с помощта на метода open (), който има следния синтаксис:

window_variable_name = window.open ([име на файл], [име_на_прозорец], [опции])

window_link_name - името, посочено като цел в хипертекстова връзка към този прозорец от друг HTML документ, параметри - посочете стойностите на параметрите на прозореца (ширина, височина, наличие на ленти с инструменти, ленти за превъртане и т.н.).

И трите параметъра са посочени като текстови литерали или променливи и не са задължителни. Ако всички те липсват, се отваря нов прозорец на браузъра с параметри по подразбиране.

Например следното твърдение:

Изходът към новоотворен прозорец се извършва чрез метода write () на обекта на документ на този прозорец. Например в пример 9.3 можете да покажете свойствата на обект в нов прозорец, като използвате следния скрипт:

Резултатът от изпълнението на скрипта е показан на фиг. 9.7.

Прозорецът се затваря чрез метода close () без параметри. Прозорецът на документа, съдържащ скрипта, се затваря от един от следните оператори:

текущото време

Фигура: 9.7. Отваря нов прозорец и показва свойствата на обекта в него

За да затворите прозорец, отворен чрез метода open (), трябва изрично да посочите името на променливата на този прозорец:

Методът alert () на обекта прозорец показва диалогов прозорец с текста, предаден като параметър на този метод. Например следният скрипт показва диалогов прозорец с информация на потребителя, ако дадена променлива е по-малка от нула:

Контейнерът за тагове може да съдържа, в допълнение към маркерите, дефиниращи рамки, и други тагове, като по този начин образува вложени рамкови набори. Примерна HTML страница с вложени рамкови набори е показана по-долу:

Стойността на параметъра NAME указва името, с което можете да се отнесете към съответния кадър в йерархията на обект на документ. Показването на страницата с рамки може да се види на фиг. 9.8.

направи

Фигура: 9.8. Показване на страница с рамки

Тази страница съдържа три кадъра, които формират йерархичен модел на Frame обекти. На най-горното ниво е горният обект, който е родител и на трите кадъра на страницата (clockFrame, menuFrame и Content Frame). За да се обърнете към рамки на страници, можете да използвате символни имена или свойството масив рамки на горния обект, което съдържа препратки към всички рамки на страницата. И така, към първия кадър може да се направи препратка по два начина:

Ако документът, който се зарежда в рамка, съдържа набор от рамки, тогава обектният модел става малко по-сложен. В този случай всички рамки, показани в даден кадър на документ, са подчинени на този кадър, който от своя страна произтича от горния обект от най-високо ниво. Ако например в предишния пример файлът menu.html съдържа следния HTML код:

тогава кадрите Frame1 и Frame2 ще бъдат генерирани от menuFrame и можете да използвате някоя от следните конструкции за препратка към един от тези кадри:

Последната конструкция използва свойството frame array на всеки Frame обект.

Този обект се използва най-често поради двата полезни метода write () и writeln (), които записват информация в документ и по този начин позволяват динамичното му създаване.

Обекти за местоположение и история

Методът before () на този обект зарежда страницата от посетения списък. Текущата страница се индексира 0, предишните страници спрямо текущата страница се индексират с отрицателни цели числа, а следващите се индексират с положителни цели числа. Например, следното твърдение

ще зареди страницата, разположена на три точки назад спрямо текущата в списъка на посетените страници.

Всеки формуляр в документа, дефиниран от таг

Всички елементи на формуляра генерират съответни обекти, подчинени на обекта на родителската форма (вижте фигура 9.6). По този начин всеки от следните оператори трябва да се използва за препращане към обекта Text на form1:

Всеки обект на формуляр също има свойство масив елементи, което съдържа препратки към всички подчинени на формата елементи в реда, в който са дефинирани в HTML документа.

Елементите на формуляра или по-точно техните обекти имат свойство на име, чиято стойност е равна на стойността на параметъра NAME на маркера, както и свойство на стойност, чиято стойност се определя от значението на параметъра VALUE на елемента на формуляра. Например за текстовите и текстовите елементи стойността на това свойство ще бъде низът на съдържанието на полетата за въвеждане на тези елементи, за бутона за потвърждение - етикетът на бутона и т.н.

Някои обекти имат свойства, които са масиви. Те се използват за съхраняване на информация за подчинени обекти, когато техният номер не е известен предварително (например масивът форми на обекта на документа или масивът елементи на обекта Форма). Таблица 9.8 изброява всички обекти със свойства на масива.

Отразява таговете в реда, в който се появяват в документа

Отразява таговете в реда, в който се появяват в документа

Информацията за събитието зависи от конкретното събитие, което се е случило. Например обектът на събитието на събитието MouseDown съдържа информация за вида на събитието (свойство тип), кой бутон на мишката е бил натиснат (кое свойство), кой бутон (Ait, shift или Ctrl) е бил задържан, когато бутонът на мишката е бил щракнат (свойство на модификаторите) и координатните стойности на курсора на мишката по време на събитието (свойства screenX И screenY).

Обектните събития заедно с манипулаторите на събития позволяват сравнително фино обработване на събития.

Извикване на процедура за събитие

Процедурата за обработка на събития може да бъде извикана по два начина:

    изрично - чрез задаване на връзка към процедурата за обработка на събития в съответното свойство на обекта;

  • имплицитно - в параметъра за обработка на събития на маркера на съответния елемент.
  • Самата процедура се определя от следния код:

    alert („Настъпило събитие:“ + e.type)

    Второто, имплицитно извикване на процедурата за събитие изисква да се посочи извикването му в параметъра onMouseDown на маркера. В този случай трябва изрично да посочите параметъра на събитието, както е показано в следния кодов фрагмент:

    Първо, нека създадем HTML страница с текстово поле, в което ще покажем текущото време:

    Когато документът се зареди, се извиква функцията JSclock (), която определя и показва текущото време в полето с цифри на clockForm. Определението на самата функция ще бъде поставено в раздела на документа:

    Когато функцията се извика, променливата на времето съдържа препратка към обект Date, който съхранява текущото време. Методите getHours (), getMinutes () и getseconds () на обекта Date определят часовете, минутите и секундите, определени от системния часовник. Променливата temp съдържа низа "часа: минути: секунди", който се показва в полето с цифри на clockForm. Най-интересният оператор на тази процедура е операторът за извикване на функция setTimeout (). Тази функция изпълнява действията, посочени в първия параметър след изтичане на интервала от време (в милисекунди), посочен от втория параметър. В нашия случай, след една секунда, функцията JSclock () ще бъде извикана отново, ще покаже текущото време в полето на формуляра и процесът ще се повтори отново.

    На първо място, трябва да изберете картина за фона на менюто и да я нарежете на съставни части, представляващи рамката и командите от менюто, както е показано на фиг. 9.9 и ги запазете в отделни графични файлове.

    Добавете имена на команди от менюто към съответните графични файлове. Сега остава само да се създадат нови снимки, които ще се показват вместо оригиналните, когато курсорът на мишката е разположен над съответната команда. Тези снимки трябва да се различават само по цвета на фона. Графичните файлове за една от командите в примерното меню са показани на фиг. 9.10.

    Фонът на графичния файл за командата съвпада с фона на оригиналното изображение за менюто (жълта цветова схема); фонът на графичния файл за избраната команда е реализиран в сини тонове.

    уебсайт

    Фигура: 9.9. Разделяне на фоновото изображение на съставните му части

    Фигура: 9.10. Графични файлове на командата и избраната команда от менюто

    Графични снимки от този тип могат да се правят съвсем просто, като се използва например Adobe Photoshop.

    В HTML документ се създава меню под формата на таблица, в клетките на която се намират графични файлове, а файлове с команди от менюто се намират в таг, съдържащ връзки към изтеглени документи: