|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Параметры в пользовательских функцияхДавайте разберемся, каким образом функциям передаются параметры. Напишем код программы, которая открывала бы новое окно и выдавала сообщение о получении параметров. Причем размер окна должен соответствовать значениям, передаваемым подпрограмме. Код может быть, например, таким: <HTML> <HEAD> <TITLE> Приветствие в отдельном окне </TITLE> <SCRIPT language="JavaScript"> <!— function openWindow2 (WindWidth, WindHeight, imageType, imageName, imageWidth, imageHeight, altwindname, alttext, posLeft, posTop) { var frame1 = window.open ("", "frame1", "width="+WindWidth+", height="+WindHeight+", copyhistory=0, directories=0, height=500, location=yes, menubar=0, scrollbars=yes, status=0, toolbar=0, left="+posLeft+", top="+posTop); document.write('<P>Подпрограмма вызвана!</P>'); frame1.document.open(); frame1.document.write ('<html> <title>'+altwindname+'</title> <body bgcolor="BLUE" text="YELLOW" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" onReset="self.close()">'); frame1.document.write ('<img src="'+imageName+'" width='+imageWidth+' height='+imageHeight+'border=0 vspace=0 hsapce=0 alt="'+alttext+'">'); if (imageType == "swf") { frame1.document.write('<P>обработка параметра... '+imageType); <!--... выполнение действий, определенных пользователем --> } else { frame1.document.write ('<P>неизвестный параметр!'); <!--... выполнение действий, определенных пользователем --> } document.write('<P>Этот текст в первом окне!</P>'); frame1.document.write('<P>А этот текст во втором (новом) окне!</P>'); frame1.document.write('</body></html>'); frame1.document.close(); frame1.focus(); } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFF0" marginwidth=0 marginheight=0 topmargin=0 leftmargin=0 text="#000000" link="#000000"> <A href="#" onClick="openWindow2 (500, 400, 'swf', 'IMAGE/ABC.GIF', 120, 100, 'Окно 2', 'С днем рождения, программер!', 0, 0)";> <NOSCRIPT> <A href="program2.htm" target="_new"> </NOSCRIPT> <img src="image/abc.gif" width=80 height=50 border=0 vspace=0 hsapce=0 alt "С Днем рождения, программер!"> </A> <BR> <BR> </SCRIPT> </BODY> </HTML> По щелчку на картинке (или надписи, если графика отключена) вызывается функция openWindow2(), которая формирует новое окно размером 500 * 400, открывает его и печатает текстовое сообщение. В качестве параметров мы передаем в подпрограмму: ширину и высоту окна в пикселях; параметр swf, в зависимости от значения которого выполняется код по одному из определенных в программе условий; название картинки (с указанием пути), которая появится в новом окне (abc.gif); размеры картинки (мы растянем ее до 120 * 100); название открываемого окна (Окно 2); текст, который будет отображаться при отключенной графике вместо картинки (С днем рождения, программер!); начальные смещения нового окна (0,0). Оператор сравнения == «решает», какой код выполнять. В нашем случае напечатается строка «обработка параметра...». Конечно, не помешало бы добавить кнопку закрытия нового окна. Для этого можно воспользоваться рассмотренным выше кодом. Просто вставьте его в frame1.document.write() и разместите в функции openWindow2 между строками frame1.document.write ('<P>А этот текст во втором (новом) окне!'); и frame1.document.write ('</body></html>');. Сам код будет выглядеть так frame1.document.write ('<CENTER> <FORM> <INPUT type="button" value="закрыть" onClick="window.close()"> </FORM> </CENTER>'); frame1.document.write('<NOSCRIPT>'); frame1.document.write ('<I>Используйте кнопку "Возврат"/"BACK" вашего браузера для возврата на предыдущую страницу.</I>’); frame1.document.write ('</NOSCRIPT> <BR clear="all">'); В приведенном примере функция получает параметры, но ничего не возвращает. Рассмотрим фрагмент кода другой функции, которая получает три параметра, производит вычисления по заданной формуле и возвращает результат: <HTML> <HEAD> <SCRIPT language="JavaScript"> <!— function calculate_something(a,b,c) { var z1 = (a+b+c)*5; // 300 var z2 = (a*b*c)+5; // 6005 <!--... выполнение действий, определенных пользователем --> return (z1+z2); // 6305 } //--> </SCRIPT> </HEAD> <BODY bgcolor="#FFFFF0" text="#000000"> <SCRIPT language="JavaScript"> var res = calculate_something(10,20,30)*10; document.write ("<P> Результат: " + res); // печатаем вычисленное значение (63050) </SCRIPT> </BODY> </HTML> Как видим, код довольно простой. Функции передаются три числа и вычисляется некоторое новое значение, которое возвращается вызывающей программе. Результат присваивается переменной res и выводится на экран.
Контрольные вопросы: 1. С чем можно связать выполнение сценария? 2. Как работают onMouseOver и onMouseOut? 3. Как работает функция openWindow2()?
Домашнее задание: Подготовить рефераты по темам «Скрипты для защиты информации», «Скрипты подсказок и комментариев»
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |