Използване на прозорци и рамки

Отваряне и затваряне на прозорци

Отваряне на прозорци

Обърнете внимание, че имате способността да контролирате самия процес на създаване на прозорец. Например, можете да посочите дали новият прозорец трябва да има лента на състоянието, лента с инструменти, меню или ленти за превъртане. Освен това можете да зададете размера на прозореца. Помислете за следния пример за създаване на прозорец с размери 250x100 пиксела, който няма лента на състоянието, лента с инструменти, меню или лента за превъртане.

Както можете да видите в примера, свойствата на прозореца са записани в ред"w >, в който трябва да обърнете внимание, че не трябва да поставяте интервали.

Затваряне на прозорци

open() и close() са методи на обекта прозорец. Трябва да запомним да пишем не само open() и close(), но window.open() и window.close(). В нашия случай обаче обектът window може да бъде пропуснат - не е необходимо да добавяте префикс window, ако просто искате да извикате един от методите на обекта (и това е възможно само за този обект).

Използване на рамки

Един от начините за показване на няколко HTML файла на екрана на потребителя наведнъж е отварянето на няколко прозореца на браузъра. Друг начин е да разделите прозореца на няколко секции. Тези секции се наричат ​​рамки. Всеки кадър показва свой собствен HTML документ. Всеки кадър може да има свои собствени ленти за превъртане, връзки, графики и т.н. Рамките могат да функционират независимо или да си влияят една на друга, като използват връзки, сочещи към други рамки. Необходими са най-малко три файла за използване на рамки: инсталационен файл и два HTML изходни файла. Инсталационният файл присвоява изходни HTML файлове на всеки от прозорците, но не съдържа собствен текст или графика. HTML изходните файлове се извеждат в рамки и като всеки другдруги файлове могат да съдържат връзки, изображения, скриптове и т.н. Необходими са два тагова за създаване на рамка за настройка: и . HTML страница, която създава рамки, обикновено може да изглежда така:

Следващата графика показва йерархията на кадрите. И трите рамки имат един и същ родител, въпреки че две от рамките са дефинирани в отделен набор от рамки. Това е така, защото родителят на кадрите е родителят на прозореца, а рамка, която не е в набор от рамки, дефинира прозорец. горе +--listFrame (Category.html) +--contentFrame (Titles.html) +--navigateFrame (Navigate.html)

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

  • listFrame - top.frames[0]
  • contentFrame - [1] горни.рамки
  • navigateFrame - top.frames [2]

Пример 2 Можете да създадете прозорец като предишния, но в който върхът на двете рамки има отделен родител от navigateFrame. Наборът от рамки от най-високо ниво ще бъде дефиниран, както следва:

Файлът Muskel3.html съдържа следните изрази за горните рамки и дефинира набор от рамки:

Следващата графика показва йерархията на кадрите. UpperFrame и navigateFrame родител: горен прозорец. ListFrame и родител на contentFrame: upperFrame. горе +--listFrame (Category.html) +---upperFrame------ (muskel3.html) +--contentFrame (Titles.html) +---navigateFrame (Navigate.html)

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

  • upperFrame - top.frames[0]
  • navigateFrame - [1] горни.рамки
  • listFrame - upperFrame.frames[0] или top.frames[0].frames[0]
  • contentFrame - upperFrame.frames[1] или top.frames[0].frames[1]

Модификация на рамката

Да приемем например, че използвате фреймсет, описан в Пример 2 в предишния пример. Ако искате потребителят да може да затвори рамката, съдържаща списъка с изпълнители (в listframe) и да преглежда само музикалните заглавия, сортирани по музиканта (в момента в contentFrame), можете да добавите следния бутон към navigateFrame.

Ако искате потребителят да може да затвори рамката, съдържаща списъка с изпълнители (в listframe) и да преглежда само музикалните заглавия, сортирани по музиканта (в момента в contentFrame), можете да добавите следния бутон към navigateFrame.

Когато потребителят щракне върху този бутон, файлът Artists.html се зарежда в upperFrame; рамките listFrame и contentFrame са затворени и вече не съществуват.

Боравене и контрол между рамки

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

Пример за рамки

Файлът navigate.html (връзките за навигация в долната част на екрана) съдържа следния код: Азбучен ред По категория Музикант Описания

Файлът Titles.html (основният файл, показан в рамката вдясно) съдържа следния код:

Тошико Акийоши

Бийтълс

Моля, угоди ми

Бети Картър

Рей Чарлз и Бети Картър.

За повече подробности относно създаването на рамка вижте обекта рамка.

Достъп до прозорци и рамки

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

Достъп до свойства, методи и манипулатори на събития в прозорци

За повече информация относно тези методи за достъп до прозорец вижте обекта прозорец.

Пример 1: достъп до текущия прозорец. Следният израз се отнася до формуляр с име musicForm в текущия прозорец. Изразът издава предупреждение, ако е избран радиобутонът. if (self.document.musicForm.checkbox1.checked)

Пример 2: достъп до друг прозорец. Следните изрази се отнасят до формуляра с име musicForm в прозореца на полето за отметка Win. Изразите определят дали е избран радиобутон, проверете радиобутона, определете дали е избрана втората опция на избрания обект, изберете втората опция на избрания обект. Въпреки че стойностите на обекта се променят в checkboxWin, текущият прозорец остава активен: поставянето на отметка в радио бутона и избирането на опцията за избор не дава фокус на прозореца. // Определяне дали радио бутонът е избран if (checkboxWin.document.musicForm.checkbox2.checked) < alert('Квадратчето за отметка в musicForm в checkboxWin е отметнато!')>// Проверява радиобутона checkboxWin.document.musicForm.checkbox2.checked=true // Определя дали дадена опция е маркирана в избрания обект if (checkboxWin.document.musicForm.musicTypes.options[1].selected) // Избира опция в избрания обект checkboxWin.docu ment.musicForm.musicTypes .selectedIndex=1

Пример 3: достъп до рамка в друг прозорец. Следният израз се отнася до рамка с име frame2, която е в прозорец с име window2. Изразът променя цвета на фона на frame2 на лилав. Името на рамката frame2 трябва да бъде дефинирано в тага <FRAMESET>, който създава набора от рамки. Window2.frame2.document.bgColor = "виолетов"

Достъп до подформуляр или прозорец на хипервръзка

Използвайте името на прозореца, когатоотнася се към прозореца като низ, указващ името на прозореца на подформуляра или хипервръзката (атрибута TARGET на етикетите <FORM> или <A>).

Пример 1: втори прозорец. Следващият пример създава хипервръзка към втория прозорец. Примерът има бутон, който се отваря, прозорец с име window2 и връзка, която зарежда файла Doc2.html в отворения прозорец, и друг бутон, който затваря прозореца.

Пример 2: котва във втория прозорец. Следващият пример създава хипервръзка за закотвяне във втория прозорец. Връзката показва котва, наречена числа във файла Doc2.html в window2. Ако window2 не съществува, той се създава. числа

Пример 3: име на рамка. Следващият пример създава хипервръзка към котва в рамка. Връзката показва котва с име abs_method във файла Sesame.html на рамка с име "contentFrame". Рамката трябва да бъде в рамките на текущия набор от рамки и името на рамката трябва да бъде указано в атрибута NAME на тага <FRAME>. коремни мускули

Пример 4: буквално име на рамка. Следният пример създава хипервръзка към файл. Връзката показва файл с име Artists.html в родителския прозорец на текущия фреймсет. Този обект на връзка се появява в рамка в набор от рамки и когато потребителят щракне върху връзката, всички рамки в набора от рамки изчезват и файлът Artists.html се зарежда в родителския прозорец. Описания на музиканти

Управление на прозорци

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

Пример 1: Поставяне на фокус върху обект в друг прозорец. Следният израз дава фокус върху текстовия обект с име city в прозореца на полето за отметка Win. защототекстовият обект получава фокус, тогава checkboxWin също получава фокус и става активен прозорец. Примерът също така показва израз, който създава checkboxWin. checkboxWin=window.open ("Doc2.html") . checkboxWin.document.musicForm.city.focus()

Пример 2: прехвърляне на фокуса към друг прозорец при използване на хипервръзка. Следният израз дефинира window2 като цел на хипервръзката. Когато потребителят щракне върху връзката, фокусът се прехвърля към window2. Ако window2 не съществува, той се създава. Заредете файл в прозорец 2