WDAY$, 30.06.2025, 20:38
Вы вошли как Гость | Группа "Гости" | RSS
Информатика
Главная
Мой профиль
Выход
Меню сайта
!

Категории раздела
Урок №1. [1]
Графика [1]
Принципы гипертекстовой разметки. Структура документов [1]
1. Группы тагов НТМL [1]
2. Контейнеры HTML-документа [2]
3. Средства описания таблиц в HTML [1]
4. Использование таблиц в дизайне страницы [1]
5. Фреймы [1]
6. Формы [1]
7. Апплеты [1]
8. Каскадные таблицы стилей (Cascad Style Sheets) [1]
Контейнеры тела документа НТМL - BODY [1]
Активные изображения [1]
Изображения в миниатюре [1]
Таги управления разметкой [1]
Таги управления отображением символов [1]
Таги, характеризующие тип информации [1]
Таг <ВLОСKQUOTE> [1]
Списки [1]
Управление просмотром страниц Web-узла. JavaScript [1]
2.1. Модель объектов JavaScript - объекты Navigator'а [1]
2.2. Методы объектов и свойства объектов. Управление потоком вычислений [1]
2.3. События [1]
2.4. Массивы [1]
2.5. Графика [1]
2.6. Стеки гипертекстовых ссылок [1]
2.7. Фреймы и окна [1]
2.8. Наследование кода скриптов различными страницами [1]
2.9. Java, JavaScript и Plug-ins [1]
2.10. Встраивание в HTML-документ [1]
2.11. Примеры скриптов [1]
2.12. Единство в многообразии [1]
2.13. Приемы программирования на JavaScript [1]
2.14. Примеры манипулирования окнами [1]
2.15. Гипертекстовые ссылки и картинки [1]

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Пособие по HTML » 2.11. Примеры скриптов

Примеры скриптов


2.11. Примеры скриптов

 

Теоретизировать на предмет написания скриптов на JavaScrip можно долго. Но самый продуктивный способ получения представления о языке - это разбор примеров. Если посмотреть на список этих примеров, который можно найти в соответствующей директории Yahoo, то больше всего там различного сорта калькуляторов. Разберем программу такого же типа, только это будет не калькулятор, а программа обучения устному счету.

 

Пример 2.3

            <HTML>

            <!--

            Author: Pavel Khramtsov

            Date:    February 23, 1996

            URL:    http://144.206.192.100/radleg/mo_input.htm

            -->

            <HEAD>

            <TITLE>Проверка устного счета.</TITLE>

            <SCRIPT LANGUGE="JavaScript">

            <!--

            var max_value = 0

            var operand1 = 0

            var operand2 = 0

            var result = 0

            var flag = 0

            var sign = "+"

            var input = ""

            var v_date = new Date()

            var number = v_date.getTime()

             

            function init(factor) {

                    var today = new Date()

                    return (factor*today.getTime()/1000)%30000

            }

            //Инициализировать счетчик случайных чисел.

             

            IX = init(2)

            IY = init(3)

            IZ = init(4)

             

            //2, 3, and 4 below were arbitrarily chosen.

            //They put some distance between the initial values of IX, IY, and IZ

             

            //Датчик случайных чисел.

             

            function random() {

                    IX = Math.floor(171 * IX % 30269)

                    IY = Math.floor(172 * IY % 30307)

                    IZ = Math.floor(170 * IZ % 30323)

                    return ( IX/30269.0 + IY/30307.0 + IZ/30323.0 ) % 1.0

            }

             

            //Выбрать сложение или вычитание.

             

            function set_sign(x)

                     {

                      if( x == "+")

                        {

                         flag = 0

                         sign = "+"

                        }

                      if( x == "-")

                        {

                         flag = 1

                         sign = "-"

                        }

                      return true

                     }

             

            // Определить первый операнд.

             

            function f_operand()

                     {

                      operand1 = random()*max_value

                      return parseInt(operand1)

                     }

             

            // Определить второй операнд.

             

            function s_operand()

                     {

                      if(flag == 0)

                        {

                         operand2 = random() * (max_value-operand1)

                        }

                      else

                        {

                         operand2 = random() * operand1

                        }

                      return parseInt(operand2)

                     }

             

            // Проверить введенные данные.

             

            function input_sign(x)

                     {

                      if(x == 10)

                        {

                         if(flag == 0)

                           {

                            if( operand1+operand2 == parseInt(input))

                              {

                               window.document.test.r0.value = "Молодец!"

                              }

                            else

                              {

                               window.document.test.r0.value = "Думай!?"

                               window.document.test.input = ""; input = ""

                              }

                           }

                         if(flag == 1)

                           {

                            if( operand1-operand2 == parseInt(input) )

                              {

                               window.document.test.r0.value ="__-__-_р!"

                              }

                            else

                              {

                               window.document.test.r0.value = "Думай!?"

                               window.document.test.input = ""; input = ""

                              }

                           }

                         return true

                        }

                      input += x

                      window.document.test.result.value = input

                      return true

                     }

             

            // Генерация варианта.

             

            function main_calc()

                     {

                      operand1 = f_operand()

                      window.document.test.op1.value = operand1

                      operand2 = s_operand()

                      window.document.test.op2.value = operand2

                      window.document.test.s_sign.value = sign

                      input = ""

                      window.document.test.input = ""

                      window.document.test.r0.value = " ??? "

                      return true

                     }

            // -->

            </SCRIPT>

            </HEAD>

            <BODY>

            <CENTER>

            <H1>Математический тест</H1>

            <HR>

            <FORM NAME=test>

            <TABLE BORDER=0>

            <TR>

            <TD><INPUT NAME=i10 TYPE=button VALUE="0-10"

                        onClick="max_value=10"></TD>

            <TD><INPUT NAME=i20 TYPE=button VALUE="0-20"

                        onClick="max_value=20"></TD>

            <TD><INPUT NAME=i100 TYPE=button VALUE="0-100"

                        onClick="max_value=100"></TD>

            <TD><INPUT NAME=i+ TYPE=button VALUE=" + "

                        onClick="set_sign('+')"></TD>

            <TD><INPUT NAME=i- TYPE=button VALUE=" - "

                        onClick="set_sign('-')"></TD>

            </TR>

            </TABLE>

            <HR>

            <TABLE BORDER=0>

            <TR>

            <TD><INPUT NAME=op1 SIZE=2 MAXLENGTH=2></TD>

            <TD><INPUT NAME=s_sign SIZE=1 MAXLENGTH=1></TD>

            <TD><INPUT NAME=op2 SIZE=2 MAXLENGTH=2></TD>

            <TD>=</TD>

            <TD><INPUT NAME=result SIZE=3 MAXLENGTH=3></TD>

            <TD><INPUT NAME=award TYPE=button VALUE=" ? " onClick="main_calc()">

            <TD><INPUT NAME=r0 VALUE=" ??? ">

            </TR>

            </TABLE>

            <HR>

            <TABLE BORDER=2>

            <TR>

            <TD><INPUT NAME=b1 TYPE=button VALUE=" 1 " onClick="input_sign('1')"></TD>

            <TD><INPUT NAME=b2 TYPE=button VALUE=" 2 " onClick="input_sign('2')"></TD>

            <TD><INPUT NAME=b3 TYPE=button VALUE=" 3 " onClick="input_sign('3')"></TD>

            </TR>

            <TR>

            <TD><INPUT NAME=b4 TYPE=button VALUE=" 4 " onClick="input_sign('4')"></TD>

            <TD><INPUT NAME=b5 TYPE=button VALUE=" 5 " onClick="input_sign('5')"></TD>

            <TD><INPUT NAME=b6 TYPE=button VALUE=" 6 " onClick="input_sign('6')"></TD>

            </TR>

            <TR>

            <TD><INPUT NAME=b7 TYPE=button VALUE=" 7 " onClick="input_sign('7')"></TD>

            <TD><INPUT NAME=b8 TYPE=button VALUE=" 8 " onClick="input_sign('8')"></TD>

            <TD><INPUT NAME=b9 TYPE=button VALUE=" 9 " onClick="input_sign('9')"></TD>

            </TR>

            <TR>

            <TD><INPUT NAME=b0 TYPE=button VALUE=" 0 " onClick="input_sign('0')"></TD>

            <TD COLSPAN=2><INPUT NAME=bs TYPE=button VALUE=" OK " onClick="input_sign('10')">

            </TD></TR>

            </TABLE>

            </FORM>

            </CENTER>

            <HR>

            </BODY>

            </HTML>

 

Приведенный здесь пример содержит датчик случайных чисел (функции init и rand), таблицу, реализующую функции кнопок клавиатуры, и блок проверки результата вычислений. После загрузки программы пользователь должен выбрать тип вычислений (+,-), интервал вычислений (в пределах 10, 20, 100) и нажать кнопку "?" для генерации примера. После ввода с отображаемой клавиатуры числа пользователь нажимает на символ "=", что означает "исполнить", и система проверяет правильность ответа. Если ответ правильный, то программа поздравляет фразой "Молодец!", если нет - "Думай!?". В системе Windows 3.x нет встроенного датчика случайных чисел, поэтому стандартная функция rand в этой версии JavaScript не реализована. Используемый в данной программе датчик был позаимствован из телеконференции по JavaScript. В скрипте кроме этого используются объект типа "дата" и его методы, а также встроенные функции контроля вводимых данных. Как видно из примера обращение к полям HTML-формы представляет из себя обращение к структуре, корнем которой является объект окно, в котором определен объект документ, внутри которого определена форма и ее поля и атрибуты полей. Не у всех полей можно менять значения атрибутов, так, например, атрибут VALUE в кнопке не меняет своего значения, если только не перезагрузить страницу.

 

Другим часто встречающимся примером является бегущая строка. Строка может бежать либо в поле статуса (низ экрана), либо внутри поля формы. Рассмотрим такой пример.

Категория: 2.11. Примеры скриптов | Добавил: Юлия (12.09.2011)
Просмотров: 1162 | Комментарии: 162 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2025