КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Параметры в пользовательских функциях
Давайте разберемся, каким образом функциям передаются параметры. Напишем код программы, которая открывала бы новое окно и выдавала сообщение о получении параметров. Причем размер окна должен соответствовать значениям, передаваемым подпрограмме. Код может быть, например, таким: <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()?
Домашнее задание: Подготовить рефераты по темам «Скрипты для защиты информации», «Скрипты подсказок и комментариев»
Дата добавления: 2014-12-23; Просмотров: 360; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |