introduction

Краткий комментарий

к первому и пока единственному выпуску Easy JavaScripts 1.0

Прежде всего следует отметить причины, побудившие к созданию этой библиотеки. Во-первых: обилие в Интернете сайтов с громким названием "JavaScript Архив!", но предлагающих лишь ничтожное количество настоящих JavaScript кодов (в дальнейшем скриптов), во-вторых: чрезмерная насыщенность Интернета баннерной рекламой - отсюда крайнее неудобство и раздражение при поиске, нередко заканчивающемся пустышкой - вместо скриптов сайт содержит Java апплеты, как правило незарегистрированные, с отвратительными лейбами авторов. В-третьих: большинство сайтов, вернее их владельцев, настроены исключительно на зарабатывание денег с помощью рекламных показов баннеров. Посему при пробирании до страницы со скриптом приходится проходить через дебри промежуточных страничек, не содержащих ничего кроме рекламы. Поистине: через тернии к звездам! Но это еще не все. В конце пути вдруг обнаруживается, что вашему вниманию предлагается всего лишь ОДИН! вялый скрипт, зачастую даже неработающий! И хорошо, если это окажется действительно скрипт, а не, как уже упоминалось, Java апплет. Очевидно, авторы некоторых сайтов с названием "Все JavaScripts!" (ни больше, ни меньше!) вообще не подозревают об отличии Java и JavaScript... И последнее на эту тему. Следует все же признать, что наряду с подобными мыльными пузырями встречаются и по-настоящему великолепные сайты, обеспеченные отличной навигацией, не требующие длительных переборов для обращения за скриптом и имеющих очень приличные архивы.

Здесь сознательно не называются адреса сайтов, вызвавших столь бурную реакцию у автора этого раздела. Слишком необъективно было бы привести в пример несколько "выдающихся" сайтов и не упомянуть об остальных, не менее примечательных. Слишком велик Интернет, слишком необъективна оценка одного-двух человек, пусть и проведших в мировой сети тысячи часов, и слишком непросто было бы разместить на одной странице все запомнившиеся или записанные названия. Как хороших сайтов, так и не очень. Побродите по Сети сами и Вы прекрасно все поймете.

Но один недостаток, и очень серьезный недостаток, есть у всех без исключения онлайновых архивов. Они именно онлайновые! То есть если Вы русский человек, то "онлайн" для вас означает серьезные материальные затраты, и иногда даже проблемы в семье... А вот это уже катастрофический минус. Тоскливый, почти с наркомановским вожделение взгляд на компьютер, словно пытаясь пробиться сквозь экран монитора к отрезанной тощим кошельком виртуальной мировой реальности, все равно не сможет оплатить услуги провайдера и воссоединиться с... Короче, предлагаемая библиотека в некоторых случаях поможет пережить денежный и, надеюсь, семейный кризис. Кроме того, она напрочь лишена основных недостатков всех виртуальных страничек: здесь нет никакой рекламы - это РАЗ, работать можно оффлайн - это ДВА, скриптов много -  это ТРИ и, что самое важное, СКРИПТЫ РАБОТАЮТ ВСЕ!

Удачной Вам работы. И не забывайте иногда заходить на сайт http://javashelp.cjb.net за новыми версиями библиотеки. Минимальный шаг увеличения версии - 100 скриптов!

 ©info Большинство скриптов собрано в интернете путем ревизии JavaScript содержащих страниц. Создатель этой библиотеки ни в коем случае не претендует на авторство в отношении всех предложенных скриптов, но также не имеет возможности указать copyright для некоторых скриптов по причине отсутствия ссылки на автора там, где эти скрипты были приобретены. В случае установления личности автора создатель библиотеки обязуется немедленно опубликовать сведения об авторе. Внимание! Размещение скриптов, приведенных в библиотеке, в любых онлайновых архивах запрещено правообладателями. Любой, из предложенных в библиотеке, скрипт может быть использован только как элемент вебстраницы с сохранением при этом copyright автора, размещенного в верхней части кода. Ссылка на страницу автора рекомендуется. Распространение JS Library любых версий может производиться только с сайта автора этой библиотеки или другим путем, оговоренным с автором в письменном виде.

Полное имя автора библиотеки Евгений Геннадьевич Зиновьев. Адрес электрон. почты eugenezz@yandex.ru

Вопросы и ответы.

Что за странное предложение Вы делаете в конце каждой страницы? Копировать в Блокнот?!

Речь идет о копировании содержимого таблиц сначала в Блокнот, и только затем, вновь скопировав, помещать на страницу с HTML кодом. Все так. И это крайне важно, в чем Вы скоро убедитесь сами. Конечно, если вы из тех энтузиастов, которые до сих пор пишут коды непосредственно в Блокноте, то Вам беспокоиться не о чем. Однако, большинство вебмастеров и дизайнеров давным давно перешли на более приемлемые среды написания кодов. А, ставящийся по-умолчанию в MS OFFICE, FrontPage завоевал огромную популярность среди непрофессионалов! Именно для них этот ежестраничный совет.

С какими браузерами и какой версии должна работать БИБЛИОТЕКА ?

Сама БИБЛИОТЕКА будет работать с любыми браузерами любой версии до тех пор, пока они установлены в операционной системе Windows9x.

Есть ли обязательные условия для работы скриптов непосредственно из БИБЛИОТЕКИ ?

Во-первых, в пользовательских настройках браузера должна быть включена поддержка JavaScript, во-вторых, браузер (независимо MSIE или Netscape) должен быть не ниже 4-й версии. И, в-третьих, Вы пропустите "половину интернета", а не только скрипты БИБЛИОТЕКИ, если не последуете этим условиям.

Какие требования к системе предъявляются для работы БИБЛИОТЕКИ ?

Минимальный размер RAM 64Mb. Это обусловлено огромным количествои файлов, входящих в программу - более 2000! Рабочая частота процессора, а также его модификация принципиального значения не имеют. Тем не менее, чем выше эта частота, тем более четко (но не быстрее! - скорость определяется в скрипте) будут исполняться команды. В первую очередь это касается игр. Не следует также забывать, что ФАЙЛ СПРАВКИ - ЭТО НЕ БРАУЗЕР, как бы Вам ни казалось! Даже POP-UP окна, открываемые из файла справки, не являются полноценными окнами браузера. Скопировав источник такого окна в отдельный файл и открыв его в реальном браузере, Вы обнаружите ускорение работы не менее, чем в два раза ( при условии, что скорость не была задана определенной отдельно скриптом). Файл справки - это программа, которая лишь использует элементы программы Вашего браузера.

Иногда слова, написанные мелким шрифтом, сливаются в одну линию Это неполадка программы?

Нет. Очевидно, установлено слишком высокое разрешение экрана. Для информации: БИБЛИОТЕКА спроектирована для работы с разрешением экрана 800х600.

У меня NS6, но треть скриптов у меня не работают!

Треть - это много. Но пятая часть точно работать не будет. Это же касается и владельцев IE5. Виноваты тут отчасти программисты, которые не всегда удосуживаются делать скрипт универсальным. А "отчасти" потому, что такая универсальность нередко утраивает объем скрипта и гораздо проще написать два раздельных. Так что владельцы и NS, и IE будут, порой, "нарываться" на скрипты, не предназначенные для их браузеров.

Очень сложно найти нужный скрипт! Почему нет поиска по ключевому слову как в обычной справке?

Поиск есть. Но он спрятан, и спрятан намеренно. Проведите такой эксперимент: придумайте слово, характерное только для Вашего искомого скрипта. Мне кажется, на уникальность такое слово "потянет" для сотни-другой скриптов... И если вдруг поиск, о котором Вы говорите, выдаст Вам эту сотню, а то и две сотни скриптов, Вы обрадуетесь еще меньше. Почему так произойдет (я имею в виду поиск)? Вы же ищите по русским названиям (не по элементам же языка JavaScript - там еще меньше возможностей), а БИБЛИОТЕКУ делал я, и каждую буковку, каждую "закорючку" тоже писал я. Так что, поверьте, большинство текстов крайне схожи: я - не писатель , и БИБЛИОТЕКА - не роман.

Некоторые скрипты повторяются в разных разделах. Это сделано для количества?

Вот Вам пример : Вы печатаете текст в поле ФОРМЫ, он дублируется в СТАТУСНОЙ СТРОКЕ, затем вы нажимаете КНОПКУ, и сначала меняется цвет ФОНА страницы на тот, который Вы напечатали, затем "выскакивает" POP-UP, который сообщает Вам о названии этого цвета в hex.  Куда бы Вы отнесли этот скрипт, в какой раздел (они выделены заглавными буквами)? Если бы некоторые скрипты не имели двух очевидных базовых целей, они были бы отнесены лишь к одному разделу. Приведенный в примере скрипт будет отнесен только к одному  разделу - ЦВЕТ И ФОН, так как все остальные функции только обслуживают основную.

В БИБЛИОТЕКЕ скрипт работает, а у меня на странице нет! Я поместил все коды точно как написано.

Возможны два варианта неработоспособности скрипта на Вашей странице при условии, что скрипт работал в БИБЛИОТЕКЕ. Первый вариант: Ничего не происходит, скрипт никак себя не проявляет. В этом случае Вам следует еще раз проверить, не забыли ли Вы поместить вместо вашего тэга <BODY> предложенный в таблице (или соответственно модифицировать свой). Иногда ВСЕ содержимое второй таблицы вставляют между <BODY> и </BODY>, в то время как выделенную жирным крупным синим шрифтом строку следует поместить ВМЕСТО тэга <BODY>. Но может произойти и еще одна неприятная (для меня) вещь - указанный onLoad event был мною попросту благополучно забыт... В этом случае не поленитесь заглянуть в источник страницы и сравнить, и, если не затруднит, отправьте мне email    Второй вариант  неработоспособности  - с сообщением об ошибке, чаще всего - "недопустимый символ". "Недопустимый символ", как правило, в случае с копированием получается, когда в конце строки JavaScript кода образуется пробел. Обычно такие пробелы не имеют особого значения, но нередко это значение принципиальное. Поэтому пройдитесь по коду и удалите пробелы после последних символов во всех строках. Другие сообщения об ошибках, например "тра-ля-ля не является объектом" и т.п. Вы сами не исправите, если не имеете представления о JavaScript. Поэтому, огромная просьба, в случае обнаружения любого "тра-ля-ля" отправляйте мне  email . Есть, правда, и еще один вариант появления сообщения об ошибке примерно с таким текстом: "незавершенная строковая константа", который Вы смогли бы устранить сами. Описание этого и причину появления читайте в ответе на следующий вопрос.

Почему коды для копирования располагаются в таблицах, а не в текстовом поле (textarea)?

Основных причин две. Намного удобнее пояснять ключевые (для пользователя) элементы кода, например, выделить цветом значения, определяющие местоположение на странице и т.п., используя наглядные таблицы, чем вставлять в текстовом поле перед каждым таким элементом строку с обрубком пояснения, начинающуюся с двух косых линий, которую во время прокрутки текста внутри текстового поля трудно найти, даже зная, что такое пояснение есть, а уж не зная... И другая причина - повышенное количество ошибок при компилировании и воспроизведении в файле справки элементов формы (текстовые поля, кнопки). Иногда JavaScript коды содержат строки длиной до нескольких метров! И ничего с этим поделать нельзя. JavaScript - это, конечно, не С+ и даже не Java. Но и не HTML, который, по большому счету, служит для разметки страницы... В HTML Вам ничего не стоит разорвать тэг после любого слова и перенести оставшуюся часть на другую строку. В JavaScript, в большинстве случаев, такие номера не проходят! В особенности это касается строк, имеющих открытые и закрытые кавычки и какой-либо текст (часть кода) между ними. В 90 случаях из ста (есть исключения) перенос на другую строку куска кода с закрывающими кавычками вызовет появление сообщения об ошибке "НЕЗАВЕРШЕННАЯ СТРОКОВАЯ КОНСТАНТА". В этом случае Вам надо внимательно просмотреть все строки кода и буквально пересчитать одинаковые (двойные отдельно, одинарные отдельно) кавычки в каждой строке. Их число в каждой строке должно быть, как минимум, четным. Если нет, - значит следующая под "сбойной" строка должна быть перенесена в конец предыдущей. И так до тех пор, пока все открытые кавычки не окажутся в паре с закрытыми... Надеюсь, я объяснил доступно. Потому что Вам наверняка встретятся такие сообщения при работе с БИБЛИОТЕКОЙ и, наверняка, уже встречались во время обычного серфинга по сети. Отчего это случается. Я уже упоминал об экстремально длинных строках, встречающихся в JavaScript. Программа-компилятор вполне может "поделить" такую строку на несколько. А может и не поделить. И зависит это только от неких высших космических сил. Однако вероятность подобного сбоя в случае применения текстового поля увеличивается в несколько раз. И еше один момент в пользу таблиц. Это связано опять же с программой-компилятором. JavaScript код в тесктовом поле, если смотреть на код страницы, выглядит точно так же, как и работающий. Ничем не отличается и сопутствующий скрипту HTML код - что работающий, что в текстовом поле - внешне разницы никакой. Это-то и является камнем предкновения для компилятора. Видя два одинаковых JavaScript кода на странице, компилятор лишь "нервничает", если так можно выразиться... Но повстречав два одинаковых HTML кода с формами, имеющими одинаковые имена, этот "супермозг", радостно потирая руки, запросто "окажет услугу" - переименует формы, дабы "откорректировать ошибку"... А что это значит для нас? Это значит, что нам суждено читать что-то вроде "тра-ля-ля не является объектом". Да и откуда ж ему взяться, этому объекту, коли его переименовали...! Вот от такой беды полностью защищены коды, представленные в таблицах. Глядя на них в источнике страницы, наблюдаешь лишь отдаленное сходство с оригиналом. И компилятору "на душе" легче... Тем не менее, супердлинные строки (а бывает и вовсе не длинные!) и в таблицах все равно иногда разбиваются на две! Так что, получив известное "тра-ля-ля", не спешите поминать меня нелестными словами...

Почему БИБЛИОТЕКА называется JavaScript библиотекой, но содержит немало DHTML кодов ?

Нельзя представить себе JavaScript код, работающий в отрыве от HTML Cам по себе работающий JavaScript код - это нонсенс! JavaScript - язык, придуманный Netscape именно для "оживления" статичной HTML страницы. В то же время DHTML вообще не является отдельным языком, это - Dynamic HTML, то есть динамический HTML, который "оживляет" картинку в еще большей степени, чем JavaScript. Но существовать DHTML может лишь в содружестве JavaScript и HTML. Я бы даже назвал DHTML производным от "плодотворного сотрудничества JavaScript и HTML". Так что, исходя из этой логики, все, что двигается на экране (если только это не апплет или не анимированный gif) можете без особой опаски называть DHTML.

Почему я не могу скопировать рисунки из БИБЛИОТЕКИ в формате gif ?

Вопрос не ко мне, а к корпорации Microsoft. И тем не менее я поясню. Программа-компилятор конвертирует все GIF-ы и JPG-и в BMP. Этот формат записывается бинарным кодом и, очевидно, лучше обрабатывается. Однако, при просмотре свойств рисунка из меню правого клика мышью, Вам сообщают, что это рисунок gif (jpg), вводя тем самым в заблуждение. То что Вы видите - это "чистокровный" Bitmap! И прорисовывается он на странице в файле БИБЛИОТЕКИ именно как BMP, но в соответствии с вероятным поведением в этой ситуации GIF-a. Отсюда возможны некоторые погрешности в прозрачности (если это был GIF) или порывистость в движении, если рисунок двигается (программе приходится каждый раз пересчитывать внешний вид BMP как для рисунка GIF). По этой причине в БИБЛИОТЕКУ введены ZIP архивы, которые содержат рисунки совершенно необходимые для того или иного скрипта (например игры) в нужном формате. Отсутствие ZIP архива означает необязательность использования именно этих, использованных в примере, рисунков. Вам предоставляется возможность поместить вместо них свои собственные рисунки или, если Вы все же желаете именно примерные,  скопировать их в формате BMP и затем конвертировать в GIF или в JPG в любой подходящей для этого программе, например, PHOTOSHOP.

Почему после просмотра 150-200 страниц со скриптами мой компьютер начинает "вешаться" ?

Повторюсь. Минимальные требования к системе - наличие 64 Mb RAM. Если у Вас установлено меньше, то следует ожидать значительного замедления работы файла справки и как следствие "подвисания" всей системы. Но если даже Вы поставили на свою машину 256 Mb - это еще не гарантия от неприятностей. Причем вовсе не следует винить в этом БИБЛИОТЕКУ! В ней находится более 1000 скриптов, каждый из которых - это миниатюрная (а иногда даже совсем не маленькая! ) программа. Попытайтесь запустить последовательно все программы MS OFFICE. На третьем, от силы на четвертом круге Ваш компьютер обязательно даст критический сбой. Это происходит потому, что закрываемая программа исчезает полностью лишь внешне. Вы не могли не заметить как после повторного запуска такой программы она выскакивает на экран словно чертик из табакерки, будто  и не закрывалась. На пять четвертей это действительно так! То, что осталось от закрытой программы в памяти позволяет ей восстановиться в считаные мгновения. А то , что при этом она занимала системный ресурс будучи закрытой никого особенно не волнует.Тоже происходит и со скриптами БИБЛИОТЕКИ. Запуская по-очередно один за другим Вы в конце концов настолько загружаете систему (посредством браузера), что она начинает "виснуть". Масштабы скриптов нельзя даже сравнить с полноценными программами Оффиса, но запустив 300 скриптов подряд Вы наверняка возьмете количеством!


abs

МЕНЮ
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
U
V
W

Данный справочник представляет Вашему вниманию наиболее полное руководство по объектам, командам и операторам языка JavaScript. Рассмотрены все элементы языка, некоторые даны с примерами употребления. Все элементы языка отсортированы в алфавитном порядке.

Текст страницы:
http://javascripts.boom.ru

Данные о бумажном издании:
Автор: | Рик Дарнелл
Название: | "JavaScript: справочник"
Издательство: | "ИД Питер"
Год издания: | 2000
Кол-во страниц: | 192 c.
Код ISBN: | 5-88782-419-0; 0-7897-0869-8 (англ.)
Тип переплета: | мягкая обложка

Некоторые особенности оформления:

1. Полужирным шрифтом выделены элементы языка.

2. Синтаксис и примеры выделены шрифтом с фиксированной шириной символов (Courier).

3. Курсивом выделена принадлежность элемента к какому-либо семейству (например, свойство, метод и пр.).

Как найти нужный элемент? Очень просто - справа Вы увидите слово МЕНЮ. Наведите на него курсор. Теперь выберите нужную букву, и Вы попадете прямо к разделу с описанием методов, начинающихся на выбранную букву. Приятного Вам изучения премудростей JavaScript!

Справочник JS

abs (Метод)
Возвращает абсолютное значение своего аргумента
Math.abs(argument)
Применение: Следующие примеры возвращают соответственно 10 и 12.5
document.writeln (Math.abs (-10));
John. age. value = 12.5; document.writeln (Math. abs(John.age.value));

acos (Метод)
Возвращает арккосинус своего аргумента (от 0 до Пи-радиан).
Math.acos(argument)
Применение: Аргумент должен быть числом в диапазоне между -1 и 1. Если значение выходит за пределы этого диапазона, возвращается 0.
action (Свойство)
Отображение атрибута ACTION тега HTML <FORM>.
document.formName.action;
document.forms[index].action
Применение: Свойство action возвращает строку, состоящую из URL назначения для данных, введенных в форму. Это значение может быть установлено или изменено как до, так и после загрузки и форматирования документа. В следующем примере свойство action для формы, названной outlineForm, устанавливает значение URL равным значению переменной outlineURL.
outlineURL = "http://www.somewhere.com/cgi-bin/outline .cgi";
outlineForm.action=outlineURL;
alert (Метод)
Выводит на экран диалоговое окно JavaScript Alert с кнопкой ОК и определенным программистом сообщением.
[window].alert(AlertMessage)
Применение:Прежде чем пользователь сможет продолжить работу со страницей, он должен нажать кнопку ОК диалогового окна JavaScript Alert.
alinkColor (Свойство)
Цвет гиперссылки после нажатия на ней левой кнопкой мыши, но до отпускания кнопки. document.alinkColor
Применение: Подобно остальным цветам в JavaScript, свойство alinkColor записывается как шестнадцатеричный триплет RGB или строковый литерал. Это свойство не может быть изменено после загрузки документа HTML. Оба следующих примера устанавливают цвет в бледно-голубой.
document.alinkColor""aliceblue";
document.alinkColor"="FOF8FF"
anchors array (Объект)
Массив с информацией о якорях в документе.
[windowMame].document.anchors(index)
Применение: Объект anchors array (только для чтения) устанавливается в тегах HTML <А NAME>.
<A [HREF=URL] NAME""anchor name" [TARGET=""windowName"] >текст якоря </А>
Включение в тег значения для атрибута HREF делает якорь также и гиперссылкой и добавляет ее к массиву links. Новые якоря можно определить в JavaScript с помощью метода anchor. Для определения количества элементов массива anchors в документе используйте свойство length.
document.anchors.length
Выражение document.anchor[index] возвращает null. Например, document.anchor[0] возвращает null, несмотря на то, что существует якорь, созданный с помощью тега <А NАМЕ="Elef">Все о слонах</А>.
anchor (Метод)
Выводит строку на экран и делает ее якорем.
textString.anchor(anchorName);
Применение: Будучи примененным вместе с методами write или writeln, метод anchor создает в текущем документе якорь, где textString - это строка, которую пользователь видит на экране, a anchorName имеет значение атрибута NAME тега HTML <ANCHOR>.
anchorString = "Louie's Place";
document.writeln (anchorString.anchor ("louies_place"));
anchors (Свойство)
Массив всех якорей в текущем документе. Подробнее в описании объекта anchor.
document.anchors[index]
Применение: Если массив anchor в документе содержит 5 элементов, то он начинается с document.anchors[0] и заканчивается document.anchors[4].
appCodeName (Свойство)
Возвращает строку (только для чтения) с кодовым именем броузера.
navigator.appCodeName
Применение: Для вывода на экран кодового имени текущего броузера служит следующая строка:
document.write ("Кодовое название вашего броузера: " + navigator. appCodeName + ".");
Для Netscape Navigator 2.0 это выражение вернет: Кодовое название вашего броузера: Mozilla.
appName (Свойство)
Возвращает строку (только для чтения) с именем броузера.
navigator.appName
Применение: Для вывода на экран имени приложения текущего броузера служит следующая строка: document.write("Название вашего броузера: " + navigator. appName + "."); Для Netscape Navigator 2.0 это выражение вернет: Название вашего броузера: Netscape.
appVersion (Свойство)
Возвращает строку с информацией о версии броузера.
navigator.appVersion
Применение: Свойство appVersion используется для проверки версии используемого на клиентском компьютере броузера. Оно возвращает значение в формате: номер_версии (платформа; страна ). Для версии Netscape 2.0 под Windows 95:
document.write ("Версия вашего Броузера: " + navigator. appVersion + "."); возвращает: Версия вашего броузера: 2.0 (Win95; 1).
Возвращенное значение говорит о том, что используется международная версия Navigator 2.0, работающая под Windows 95. Код страны U указывает версию для США, в то время как код 1 возвращается международной версией.
asin (Метод)
Возвращает арксинус своего аргумента.
Math.asin(argument)
Применение: При передаче методу asin числа в диапазоне от -1 до 1 он возвращает арксинус аргумента (от -Пи/2 до Пи/2 радиан). Если передаваемый аргумент выходит за пределы указанного диапазона, возвращается 0.
atan (Метод)
Возвращает арктангенс своего аргумента.
Math.atan(argument)
Применение:
Метод atan возвращает число между -Пи/2 и Пи/2 радиан. Аргументом является число в диапазоне от -1 до 1, равное тангенсу возвращаемого значения.

back (Метод)
Вызывает переход к предыдущему URL из списка просмотренных в текущей сессии работы с броузером документов.
history.back();
Применение: Использование метода идентично применению выражения history.gо(-1).
bgColor (Свойство)
Фоновый цвет документа. document.bgColor
Применение: Использование свойства bgColor имеет приоритет над соответствующей настройкой броузера. Его значение записывается как шестнадцатеричный триплет RGB или строковый литерал. Значение свойства может быть изменено в любой момент. Следующий пример позволяет пользователям устанавливать свой собственный цвет фона с помощью переключателей.
function newColor(colorString)
{
document.bgColor = colorString;
}

<FORM NAME="colors">
<INPUT TYPE="radio" NAME="color" VALUE="FOF8FF" onClick="newColor(this.value) ">Alice Blue</input>
<INPUT TYPE="radio" NAME="color" VALUE="FF4500" onClick="newColor(this.value) ">Ochre</input>
<INPUT TYPE="radio" NAME="color" VALUE="FFEFD5" onClick="newColor(this. value) ">Papaya Whip </input>
</FORM>

big (Метод)
Форматирует строковый объект более крупным шрифтом.
stringName.big();
Применение: По своей функциональности использование метода идентично изменению шрифта выводимого текста с помощью тега HTML <BIG>. Оба следующих примера приводят к одному и тому же результату: выводу сообщения "Добро пожаловать на мою домашнюю страницу" крупным шрифтом:
var welcomeMessage = "Добро пожаловать на мою домашнюю страницу";
document.write (welcomeMessage.big());
<BIG>До6ро пожаловать на мою домашнюю страницу </BIG>
blink (Метод)
форматирует строковый объект в виде мигающей строки.
stringname.blink();
Применение: Использование метода идентично изменению вида выводимого текста с помощью тега HTML <BLINK>. Оба следующих примера приводят к одному и тому же результату: выводу мигающей строки "Обратите внимание":
var attentionMessage=" Обратите внимание ";
document.write (attentionMessage.blink());
<ВLINК>Обратите внимание</BLINK>
blur (Метод)
Удаляет фокус из указанного элемента формы.
document.formName.elementName.blur();
document.forms[index].elements[index].blur();
Применение: Например, следующая строка удаляет фокус из элемента feedback:
feedback.blur();
в предположении, что элемент feedback определен так:
<input tуре=text name="feedback">
bold (Метод)
Форматирует строковый объект жирным шрифтом.
stringName.bold();
Применение: Использование метода идентично изменению стиля шрифта с помощью тега HTML <В>.
button (Объект)
Кнопка в форме.
formName.buttonName;
forms(index].elements[index];
Применение: Кнопки должны быть определены внутри тега <FORM> и могут быть использованы для выполнения каких-либо действий.
<INPUT TYPE="button" NAME="buttonName" VALUE="textOnButton" [onClick="eventHandler"] >
Для лучшей читаемости кода программы и во избежание неоднозначности при обращении к элементу формы рекомендуется использовать имя элемента вместе с именем формы. При назначении кнопке обработчика события onClick эта кнопка становится дополнительным средством для инициализации событий, отличных от submit и reset. Щелчок на следующей кнопке вызывает функцию validateForm.
<INPUT TYPE="button" NAME="validate" VALUE="Check for Accuracy" onClick="validateForm(this.form) ">

ceil (Метод)
Возвращает ближайшее целое число, большее или равное аргументу.
Math.ceil(argument);
Применение: Метод возвращает наименьшее целое число, большее или равное целому или дробному аргументу. Например:
Math.ceil(1.01) возвращает 2.

charAt (Метод)
Возвращает символ из строки.
stringName.charAt(index);
Применение: Этот метод принимает целое число в качестве аргумента и возвращает символ, находящийся на этой позиции в строке. Позиция первого символа равна 0, а последнего - длине строки минус 1.
var userName ="Bobba Louie";
document.write(userName.charAt(4));
возвращает "a".
checkbox (Объект)
Элемент формы, который пользователь устанавливает в состояние on или посредством щелчка левой кнопкой мыши.
formName.checkboxName;
forms[index].elements[index]
 Применение: Объект checkbox определяется в теге <FORM>.
<INPUT TYPE="checkbox" NAME="checkboxName" VALUE="checkboxValue" [CHECKED] onClick=["eventHandler"]>textToDisplay
 Свойства и методы флажков имеют множество применений. Используйте свойство checked объекта checkbox для проверки текущего состояния флажка: установлен (true) или нет (false). Если атрибут CHECKED был использован в определении флажка, свойство defaultChecked также возвращает true.
checked (Свойство)
Возвращает логическое значение, представляющее текущее состояние отдельного флажка или переключателя.
formName.checkboxName.checked
formName.radioButtonName[index].checked
forms[index].elements[index].checked
 Применение: Свойство checked возвращает логическое значение (true или false), показывая, установлен ли флажок или переключатель. Значение свойства изменяется немедленно после изменения пользователем состояния элемента. Будучи использовано в цикле for...in, свойство может помочь определить состояние кнопок:
function whichOneChecked()
{
var checkedValue = "";
for (var i in document.formName.radioName)
{
if (document.formName.radioName[i].checked==true)
checkedValue=document.formName.radioName[i].value;
}
clear (Метод)
Очищает окно броузера.
document.clear();
 Применение: Метод clear уничтожает содержимое окна, вне зависимости от того, как оно было заполнено.
clearTimeout (Метод)
Сбрасывает таймер.
[windowName.]clearTimeout(argument);
parent.[frameName.]clearTimeout(argument);
 Применение: Метод clearTimeout отключает задержку таймера, установленную до этого с помощью метода setTimeout. Уникальный идентификатор таймера, полученный при его установке, должен быть указан для сброса задержки:
clearTimeout(waitTime);
click (Метод)
Эмулирует щелчок на объекте левой кнопкой мыши.
formName.elementName.click();
forms[index].elements[index].click();
close (Метод)
Для объекта document закрывает текущий поток вывода и показывает содержимое документа на экране. Для объекта window закрывает текущее окно.
document.close();
window.close();
[windowName.]close();
 Применение: Для документов метод close прекращает динамическое формирование документа, выводит содержимое документа на экран и сообщение "Document: Done" в строке состояния. Для объектов window подразумевается текущее окно window. Например, каждая из строк:
window.close();
close();
self.close();
 закрывает текущее окно.
confirm (Метод)
Выводит диалоговое окно JavaScript Confirm .
window.confirm();
[windowMame.]confirm();
 Применение: Сходное с диалоговым окном JavaScript Alert, но дополненное кнопкой Cancel, диалоговое окно JavaScript Confirm выводит сообщение и две кнопки выбора. Метод confirm возвращает true, если пользователь нажимает кнопку ОК, и false при нажатии кнопки Cancel. Следующий пример загружает документ в новое окно, если пользователь выбирает ОК:
if (confirm('Are you sure you want to enter'))
{ tourWindow = window.open ("http://www.haunted.com", "hauntedhouse") }
cookie (Свойство)
Строка с небольшим количеством информации, сохраняемая броузером в файле cookies.txt на клиентском компьютере.
document.cookie
Применение: Значение, хранимое в свойстве cookie, может быть извлечено с помощью методов charAt, IndexOf и lastIndexOf. Специальное свойство cookie сохраняет информацию о состоянии клиентского компьютера. Эта информация может быть затребована сервером. В свойство cookie включен диапазон URL, к которым эта информация относится. Будущие запросы HTTP со стороны клиента, попадающие в указанный диапазон URL, будут включать в себя допустимую для этого диапазона информацию о клиенте и передаваться серверу. Этот простой способ хранения данных позволяет серверу возвращать ответы клиентскому компьютеру с учетом информации о клиенте. Примерами такого использования свойства cookie являются посылка регистрационной информации и автоматизация ввода идентификатора пользователя. Пользовательские настройки могут быть сохранены на клиентском компьютере и затребованы сервером во время соединения. Можно ограничить время существования свойства cookie. Для отправки и просмотра установок cookie в HTML-сценарии свойству следует присвоить значение:
document.cookie = "string";

cos (Метод)
Возвращает косинус своего аргумента.
Math.cos(argument);
Применение: Величина угла должна быть указана в радианах, возвращаемый результат будет находиться в диапазоне от -1 до 1.

Date (Объект)
Предоставляет набор методов для работы с датами и временем.
Date.method(parameters)
Применение: Встроенный объект Date заменяет в языке JavaScript обычные типы данных для дат. Несмотря на отсутствие каких-либо свойств, объект Date имеет несколько методов для установки и изменения своего значения. Хотя значения даты возвращаются в стандартной форме, фактическое значение хранится как количество миллисекунд, прошедших после полуночи 1 января 1970 года. Применение этого соглашения запрещает использование дат до 1970 года. Для создания нового объекта Date можно использовать несколько вариантов синтаксиса:
objectName = new Date()
objectName = new Date("month day, year" [hours:minutes:seconds]")
objectName = new Date(year, month, day [, hours, "" minutes, seconds])
Если при создании объекта Date опустить компонент, указывающий время, оно по умолчанию будет установлено в 00:00:00. За исключением номера дня в месяце, все числовые предста-ления даты нумеруются с нуля. Это не должно представлять проблемы, если не считать месяцев. Они представляются числами от 0 (январь)до 11(декабрь).

defaultChecked (Свойство)
Логическое значение (true или false), указывающее состояние флажка или переключателя по умолчанию.
formName.elementName.defaultChecked
forms[index].elements[index].defaultChecked
Применение: Установка значения свойства defaultChecked может перекрывать атрибут CHECKED тега, создавшего элемент формы. Следующий фрагмент программы возвращает группу переключателей к их исходному состоянию путем поиска и установки переключателя в положение по умолчанию:
for (var i in menuForm.choices) {
if (menuForm.choices[i].defaultChecked) {
menuForm.choices[i].defaultChecked = true }
}
Изменение свойства defaultChecked не влияет на вывод на экран переключателя, даже если затронуто состояние других переключателей.
defaultSelected (Свойство)
Состояние элемента формы select по умолчанию.
formName.elementName.defaultSelected
forms[index].elements[index].defaultSelected
Применение: Свойство defaultSelected возвращает true или false, в зависимости от того, был ли при создании элемента формы использован в теге атрибут SELECTED. Программная установка значения этого свойства перекрывает наличие или отсутствие атрибута SELECTED тега <OPTION>. Синтаксис и поведение аналогичны свойству defaultChecked.
defaultStatus (Свойство)
Выводимое по умолчанию сообщение в строке состояния в нижней части окна броузера.
[windowName.]defaultStatus
Применение: Устанавливает сообщение, выводимое в строке состояния, когда броузер не выдает своих сообщений. Это сообщение вытесняется более приоритетными или временными сообщениями, подобными сообщению, инициируемому обработчиком события mouseOver. Например:
window.defaultStatus = "Добро пожаловать на мою домашнюю страницу"
выводит приветственное сообщение в тот момент, когда указатель мыши не находится над гиперссылкой или броузер не извещает пользователя о производимых им действиях.
defaultValue (Свойство)
Первоначальное содержимое текстовых элементов формы.
formName.elementName.defaultValue
forms[index].elements[index].defaultValue
Применение: Для любого из стандартных полей ввода текстовых данных форм HTML - hidden, password, text, textarea (для которых значение по умолчанию записывается между тегами <TEXTAREA>) и string - свойство defaultValue возвращает первоначальное содержимое, установленное в тегах, независимо от текущего значения. Для элементов типа password это свойство автоматически устанавливается в null по соображениям безопасности, независимо от установленного значения.
document (Объект)
Объект, создаваемый броузером во время загрузки страницы.
document.propertyOrMethod
document.objectName.propertyOrMethod
Применение: Объект document является одним из основных в JavaScript и содержит информацию о текущем документе, такую как заголовок, цвет фона и имеющиеся в документе формы. Эти свойства определяются в теге <BODY>. С помощью методов write и writeln объект document позволяет также выводить для пользователя на экран текст HTML. Вы можете ссылаться на якоря, формы и гиперссылки документа с помощью соответствующих массивов объекта document. Элементы этих массивов соответствуют каждому якорю, форме или гиперссылке документа.

E (Свойство)
Основание натуральных логарифмов.
Math.E
Применение: Также называется константой Эйлера, значение приблизительно равно 2.71828.

elements array (Объект)
Массив элементов формы в порядке их определения в исходном документе.
fоrmName.elements[index]
forms[index].elements[index]
 Применение: В этот массив включены все элементы формы. Обращение к этому массиву происходит с помощью имени формы или массива forms. Элементами формы являются кнопки, флажки, переключатели, объекты text и textarea. Ссылаться на элементы можно по их индексу. Например, если форма содержит два текстовых поля, три переключателя и две кнопки, все они - соответствующие элементы в массиве elements от formName.elements[0] до formName.elements [6]. Заметьте, что нумерация начинается с О, а не с 1. Для определения количества элементов в форме служит свойство length. Значением свойства value для каждого элемента массива elements является полный текст тега HTML, создавшего элемент. На элементы формы можно также ссылаться по их именам. Например, элемент типа password, названный newPassword, является вторым элементом формы на странице HTML. Его значение может быть получено тремя способами:
formName.elements[1].value
formName.elements["newPassword"].value
formName.newPassword.value
 Значения элементов массива elements доступны только для чтения.
elements (Свойство)
Массив объектов, содержащий элементы формы в том порядке, в котором они перечислены в тексте страницы HTML.
formName.elements[index]
forms[index].elements[index]
 Применение: Нумерация элементов массива начинается с нуля и заканчивается количеством элементов формы минус 1.
encoding (Свойство)
Возвращает строку с типом кодирования MIME.
formName.encoding forms[index].encoding
 Применение: Тип кодирования MIME устанавливается в атрибуте ENCTYPE тега HTML <FORM>. Стандарты кодирования MIME в HTML не устоялись, но черновые документы и информацию о состоянии дел можно найти на Web-сайте University of California Information and Computer Sciences Department http://www.ics.uci.edu/pub/ietf/html/.
escape (Метод)
Возвращает ASCII-код своего аргумента.
escape(argument)
Применение: Коды ASCII HTML основаны на наборе символов ISO Latin-1 и записываются в форме %ххх, где ххх - десятичное число, представляющее код ASCII. Этот метод не относится к какому-либо объекту, а является встроенным в язык JavaScript. Буквы латинского алфавита и числа возвращаются как есть, для остальных символов возвращаются коды ASCII.
document.write(escape("Hi!"))
 возвращает Hi%21
eval (Метод)
Вычисляет строку как числовое выражение.
eval(string)
Применение: Встроенная функция языка JavaScript получает числовое или строковое значение как аргумент. В случае получения строки метод eval пытается преобразовать ее в числовое выражение, затем вычисляет это выражение и возвращает получившийся результат.
var x = 10
var у = 20
document.write(eval("x + у"))
Этот метод может быть также использован для выполнения команд JavaScript, включенных в строку.
var doThis = "if (х==10)" {
alert('Достигнуто максимальное значение')
}
function checkMax() {
х++;
eval(doThis)
}
 Этот метод может оказаться полезным для преобразования введенной в поле формы строки, представляющей собой какую-то дату, в числовое выражение.
ехр (Метод)
Возвращает значение экспоненты.
Math.exp(argument)
Применение: Метод возвращает число Е (константу Эйлера), возведенное в степень, равную аргументу.

fgColor (Свойство)
Цвет текста, выводимого на странице.
document.fgColor
 Применение: Цвета в JavaScript представлены в виде шестнадцатеричных триплетов RGB или строковых литералов. Это значение не может быть изменено после загрузки документа, для отдельных фрагментов текста можно изменить цвет с помощью метода fontcolor. Свойство fgColor записывается в двух формах:
document.fgColor="aliceblue"
document.fgColor="FOF8FF"
 что дает тот же эффект, что и атрибут TEXT тега <BODY>:
<BODY TEXT="aliceblue">

fixed (Метод)
Выводит строку на экран шрифтом фиксированной ширины.
stringName.fixed()
Применение: Использование метода fixed аналогично применению тега HTML <TT>.
floor (Метод)
Возвращает ближайшее целое число, меньшее или равное аргументу.
Math.floor(argument)
Применение: Если этому методу передано в качестве аргумента целое или дробное число, он возвращает целое число, меньшее или равное аргументу. Например:
Math.floor(2.99) возвращает 2.
focus (Метод)
Передает фокус указанному элементу формы.
formName.elementName.focus()
forms[index].elements[index].focus()
 Применение: Используя имена формы и элемента, метод focus передает фокус элементу. С этого момента можно программно ввести значение в элемент формы, либо пользователь может сделать это вручную.
fontcolor (Метод)
Переопределяет цвет выводимого текста для строкового объекта.
stringName.fontcolor()
Применение: Метод fontcolor форматирует строковый объект цветом, указанным в аргументе как шестнадцатеричный триплет RGB или строковый литерал. Использование метода fontcolor подобно использованию тега <FONT COLOR=color>.
myDog = "Brown";
document.write(myDog.fontcolor("sienna"))
fontsize (Метод)
Выводит на экран строку шрифтом указанного размера.
stringName.fontsize(argument)
Применение: Этот метод использует один из семи возможных размеров шрифта, устанавливаемых в теге <FONT SIZE=size>. Если методу передана строка, размер шрифта задается относительно базового значения, установленного в теге <BASEFONT>. Аргумент задает размер шрифта. Если это целое число, то оно представляет собой размер шрифта и должно быть в диапазоне от 1 до 7. Если же в качестве аргумента передана строка, размер шрифта изменяется относительно базового.
form (forms array) (Объект)
Объект, представляющий форму на странице.
document.formName
document.forms[index]
Применение: Объект form является свойством объекта document. Каждая форма в документе является отдельным объектом. На нее можно ссылаться по имени. Объект form является также элементом массива forms, определенного в тегах HTML. Если первая форма в документе называется orderForm, то ссылаться на нее можно как на document.orderForm или document.forms[0]. Если форме не присвоено имени, сослаться на нее можно только как на элемент массива forms по индексу. Для получения количества форм на странице служит свойство length.
document.forms.length
Отдельные элементы формы могут быть указаны по их именам или как элементы массива elements.
document.formName.elements[index]
Массив forms - объект только для чтения. Попытка установить значение с помощью выражения: document.forms[1]="0ldGuestBook" не даст никакого эффекта.
forms (Свойство)
Массив объектов, соответствующих формам, созданных в тегах HTML в том же порядке.
document.forms
Применение: Свойство forms относится к объекту document и содержит по элементу на каждую форму в документе. Более подробно см. в описании объекта form.
forward (Метод)
Загружает следующий документ из списка URL, просмотренных за текущий сеанс работы с броузером.
history.forward()
Применение: Результат действия этого метода аналогичен выражению history.go(1).
frame (Объект)
Окно (кадр), содержащее независимо прокручиваемый субдокумент HTML.
[windowName.][parent.]frameName
[windowName.][parent.]frames[index]
 Применение: Кадры могут быть связаны с различными URL. Загрузка документов в каждый кадр может быть инициирована из другого кадра в том же окне броузера. Каждый кадр представляет собой объект типа window, определенный в теге <FRAMESET> для создания требуемой компоновки страницы. Страница определяется в родительском документе HTML. Все субдокументы являются дочерними по отношению к родительскому. Если кадр содержит определения атрибутов SRC и NAME, то кадр может быть идентифицирован с помощью выражений parent.frameName или parent.frames[index].
frames (Свойство)
Массив, соответствующий дочерним кадрам, созданным с помощью тега <FRAMESET>.
[windowName.][parent.]frameName
[windowName.][parent.]frames[index]
 Применение: Определить количество кадров в окне можно с помощью свойства length. Дополнительная информация содержится в описании объекта frame.

getDate (Метод)
Возвращает число месяца.
Date.getDate()
 Применение: Один из немногих элементов языка JavaScnpt, нумерация в котором начинается не с 0. Этот метод возвращает число в диапазоне от 1 до 31, представляющее число месяца.
endOfTheWorld = new Date("January 11, 1996 06:18:00")
document.write(endOfTheWorld.getDate()) //Возвращает 11

getDay (Метод)
Возвращает день недели как целое число от 0 (воскресенье) до 6 (суббота).
Date.getDay()
dateName.qetDay()
 Применение: Соответствующего метода setDay не существует, так как день недели автоматически вычисляется на основе значения объекта Date.
getHours (Метод)
Возвращает час суток.
Date.getHours()
dateName.getHours()
 Применение: Значение возвращается в 24-часовом формате, от 0 (полночь) до 23.
getMinutes (Метод)
Возвращает минуты как целое от 0 до 59.
Date.getMinutes()
dateName.getMinutes()
 Применение: Подобно остальным методам объекта Date, getMinutes просто возвращает один из элементов времени.
endOfTheWorld = new Date("January 11, 1996 06:18:00")
document.write(endOfTheWorld.getMinutes()) //Возвращает 18
getMonth (Метод)
Возвращает номер месяца в году.
Math.getMonth()
dateName.getMonth()
 Применение: Номер месяца возвращается как целое число в интервале между 0 (январь) и 11 (декабрь), а не как строка. Это значение может внести путаницу, так как не соответствует стандартному способу нумерации месяцев. Прежде чем вывести значение на экран или после получения данных, введенных пользователем в форму, надо произвести соответствующие преобразования.
function toReality() {
//преобразует номер месяца в систему "1-12"
this += 1 }
function toConvention() {
// преобразует номер месяца в систему "0-11"
this -= 1 }
getSeconds (Метод)
Возвращает число секунд.
Date.getSeconds()
dateName.getSeconds()
 Применение: Секунды возвращаются как целое число от 0 до 59.
getTime (Метод)
Возвращает целое число, представляющее собой текущее значение объекта date.
Date.getTime()
dateName.getTime()
 Применение: Значение представляет собой количество миллисекунд, прошедших после полуночи 1 января 1970 года. Это значение может использоваться для сравнения двух дат.
getTimezoneOffset (Метод)
Возвращает разницу в минутах между местным временем клиента и гринвичским (GMT).
Date.getTimezoneOffset()
dateName.getTimezoneOffset()
 Применение: Это значение является константой, за исключением случаев перехода на летнее/зимнее время.
getYear (Метод)
Возвращает год объекта date минус 1900.
Date.getYear()
dateName.getYear()
 Применение: Несмотря на то что значение года может быть передано объекту date как 4-значное число в виде строки, возвращаемое методом getYear значение является 2-значным числом. Например, 1996 возвращается как 96.
go (Метод)
Загружает документ из списка страниц, посещенных за текущий сеанс работы броузера.
history.go(argumentOrURL)
 Применение: Этот метод может ссылаться на документы из списка history по URL или по относительной позиции в этом списке. Если указан неполный адрес URL, используется ближайшее соответствующее значение. Результат поиска не зависит от регистра.

hash (Свойство)
Возвращает часть URL, начинающуюся с символа #.
document.linkName.hash
document.links[index].hash
document.location.hash
 Применение: Свойство hash ссылается на имя, созданное в теге <А NAME . . . >. Изменяя это свойство, можно изменять часть URL, начинающуюся с символа #, хотя безопаснее менять весь URL с помощью свойства href. Если имя, указанное в свойстве hash данного URL, не удается найти, возвращается ошибка.

hidden (Объект)
Текстовый объект в форме HTML, не отображаемый на экране.
document.formName.hiddenName
document.forms[index].elements[index].propertyOrMethod
 Применение: Объект hidden может применяться наряду с cookie для передачи пар имя/значение для клиент-серверного взаимодействия. Разница в том, что cookie постоянно существуют на клиентском компьютере в течение сессии, в то время как объект hidden относится к конкретной форме. Первоначальное содержание объекта hidden может быть из менено внутри функции путем присвоения нового значения свойству value этого объекта.
<INPUT TYPE""hidden" NAME="failedTries" VALUE="0">
...строки кода...
function setRetry() {
document.userPasswordForm.failedTries.value++ }
 Каждый раз, когда вызывается функция setRetry, значение объекта типа hidden, названного failedTries, увеличивается на единицу. Это один из примеров гибкости типов переменных в JavaScript. Первоначальное значение объекта представляет собой строку. Несмотря на это, когда программа встречает математический оператор, она пытается преобразовать значение объекта в целое число.
history (Объект)
Список ранее просмотренных страниц, аналогично пункту меню Go броузера.
document.historу
 Применение: Этот объект унаследован из меню Go броузера и содержит список ранее просмотренных страниц. Методы объекта служат для навигации к любому элементу списка. Для определения количества элементов объекта служит свойство length:
document.history.length
 Навигация представляет собой относительное перемещение по списку вперед или назад, подобно использованию кнопок на панели инструментов.
document.history.forward()
document.history.back()
 Метод go допускает и более сложные, чем просто перемещение к следующей или предыдущей странице, переходы по списку, подобно выбору адреса прямо из меню Go.
document.history.go(-2)
//загружает предпоследнюю страницу
 Указав конкретное окно, можно управлять навигацией в других окнах или кадрах. Следующий пример загружает новую страницу из списка объекта history в кадр с именем content. Заметьте, что имя кадра заменяет указание документа.
parent.content.history.back()
// загружает предыдущую страницу в кадр
host (Свойство)
Возвращает строку, сформированную из свойств URL hostname и port.
location.host
linkName.host
links[index].host
 Применение: Предоставляет метод для просмотра и изменения той части URL, которая идентифицирует Web-узел. Если порт не указан, свойства host и hostname одинаковы.
location.host = "www.montana.com:80"
hostname (Свойство)
Возвращает или изменяет строку с именем домена или IP-адресом URL.
location.hostname
linkName.hostname
links[index].hostname
 Применение: Это свойство сходно со свойством host, за исключением того, что не включает в себя информации о номере порта. Если свойство port имеет значение null, то свойства host и hostname одинаковы. Несмотря на то что свойство hostname может быть изменено в любой момент, рекомендуется изменять весь URL сразу. Если указанное значение hostname не может быть найдено, возвращается ошибка.
href (Свойство)
Возвращает строку, содержащую полный URL текущего документа.
location.href
linkName.href
links[index].href
 Применение: Все остальные свойства объектов location и link являются подстроками свойства href, которое может быть изменено в любой момент. URL текущего документа можно вывести на экран с помощью выражения:
document.write("You are here: " + window.location.href)
index (Свойство)
Возвращает индекс элемента объекта select
formName.selectName.options[index].index
forms[index].elements[index].options[index].index
 Применение: Позиция элемента в объекте select нумеруется начиная с 0.
indexOf (Метод)
Возвращает позицию определенного символа или подстроки.
stringName.indexOf(character | string, startingPoint)
 Применение: Поиск начинается с позиции startingPoint. Первый символ в строке имеет номер 0, а последний равен длине строки минус единица. Если подстрока не найдена, метод возвращает -1. Значение параметра startingPoint по умолчанию равно 0.
if (navigator.appVersion.indexOf('Unix') != -1)
return true
isNaN (Метод)
Проверяет, является ли аргумент числом.
isNaN(argument)
 Применение: Метод применим только для UNIX. Эта функция возвращает true, если аргумент не является числом. На всех платформах, кроме Windows, методы parseFloat и parseInt возвращают NaN, если их аргумент не является числом.
italics (Метод)
форматирует строку курсивом.
stringName.italics()
 Применение: Метод italics дает тот же эффект, что и применение тега HTML <I>.
lastlndexOf (Метод)
Возвращает позицию символа или подстроки в строке, начиная поиск с конца.
stringName.lastlndexOf()
 Применение: Возвращает позицию определенного символа или подстроки в строковом объекте, производя поиск с конца строки или с указанной позиции. Если подстрока не найдена, метод возвращает -1.
if (navigator.appVersion.lastIndexOf('Win') != -1) return true
lastModified (Свойство)
Строка только для чтения, хранящая дату последнего изменения текущего документа.
document.lastModified
 Применение: Это свойство опирается на атрибуты файла-источника. Строка форматируется стандартным для JavaScript способом (см. объект Date). Обычно применяется так:
dateModified = "Дата последнего изменения: " + document.lastModified
document.write(dateModified.small())
length (Свойство)
Целое число, показывающее длину или размер соответствующего свойства объекта.
formName.length
forms.length
formName.elements.length
forms[index].length
[windowName.]frameName.length
frameRef.frames.length
history.length
radioName.length
selectName.length
selectName.options.length
stringName.length
windowName.length
anchors.length
links.length
 Применение: Смысл возвращаемого свойством length значения определяется массивом или объектом, к которому это свойство применено.
link (links array) (Объект)
Текст или изображение, определенные как гиперссылка на другой URL.
document.linkName
document.links[index]
 Применение: Объект link представляет собой объект типа location и, следовательно, имеет те же свойства и методы, что и объект location. Если для объекта определено имя, то он одновременно становится элементом массива anchors.
link (Метод)
Создает новую гиперссылку на другой URL.
stringName.link(argument)
 Применение: Создает новую гиперссылку, определяя атрибут <HREF> и текст, который увидит пользователь.
linkText = "Wossamatta University";
linkURL = "http://www.wossammotta.edu/";
document.write("Alma mater Рокки: " + linkText.link(linkURL))
linkColor (Свойство)
Цвет гиперссылки в документе.
document.linkColor
 Применение: Цвет определяется как шестнадцатеричный триплет RGB или строковый литерал. Это свойство не может быть установлено после того, как документ отформатирован. Цвет соответствует атрибуту LINK в теге <BODY> и не может быть изменен после вывода документа на экран.
document.write("Текущий цвет гиперссылок: " + document.linkColor)
links (Свойство)
Массив объектов link.
document.links[index]
 Применение: Ссылки определяются в HTML с помощью тега <А HREF=URL>. Они отражаются в свойстве links, первая ссылка представлена как document.links[0]. Более подробная информация приводится в описании объекта link.
LN2 (Свойство)
Константа, представляющая натуральный логарифм числа 2.
Math.LN2
 Применение: Значение этой константы приблизительно равно 0.69315.
LN10 (Свойство)
Константа, представляющая натуральный логарифм числа 10.
Math.LN10
 Применение: Значение этой константы приблизительно равно 2.30259.
location (Объект)
Полная информация об URL текущего документа.
[WindowName.][frameName.location.propertyName
parent.[frameName.]location.propertyName
 Применение: Объект location используется для определения URL любого активного документа, включая документы в других окнах или в кадрах навигатора. Если объект window не указан, подразумевается текущее окно. Каждое свойство объекта location содержит отдельную часть URL. Шесть частей URL отражены в объекте location:
protocol//hostname:port/pathname search#hash
location (Свойство)
Возвращает строку с URL текущего документа.
document.location
 Применение: Это свойство только для чтения (document.location) отличается от свойства location объекта window (window.location.propertyName), которое может быть изменено.
log (Метод)
Возвращает натуральный логарифм для положительного аргумента expression.
Math.log(expression)
 Применение: Для отрицательного аргумента всегда возвращает -1.797693134862316е+308.
LOG2E (Свойство)
Константа, представляющая собой логарифм числа Е по основанию 2.
Math.LOG2E
 Применение: Значение этой константы приблизительно равно 1.44270.
LOG10E (Свойство)
Константа, представляющая собой логарифм числа Е по основанию 10.
Math.LOG10E
 Применение: Значение этой константы приблизительно равно 0.43429.
Math (Объект)
Встроенный в JavaScript объект, дающий доступ к константам и математическим функциям.
Math.property Math.method(arguments)
 Применение: Объект Math делится на две части - свойства, содержащие константы и методы для реализации функций. Например, для получения значения числа Пи в уравнении используйте:
Math.PI
 Стандартные тригонометрические, логарифмические и экспо-ненциальные функции также включены в этот объект. Все аргументы тригонометрических функций выражаются в радианах. Также представлено несколько операции сравнения, например max - для определения большего из двух чисел. Так как назначением объекта Math является предоставление средств для математических операций, нет необходимости создавать второй объект Math.
max (Метод)
Возвращает наибольший из двух аргументов.
Math.max(argument1, argument2)
 Применение: Принимает любую комбинацию числовых констант или переменных и возвращает значение большей.
method (Свойство)
Отражает значение атрибута METHOD тега HTML <FORM>.
formName.method
forms[index].method
 Применение: Возвращаемое значение или get, или post. Новое значение может быть установлено в любой момент.
min (Метод)
Возвращает меньший из двух аргументов.
Math.min(argument1, argument2)
 Применение: Принимает любую комбинацию числовых констант или переменных и возвращает значение наименьшего.
name (Свойство)
Возвращает строку со значением атрибута name объекта.
objectName.name
frameRef.name
frameRef.frames.name
radioName[index].name
selectName.options.name
windowRef.name
windowRef.frames.name
 Применение: Атрибут этого свойства зависит от объекта. Он может быть изменен в любой момент. Это свойство ссылается на внутренние имена объектов button, reset и submit, а не на подписи кнопок. Например, после открытия нового окна с помощью:
indexOutline = window.open("somefile.html","MenuPage")
 и выполнения команды
document.write(indexOutline.name)
 JavaScript вернет строку "MenuPage", то есть присвоенное окну имя. У всех переключателей в группе имена одинаковы, каждый из них идентифицируется своей позицией.
navigator (Объект)
Содержит информацию о броузере на клиентском компьютере.
navigator
 Применение Объект navigator возвращает информацию о броузере, такую как имя и версия броузера. Одно из основных применений этого объекта состоит в определении платформы, используемой на клиентском компьютере, для учета особенностей конкретного броузера, подобных обработке символа новой строки или генерации случайных чисел.
function UnixMachine()
{
if (navigator.appVersion.lastIndexOf('Unix') != 1)
return true;
else return false;
}
onBlur (Обработчик события)
Событие происходит в тот момент, когда элемент формы select, text или textarea теряет фокус. <INPUT TYPE="elementType" onBlur="function">
 Применение: Событие потери фокуса (blur) может использоваться для проверки корректности ввода данных пользователем. Этот обработчик события отличается от обработчика onChange, который вызывается только в случае изменения значения поля.
<INPUT TYPE="text" VALUE="" NAME="feedback" onBlur="checkSignature(this.value)">
onChange (Обработчик события)
Событие происходит в тот момент, когда значение элемента формы select, text или textarea изменилось и элемент потерял фокус. <INPUT TYPE="elementType" onChange="function">
 Применение: Этот обработчик особенно полезен для проверки корректности ввода данных пользователем.
<INPUT TYPE="text" VALUE="StateZIPCode" NAME="SZC" onChange="check(this.value)">
onClick (Обработчик события)
Вызывается после щелчка левой кнопкой мыши на объекте.
<INPUT TYPE="elementType" onClick="function">
 Применение: Обработчик onClick придает широкую функциональность кнопкам формы и другим объектам на странице. Кнопки могут использоваться для проверки корректности ввода данных пользователем перед посылкой на сервер или для вычисления результатов в форме или в выражении. Щелчок на переключателе или флажке позволяет переключиться на обработку другой информации. Следующий пример посылает содержимое формы с именем "overtime" функции howRich.
<FORM NAME="overtime">
Full days worked: <INPUT TYPE="text" VALUE="0" NAME="days" SIZE=3>
Hours worked: <INPUT TYPE="text" VALUE="0" NAME="hours" SIZE=30>
<INPUT TYPE="button" VALUE="Compute" NAME="computeWage" onClick="howRich(this.form)">
</FORM>
onFocus (Обработчик события)
Событие происходит в тот момент, когда пользователь переходит к элементу формы select, text или textarea для ввода данных.
<INPUT TYPE="inputType" onFocus="function">
 Применение: Элемент формы получает фокус в тот момент, когда пользователь переходит к этому элементу формы с помощью клавиши Tab или щелчка мыши. Выделение символов внутри поля приводит к вызову обработчика события onSelect. Одним из применений обработчика onFocus является вывод на экран всплывающей подсказки, когда элемент выбирается в первый раз.
onLoad (Обработчик события)
Вызывается, когда загрузка документа в окно или в кадр закончена.
<BODY onLoad="function">
<FRAMESET onLoad="function">
 Применение: Событие load возникает в тот момент, когда броузер заканчивает загрузку окна или всех кадров внутри тега <FRAMESET>.
onMouseOver (Обработчик события)
Событие происходит, когда указатель мыши помещается над гиперссылкой.
<A HREF="URL" onMouseOver="function">linkText</A>
 Применение: Обработчик onMouseOver вызывается в тот момент, когда пользователь помещает указатель мыши над объектом link. Для взаимодействия со свойствами status или defaultStatus обработчик события должен возвращать true.
<А HREF="http://home.netscape.com/" onMouseOver="window.status='Netscape'; return true">Netscape</A>
onSelect (Обработчик события)
Обработчик события onSelect вызывается в тот момент, когда выделен текст внутри элемента формы.
<INPUT TYPE="textType" onSelect="function">
 Применение: Событие select вызывается выбором части или всего текста в объектах text или textarea.
onSubmit (Обработчик события)
Событие происходит в момент щелчка мышью на кнопке Submit для посылки данных формы на сервер.
<TAG onSubmit="function">
 Применение: Обработчик события onSubmit запускается в момент от правки пользователем данных формы на сервер. Любое отличное от false возвращаемое значение, в том числе пропуск оператора return, приводит к отправке данных на сервер. Для получения более ясного кода рекомендуется вставляв оператор return в обоих случаях.
<FORM onSubmit="feedbackSubmit()">
..-элементы формы...
</FORM>
function feedbackSubmit () {
...строки кода...
if (!validData) { return true; }
else { return false; }
}
onUnload (Обработчик события)
Вызывается, когда пользователь выходит из документа.
<BODY onUnload="function">
<FRAMESET onUnload="function">
 Применение: Когда несколько событий unload включено в иерархию кадров, порядок операций - от дочернего к родительскому. Например, событие unload включено в два документа и родительский тег <FRAMESET>, который загрузил их. Когда дочерний документ изменяется, его событие unload обрабатывается, но событие unload тега <FRAMESET> не происходит. Когда пользователь выбирает опцию, заменяющую родительский документ на новый источник, событие unload самого верхнего уровня будет обработано.
open (Метод)
Создает новый документ или экземпляр окна.
document.open([MIMEtype])
window.open("URL", "windowName" [,"windowFeatures"]);
 Применение: Для документа метод open открывает поток вывода для методов write или writeln. Если тип MIME является версией text или image (например, text/html или image/gif), документ будет открыт для показа. Иначе поток будет направлен в plug-in. Если документ уже существует в целевом окне, метод open очищает это окно. Поток закрывается с помощью метода document.close(). Для окна метод open открывает новое окно броузера, подобно выбору пункта меню File->New Web Browser броузера. При использовании аргумента URL метод загружает в новое окно документ; в противном случае новое окно остается пустым. При использовании метода в программе обработки события форма должна включать объект window; в противном случае подразумевается объект document. Параметр windowFeatures описывается в виде разделенного запятыми списка параметров, где =1 или =yes - включено и =0 или =no - отключено. windowFeatures включают управление выводом инструментальной панели, окна URL, кнопок каталогов, строки состояния, строки меню, полос прокрутки, возможностью изменения размеров, сохранением истории навигации, шириной и высотой.
options (Свойство)
Этот массив параметров является свойством элемента формы select. Массив создается с помощью тегов <OPTION> внутри набора тегов <SELECT>.
formName.selectName.options[index]
forms[index].elements[index].options[index]
 Применение: Индекс первого параметра - ноль, второго - 1 и так далее. Более подробная информация содержится в описании объекта select.
parent (Свойство)
Ссылается на вызывающий документ в текущем кадре, созданном тегом <FRAMESET>.
parent
parent.frameName
parent.frames[index]
parent.property
 Применение: Использование свойства parent дает доступ к другим кадрам, созданным тем же самым тегом <FRAMESET>. Например, пусть два вызываемых кадра называются index и contents. Тогда кадр index может выводить текст в кадр contents, используя синтаксис:
parent.contents.document.write("Здесь был Вася")
parse (Метод)
Преобразует строку даты типа "Jan 11,1996" в количество миллисекунд, прошедших с полуночи 1 января 1970.
Применение: Эта функция может использоваться для возвращения значения даты на основе значения строки. При передаче строки со временем она возвращает значение времени. Так как parse - статическая функция объекта Date, она всегда используется как Date.parse(), а не как метод созданного объекта Date.
Date.parse("Jan 11, 1996");
Today = new Date();
Date.parse(Today.toLocaleString())
parseFloat (Метод)
parseFloat(string)
 Применение: Метод parseFloat анализирует строковый аргумент и возвращает число с плавающей точкой, если первый символ переданной строки - знак "плюс", знак "минус", десятичная точка, число "е" (основание натурального логарифма) или цифра. Если parseFloat сталкивается с недопустимым символом, то метод возвращает значение, основанное на подстроке, следующей до этого символа, игнорируя все последующие. Если первый же символ недопустим, parseFloat возвращает одно из двух значений, в зависимости от платформы: Windows - 0, не Windows - NaN.
parseInt (Метод)
Анализирует строковый аргумент и возвращает целое число, основанное на указанной системе счисления.
parseInt(string [,radix])
 Применение: При параметре radix, равном 10, string преобразовывается в десятичное число, при 8 преобразовывается в восьмеричное и при 16 - в шестнадцатеричное. Значения, большие 10, для оснований, превышающих 10, представляются символами от А до F вместо чисел. Использование radix, равного 2, служит для преобразований в двоичные числа. Числа с плавающей запятой будут преобразованы в целые числа. Правила обработки строки идентичны правилам для parseFloat. Если radix опущен или система счисления конфликтует с первыми символами, JavaScript использует систему счисления, анализируя первые символы строки.
password (Объект)
Окно ввода пароля в форме HTML.
document.formName.passwordName
document.forms[index].element[index]
 Применение: password - текстовое поле, в котором символы, вводимы пользователем, в целях защиты маскируются звездочками. Любые значения по умолчанию, включенные как часть области определения HTML, очищаются при загрузке страницы. Этим предотвращаются намеренные или случайные нарушения защиты. Несмотря на то, что свойство defaultValue допустимо для объекта password, оно всегда возвращает нулевое значение. Возвращаемое значение объекта password может быть программно обработано внутри сценария, однако рекомендуется не использовать литералы (буквенное значение пароля) в тексте сценария из очевидных соображений безопасности.
pathname (Свойство)
Извлекает из URL ту его часть, которая содержит путь.
location.pathname
link.pathname
links[index].pathname
 Применение: Хотя pathname может быть изменено в любое время, всегда безопаснее изменить весь URL сразу, используя свойство href.
PI (Свойство)
Возвращает значение числа Пи.
Math.PI
 Применение: Значение числа я приблизительно равно 3.14159. Это - отношение длины окружности к диаметру.
circumference = 2 * Math.PI * radius
area = Math.PI * Math.pow(radius,2)
port (Свойство)
Извлекает из URL номер порта.
location.port
link.port
links[index].port
 Применение: Значение порта - подстрока свойства host в свойстве href.
pow (Метод)
Возвращает основание, возведенное в степень.
Math.pow(argument)
 Применение: Многие языки программирования используют оператор ^ для операции возведения в степень. JavaScript имеет для этого собственный метод. Символ ^ используется в JavaScript для выполнения поразрядной операции XOR.
prompt (Метод)
Отображает диалоговое окно ввода пользователя.
[windowName.]prompt(message [inputDefault])
 Применение: Если первоначальное значение для inputDefault не определено, диалоговое окно предлагает з начение <UNDEFINED>.
var userid = prompt("Please enter your ID","")
protocol (Свойство)
Возвращает метод доступа к файлу.
location.protocol
link.protocol
links[index].protocol
 Применение: Строка, возвращаемая этим свойством, - начальная часть URL до двоеточия включительно. Это та часть URL, которая указывает метод доступа (http, ftp, mailto и т.п.).
radio (Объект)
Набор переключателей.
formName.radioName[index]
forms[index].elements[index]
 Применение: Объекты radio создаются внутри HTML-тега <FORM>>и представляют собой переключатели. Набор переключателей позволяет пользователю выбирать один элемент из группы. При ссылке на объект с использованием имени переключателя индекс состоит из кнопок с одинаковым свойством name. При ссылке на переключатель с использованием массива elements каждый переключатель представляет собой отдельный элемент в индексе.
random (Метод)
Возвращает случайное число в интервале между 0 и 1 (только для UNIX).
Math.random()
 Применение: Метод random реализован только на UNIX-платформах - пользователи Windows и Macintosh должны использовать альтернативную форму генерации случайного числа.
referrer (Свойство)
URL документа, который привел к текущему документу.
document.referrer
 Применение: Возвращает строку только для чтения, содержащую полный URL того документа, который вызвал текущий документ. Это свойство может использоваться со сценарием CGI, чтобы отслеживать, как пользователь перешел к текущей странице.
document.write("Щелкните <А HREF=document.referrer>здесь,</А>, чтобы вернуться к предыдущей странице.")
reset (Объект)
Кнопка для возвращения всем объектам form значений по умолчанию.
formName.resetButtonName
forms[index].elements[index]
 Применение: Этот объект соответствует кнопке reset, созданной тегом HTML <INPUT TYPE="reset">, возвращающей все объекты form к их значениям по умолчанию. Объект reset должен быть создан внутри тега <FORM> и не может управляться из программы обработки события onClick. При нажатии кнопки все объекты формы возвращаются к их значениям по умолчанию. Однако программа обработки события onClick может в дополнение к восстановлению значений по умолчанию вызывать другие действия.
round (Метод)
Округляет число до ближайшего целого.
Math.round(argument)
 Применение: Округляет аргумент с плавающей точкой до ближайшего большего целого числа, если десятичная часть больше или равна 0.5, или до ближайшего меньшего целого числа, если десятичная часть меньше, чем 0.5.
Math.round(2.1) // Возвращает 2
Math.round(2.9) // Возвращает З
search (Свойство)
Возвращает любую информацию запроса, присоединенную к URL.
location.search
linkName.search
links[index].search
 Применение: Возвращает строку, содержащую любую информацию запроса, Добавленную в конец URL. Данные запроса предваряются знаком вопроса и являются последним элементом в URL документа. Информация в строке форматируется так:
?elementName=element+value
 Подобно всем подстрокам свойства href, свойство search может быть изменено в любое время.
select (Метод)
Выделяет область ввода указанного элемента формы.
formName.elementName.select()
forms[index].elements[index].select()
 Применение: При использовании вместе с методом focus метод select в JavaScript может выделить поле и установить курсор для ввода.
select (options array) (Объект)
Раскрывающийся список или список с множественным выбором в форме HTML.
formName.selectName
forms[index].elements[index]
formName.selectName[index].options[index]
forms[index].elements[index].options[index]
 Применение: Список выбора позволяет пользователю выбирать один элемент из списка. Список прокрутки допускает выбор любого количества элементов из списка при наличии атрибута MULTIPLE во входном теге. Будучи использованным без массива параметров, объект select ссылается на весь список, используя свойства типа length и name. Свойства value и selectedlndex указывают на текущий выбор в списке выбора или на первый выделенный элемент в списке прокрутки.
selected (Свойство)
Возвращает логическое значение (true или false), показывая текущее состояние параметра в объекте select.
formName.elementName.[options[index].]selected
forms[index].elements[index].[options[index].]selected
 Применение: Свойство selected может быть изменено в любой момент и результат изменения будет немедленно отражен на экране. Свойство selected удобно использовать с элементами select, созданными с использованием атрибута MULTIPLE. При использовании свойства select вы можете просматривать или изменять значение любого элемента в массиве options без изменения значений любых других элементов в массиве.
selectedlndex (Свойство)
Возвращает целое число, указывающее индекс выбранного элемента.
formName.elementName.[options[index].]selectedlndex
forms[index].elements[index].[options[index].]selectedlndex
 Применение: Свойство selectedlndex удобно использовать с элементами select, созданными без использования атрибута MULTIPLE B теге <SELECT>. Если selectedlndex определяется при установленном атрибуте MULTIPLE, свойство возвращает индекс только первого выделенного элемента. Установка этого свойства сбрасывает выделение любых других элементов.
self (Свойство)
Ссылается на текущее окно или форму.
self
 Применение: Свойство self полезно для устранения неоднозначности свойств form и window с одним и тем же именем.
setDate (Метод)
Устанавливает день месяца.
Date.setDate(argument)
dateName.setDate(argument)
 Применение: setDate использует целое число в диапазоне от 1 до 31 для установки дня месяца в объекте Date.
endOfTheWorld = new Date("January 11, 1996 06:18:00")
endOfTheWorld.setDate(26)
document.write(endOfTheWorld.getDate())
//Возвращает 26
setHours (Метод)
Устанавливает час для текущего времени.
Date.setHours(argument)
dateName.setHours(argument)
 Применение: setHours использует целое число от 0 (полночь) до 23 для установки часа, используя 24-часовую шкалу.
setMinutes (Метод)
Устанавливает минуты для текущего времени.
Date.setMinutes(argument)
dateName.setMinutes(argument)
 Применение: Использует целые числа от 0 до 59 для установки минут для объекта Date.
setMonth (Метод)
Устанавливает значение месяца для объекта Date.
Date.setMonth(argument)
dateName.setMonth(argument)
 Применение: Использует целые числа от 0 (январь) до 11 (декабрь). Это единственный элемент объекта Date, который отступает от стандартных соглашений по нумерации дат и времени. Будьте внимательны при переводе значений месяца из сценария на JavaScript в форму для пользователей.
setSeconds (Метод)
Устанавливает секунды.
Date.setSeconds(argument)
dateName.setSeconds(argument)
 Применение: Использует целые числа от 0 до 59 для установки секунд для объекта Date. Несмотря на то, что объект Date использует миллисекунды для отслеживания времени, секунды являются минимальным уровнем детализации, допустимым при вводе значения времени.
setTime (Метод)
Устанавливает значение объекта Date.
dateName.setTime(argument)
 Применение: Это основная форма объекта Date. Метод возвращает количество миллисекунд, прошедших с полуночи 1 января 1970 года. Хотя нет необходимости знать конкретное значение этого числа, оно может быть использовано как простейший метод копирования значения одного объекта типа Date в другой.
endOfTheWorld = new Date(userGuess)
checkDate = new Date()
checkDate.setTime(endOfTheWorld.getTime())
setTimeout (Метод)
Исполняет выражение по истечении указанного в миллисекундах промежутка времени.
[window.]setTimeout(timerID)
[windowName.]setTimeout(timerID)
 Применение: Исполнение выражения происходит только один раз. Например, установка промежутка в 3 секунды приведет к однократному исполнению выражения по истечении этих 3 секунд, а не к повторению каждые 3 секунды. Для рекурсивного вызова метода setTimeout достаточно вставить в вызываемую функцию новый вызов метода setTimeout. Подобная по действию функция - setInterval. Она устанавливает интервал, через который функция вызывается бесконечно. Синтаксис такой-же, как и у setTimeout.
setYear (Метод)
Устанавливает значение года для объекта Date.
Date.setYear(argument)
dateName.setYear(argument)
 Применение: Параметром метода setYear является двузначное целое число, представляющее номер года минус 1900.
sin (Метод)
Возвращает синус аргумента.
Math.sin(argument)
 Применение: Аргументом является величина угла в радианах, возвращаемое значение может быть от -1 до 1.
small (Метод)
stringName.small()
 Применение: Метод small уменьшает шрифт, которым отображается объект string, используя тег HTML <SMALL>.
sqrt (Метод)
Возвращает квадратный корень из положительного числа.
Math.sqrt(argument)
 Применение: Если аргумент отрицателен, возвращается число 0.
SQRT1_2 (Свойство)
Квадратный корень из 1/2.
Math.SQRT1_2
 Применение: Квадратный корень из 1/2 (приблизительно 0.707) может быть также представлен как величина, обратная квадратному корню из 2.
SQRT2 (Свойство)
Квадратный корень из 2.
Math.SQRT2
 Применение: Значение этой константы приблизительно равно 1.414.
status (Свойство)
Устанавливает текст основного или временного сообщения в строке состояния.
window.status
[windowName].status
 Применение: Строка состояния находится в нижней части окна броузера. Вызов временного сообщения должен быть вставлен в текст обработчика события mouseOver из тега <А. . . >. Чтобы вывести сообщение в строке состояния в тот момент, когда указатель мыши находится над гиперссылкой, надо сделать так:
<А anchorDefinition onMouseOver="window.status= 'Your message.'; return true">link</A>
Обратите внимание на вложенные кавычки и обязательное возвращаемое значение true. Однажды вызванное, сообщение остается в строке состояния до тех пор, пока указатель мыши не окажется над другой гиперссылкой.
string (Объект)
Последовательность символов, ограниченная одинарными или двойными кавычками.
stringName
 Применение: Например:
myDog = "Brittany Spaniel"
возвращает строковый объект, названный myDog, со значением Brittany Spaniel. Кавычки не являются частью значения строки - они только ограничивают строку с обеих сторон.
strike (Метод)
Форматирует строковый объект как зачеркнутый текст.
stringName.strike()
 Применение: Использование метода strike аналогично применению тега HTML <STRIKE>.
sub (Метод)
Форматирует строковый объект как нижний индекс.
stringName.sub()
 Применение: Использование метода sub аналогично применению тега HTML <SUB>.
submit (Объект)
Кнопка отправки данных на странице HTML.
formName.buttonName
forms[index].elements[index]
 Применение: Щелчок на кнопке заставляет форму отправить данные программе, указанной в свойстве action. Кнопка создается внутри тега HTML <FORM> и всегда загружает новую страницу, которая может оказаться той же, что и текущая, если свойство action не указано.
submit (Метод)
Производит действие, аналогичное щелчку по кнопке Submit.
formName.submit()
forms[index].submit()
 Применение: Метод отсылки информации из формы зависит от значения атрибута METHOD - get или post.
substring (Метод)
Возвращает часть строкового объекта в зависимости от двух индексов.
stringName.substring(index 1, index2)
 Применение: Если индексы равны, возвращается пустая строка. Вне зависимости от порядка индексов подстрока формируется от меньшего индекса к большему.
sup (Метод)
форматирует строковый объект как верхний индекс.
stringName.sup()
 Применение: Использование метода sub аналогично применению тега HTML <SUP>.
tan (Метод)
Возвращает тангенс аргумента.
Math.tan(argument)
 Применение: Аргументом является величина угла в радианах.
target (Свойство)
Строка, указывающая имя окна, в которое будет помещен ответ после посылки данных формы серверу.
formName.target
forms[index].target
location.target
link.target
links[index].target
 Применение: Обычно используется для просмотра ответа сервера на посылку данных. Кроме того, может быть использовано для просмотра или изменения URL гиперссылки. Для гиперссылки свойство target возвращает строку, указывающую имя окна, в котором должно быть выведено содержимое выбранной гиперссылки.
homePage.target = "http://www.wossamotta.edu/"
 Для установки свойства target нужно использовать константу типа литерал. Выражения JavaScript или переменные недопустимы.
text (Объект)
Однострочное поле ввода формы HTML.
formName.textName
forms[index].elements[index]
 Применение: Объекты text допускают ввод букв и цифр. Объект text может быть изменен путем присваивания нового значения.
text (Свойство)
Возвращает текст, записанный после тега <OPTION> в объекте select.
formName.selectName.options[index].text
forms[index].elements[index].options[index].text
textarea (Объект)
Объект textarea подобен объекту text, дополненному возможностью многострочного ввода.
formName.textAreaName
forms[index].elements[index]
 Применение Объект textarea также может быть изменен путем присваивания нового значения. Это изменение немедленно отражается на экране. Обратите внимание на использование символа перехода на новую строку \n. Реализация перехода на новую строку зависит от платформы. Для Windows это комбинация \r\n; для Macintosh и UNIX это \n. При определении объекта textarea в форме можно указать значение по умолчанию, введя текст между тегами <TEXTAREA>. Следующий пример загружает некоторые строки текста в элемент textarea:
<TEXTAREA NAME="user_comnients" ROWS=4 COLS=40> Введите свой комментарий. Затем щелкните на кнопке Submit, чтобы отправить его нам. </TEXTAREA>
title (Свойство)
Возвращает значение только для чтения, указанное внутри тега HTML <TITLE>.
document.title
 Применение: Если в документе заголовок отсутствует, значение свойства - null.
toGMTString (Метод)
Преобразует объект типа Date в строку на основе соглашений Internet GMT.
Date.toGMTString()
dateName.toGMTString()
 Применение: Этот метод возвращает время в формате GMT, который завист от платформы. Например, если today представляет собой объект Date, то выражение
today.toGMTString()
 возвратит строку "Thu, 11 Jan 1996 06:05:15". Фактический формат может различаться от платформы к платформе. Время и дата определяются на клиентском компьютере.
toLocaleString (Метод)
Преобразует объект типа Date в строку, используя локальные установки.
Date.toLocaleString()
dateName.toLocaleString()
 Применение Возвращаемая строка со значением даты зависит от установок клиентского компьютера, например mm/dd/yy hh :mm: ss.
toLowerCase (Метод)
Преобразует все символы строки к нижнему регистру.
stringName.toLowerCase()
 Применение: Результатом использования метода toLowerCase является вывод на экран строки символами нижнего регистра. Следует отметить, что реальное содержимое строки не изменяется.
top (Свойство)
Объект window высшего уровня.
top
top.frameName
top.frames[index]
 Применение Называемое также предком или окном броузера, свойство top ссылается на окно высшего уровня, содержащее кадры или наборы вложенных кадров.
toUpperCase (Метод)
Преобразует все символы строки к верхнему регистру.
stringName.toUpperCase()
 Применение: Несмотря на то что метод toUpperCase выводит на экран строку символами верхнего регистра, реальное содержимое строки не изменяется.
unescape (Метод)
Возвращает символ на основании кода ASCII.
unescape(string)
 Применение: Строка-аргумент может включать последовательности вида %ХХ, где XX - шестнадцатеричное представление кода символа (от 00 до FF). Например,
document.write (unescape ("%24 223.23"))
 выведет на экран строку $ 223.23.
userAgent (Свойство)
Заголовок, посылаемый как часть протокола HTTP от клиента к серверу для идентификации типа клиента.
navigator.userAgent
 Применение: Синтаксис возвращаемого значения такой же, как у свойства appVersion, дополненный кодовым именем приложения-броузера.
codename/releaseNumber (platform; country)
UTC (Метод)
Возвращает количество миллисекунд для даты на базе универсального координированного времени (UTC), прошедших с полуночи 1 января 1970 года.
Date.UTC(year, month, day [, hrs] [, min] [, sec])
 Применение: Метод UTC всегда вычисляется от одной и той же даты и поэтому всегда используется как Date.UTC(), а не с созданным заранее объектом. При указании значения для месяца не забывайте, что JavaScript нумерует месяцы от 0 до 11.
value (Свойство)
Возвращает значение объекта.
formName.buttonName.value
formName.resetName.value
formName.submit.value
formName.checkboxName.value
formName.radioName.value
formName.hiddenName.value
formName.textName.value
formName.textareaName.value
formName.selectName.value
formName.passwordName.value
forms[index].elements[index].value
 Применение: Значение объекта зависит от его типа.
vlinkColor (Свойство)
Возвращает или устанавливает цвет просмотренной гиперссылки.
document.vlinkColor
 Применение: Как и все свойства цвета, свойство vlinkCoior использует шестнадцатеричные триплеты RGB или строковые литералы. Это свойство не может быть установлено после того, как документ отформатирован. Для переопределения установок броузера настройка цветов выполняется в обработчике событий onLoad в теге <BODY>:
<BODY onLoad="document.vlinkColor='aliceblue' ">
window (Объект)
Наивысший объект в иерархии JavaScript, представляющий собой открытое окно броузера.
window
self
top
parent
windowName
propertyName
methodName(parameters)
 Применение: Объект window создается броузером во время загрузки страницы и содержит свойства, применяемые ко всему окну. Это объект высшего уровня для каждого из объектов document.location и history. Так как существование этого объекта подразумевается, вам не надо указывать имя окна, ссылаясь на o его объекты, свойства или методы. Например, следующие две строки приводят к одному и тому же результату (выводу сообщения в строке состояния):
status="Go away from here."
window.status="Go away from here."
window (Свойство)
Синоним текущего окна.
frameName.window
[windowHame.] window
 Применение: Свойство window используется для устранения неоднозначности при ссылках на объекты window и form с одинаковым именем. Хоть свойство window также относится к текущему кадру, для определенности лучше использовать свойство self.
write (Метод)
Записывает строку или несколько строк в окно документа.
document.write(string)
 Применение: Строки, записываемые в окно, могут включать в себя теги HTML и выражения JavaScript, включая числовые, строковые и логические выражения. Метод write не добавляет символ новой строки (<BR> или \n) в конце строки. Когда метод write вызывается из обработчика события, текущей документ очищается, если для вывода не создается новое окно.
writeln (Метод)
Записывает строку или несколько строк в окно документа и добавляет символ новой строки в конце вывода.
document.writeln(string)
 Применение: Подобно методу write, записываемые строки могут включать в себя теги HTML и выражения JavaScript, в том числе числовые, строковые и логические выражения. Когда метод writeln вызывается из обработчика события, текущей документ очищается, если для вывода не создается новое окно. HTML игнорирует символ новой строки, за исключением использования его внутри тега <PRE>.


Mali2

Отправка E-mail по списку
 Невыбор адреса получателя приводит к появлению ошибки!

Получатель:
Ваше имя:
Ваш Email:
Важность:
Тема:
Сообщение:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="mailer" METHOD="post" ACTION="" ENCTYPE="text/plain"
onSubmit="(document.mailer.action += mailtoandsubject)">

<!-- Original: Jeff Kieke -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<TABLE BORDER=0 bgcolor="#CCCCCC">
<TR VALIGN="top">
<TD>Получатель:</TD>
<TD><SELECT NAME="mailtoperson" onChange="msg(this.form)">
<OPTION VALUE="">-- Выбрать --
<OPTION VALUE="person1@yandex.ru">person1@yandex.ru
<OPTION VALUE="person2@yandex.ru">person2@yandex.ru
<OPTION VALUE="person3@yandex.ru">person3@yandex.ru
</SELECT></TD>
</TR>
<TR VALIGN="top">
<TD>Ваше имя:</TD>
<TD><INPUT TYPE="text" SIZE=35 NAME="name" onChange="msg(this.form)"></TD>
</TR>
<TR VALIGN="top">
<TD>Ваш Email:</TD>
<TD><INPUT TYPE="text" SIZE=35 NAME="email" onChange="msg(this.form)"></TD>
</TR>
<TR VALIGN="top">
<TD>Важность:</TD>
<TD>
<SELECT NAME="priority" onChange="msg(this.form)">
<OPTION VALUE="NaN" selected>Невыбрано
<OPTION VALUE="Normal">Обыное
<OPTION VALUE="Urgent">Важное
<OPTION VALUE="No Reply Needed">Не очень важное
</SELECT></TD>
</TR>
<TR VALIGN="top">
<TD>Тема:</TD>
<TD><INPUT TYPE="text" SIZE=35 NAME="subject" onChange="msg(this.form)"></TD>
</TR>
<TR VALIGN="top">
<TD>Сообщение:</TD>
<TD><TEXTAREA NAME="message" COLS=35 ROWS=5 WRAP="virtual" OnChange="msg(this.form)"></TEXTAREA></TD>
</TR>
<TR>
<TD> </TD>
<TD><INPUT TYPE="submit" VALUE="Отправить">
<INPUT TYPE="reset" VALUE="Сброс"></TD>
</TR>
</TABLE>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
function msg() {
document.mailer.action = "mailto:"
mailtoandsubject = ((document.mailer.mailtoperson.options[document.mailer.mailtoperson.selectedIndex].value) + '?subject=' + document.mailer.subject.value);
}
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form53

E-mail без загрузки клиента
В браузерах IE при использовании этого скрипта появляется угрожающего содержания pop-up - считайте, мол, Вам хана, если пошлете письмо незашифрованным! Может и вправду хана?

Ваше имя:

Тема:

Комментарии, вопросы, предложения, неработающие ссылки, что угодно! :

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCookie(name){
var cname = name + "=";
var dc = document.cookie;
if (dc.length > 0) {
begin = dc.indexOf(cname);
if (begin != -1) {
begin += cname.length;
end = dc.indexOf(";", begin);
if (end == -1) end = dc.length;
return unescape(dc.substring(begin, end));
}
}
var blank = "";
return blank;
}
function setCookie(name, value, expires) {
document.cookie = name + "=" + escape(value) +
((expires != null) ? "; expires=" + expires.toGMTString() : "")
+ "; path=/";
}
function setName() {
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
var prompt=i = document.Mail.name.value;
setCookie("name", i, expdate);
}
function getName() {
if(getCookie("name") != null) {
document.Mail.Name.value = getCookie("emailname");
}
}
function getInfo() {
var now= new Date();
document.Mail.Info.value = "Browser: " + navigator.userAgent;
document.Mail.Info.value += "Date:" + now;
}
function checkMultiple() {
if (getCookie("emailsent") == 'true') return true;
else return false;
}
function process() {
setCookie("emailsent", "true");
with (document.Mail) {
if (Subject.selectedIndex == 1) action = "mailto:eugenezz@yandex.ru?subject=JS Library - Комментарий";
else if (Subject.selectedIndex == 2) action = "mailto:eugenezz@yandex.ru?subject=JS Library - Вопрос";
else if (Subject.selectedIndex == 3) action = "mailto:eugenezz@yandex.ru?subject=JS Library - Предложение";
else if (Subject.selectedIndex == 4) action = "mailto:eugenezz@yandex.ru?subject=JS Library - Неработающие ссылки";
else action = "mailto:eugenezz@yandex.ru?subject=JS Library - Разное";
}
}
function formCheck() {
var passed = false;
with (document.Mail) {
if (Subject.selectedIndex == 0) {
alert("Пожалуйста, заполните поле \"Тема\".");
Subject.focus();
}
else if (Name.value == "") {
alert("Пожалуйста, заполните поле \"Ваше имя\".");
Name.focus();
}
else if (checkMultiple()) {
if (confirm("Вы только что отправили письмо из этой формы. Вы уверены, что хотите отправить еще одно?")) {
process();
passed = true;
}
}
else {
process();
passed = true;
}
}
return passed;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM NAME = "Mail" ACTION = "mailto:eugenezz@yandex.ru" METHOD = "POST" ENCTYPE = "text/plain" onSubmit="return formCheck();">
<INPUT TYPE = "hidden" SIZE = 0 NAME = "Info">
<TABLE BORDER = 0 CELLPADDING = 10 CELLSPACING = 0>
<TR><TD>
Ваше имя:
<INPUT TYPE = "text" NAME = "Name" onChange = "setName()">
</TD>
</FONT>
<TD ALIGN = RIGHT >
<font face="Times" size="3">Тема</font><font size="4" color="#FF0000"><FONT FACE = "Times" SIZE = 3>: <SELECT NAME = "Subject">
<OPTION SELECT>Выберите тему (Subject)</OPTION>
<OPTION>1. Комментарии</OPTION>
<OPTION>2. Вопросы</OPTION>
<OPTION>3. Предложения</OPTION>
<OPTION>4. Неработающие ссылки</OPTION>
<OPTION>5. Разное</OPTION>
</SELECT>
</font></font>
</TD></TR>

<TR>
<TD COLSPAN = 2>
Комментарии, вопросы, предложения, неработающие ссылки, что угодно! :
<BR><BR>
<TEXTAREA NAME = "Comments, Suggestions" COLS = 75 ROWS = 6>
</TEXTAREA>
</TD>
</TR>
</TABLE>

<CENTER>
<TABLE>
<TR>
<TD align=center>
<INPUT TYPE = "submit" VALUE = "Отправить">
</TD>
</TR>
</TABLE>
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
getInfo();
getName();
// End -->
</SCRIPT>
<p>
<BR>
</font>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC38

E-mail с заполненным полем subject

Email Me

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href ="mailto:eugenezz@yandex.ru?subject=Вышлите мне, пожалуйста, JS 1.0 &cc=eugzz@mail.ru">Email Me</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Email13

Форма заказа покупки онлайн
Скрипт не производит никаких проверок корректности вводимых данных. Если у вас нет доступа к CGI, то используйте приведенные в разделе "Email", а также в разделе "Безопасность и кодирование" этой справки, скрипты для определения корректности и полноты введенных данных, и которые вполне способны обезопасить Вас "от дурака".

Онлайновый каталог

Ф.И.О:
Email:
Код города и телефон:
Номер кредитной карты:
Окончание:
Отправить счет (кому, куда):
Отправить заказ (куда, кому):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
// Code by Greg Galloway 1997
//

function createArray(size) {
for (var i=0; i < size; i++) {
this[i] = null }
return this
}

function Product(descrip, money) {
this.description = descrip;
this.price = money;
}

function Category(name) {
this.title = name;
this.product = new createArray(1);
this.product[0] = new Product("Пожалуйста, выберите продукт", 0.00);
}

var category = new createArray(1);

// STEP NUMBER ONE
// enter the color for rows of the table
// (either javascript name or hex code)
color1 = "tan";
color2 = "khaki";

category[1] = new Category("ТЕХНИКА");
category[1].product[1] = new Product("Телевизор", 2550);
category[1].product[2] = new Product("Пылесос", 30);

category[2] = new Category("АЛКОГОЛЬНЫЕ НАПИТКИ");
category[2].product[1] = new Product("Шампанское", 15.50);
category[2].product[2] = new Product("Коньяк", 39.95);

category[3] = new Category("ПЕЧАТНЫЕ ИЗДАНИЯ");
category[3].product[1] = new Product("Газета", .99);
category[3].product[2] = new Product("Детектив", 5.23);

category[4] = new Category("ДЕЛИКАТЕСЫ");
category[4].product[1] = new Product("Икра (200гр)", 12);
category[4].product[2] = new Product("Икра (250гр)", 13);

// ***** NO NEED TO CHANGE ANY CODE AFTER THIS COMMENT ***

function SetLengths() {
var k=1;
while(category[k] != null)
k++
category.length = k;
for (i=1; i<category.length; i++) {
var j=1;
while (category[i].product[j] != null)
j++;
category[i].product.length = j;
}
}

SetLengths();

function writeTableRow(i) {
document.write('<tr bgcolor="' + ((i%2 == 0) ? color1 : color2) + '">');
document.write('<td>' + category[i].title.toUpperCase() + ':<br>'
+ '<select size="1" name="menu' + i + '" onChange="update(' + i + ')">');
len = category[i].product.length;
for (j=0; j<len; j++) {
if (j != 0)
document.write('<option>' + category[i].product[j].description
+ ' - $' + fix(category[i].product[j].price) + '</option>');
else
document.write('<option selected value=" ">Пожалуйста, выберите продукт</option>');
}
document.write('</select></td><td valign=bottom>'
+ '<input type="text" value="0.00" name="price' + i + '" '
+ 'size=12 maxlength=12 onFocus="document.form1.price' + i + '.blur()">'
+ '</td></tr>');
}

function writeTable() {
document.write('<table cellspacing=5 cellpadding=10 border=0>');
for (i=1; i<category.length; i++)
writeTableRow(i);
document.write('<tr bgcolor="' + ((category.length%2==0) ? color1 : color2)
+ '"><td align=right>ВСЕГО НА СУММУ: </td><td><input type="text" '
+ 'name="total" size=12 maxlength=12 value="0.00"></td></tr></table>');
}

function update(num) {
eval('selected = document.form1.menu' + num + '.selectedIndex;');
cost = fix(category[num].product[selected].price);
eval('document.form1.price' + num + '.value = cost;');
var grand_total = 0;
for (i=1; i<category.length; i++)
eval('grand_total += parseFloat(document.form1.price' + i + '.value);');
document.form1.total.value = fix(grand_total);
}

function fix(num) {
string = "" + num;
if (string.indexOf('.') == -1)
return string + '.00';
seperation = string.length - string.indexOf('.');
if (seperation > 3)
return string.substring(0,string.length-seperation+3);
else if (seperation == 2)
return string + '0';
return string;
}

function validate_form() {
validity = true;
if (document.form1.shopper_name.value == "") {
alert('Введите Ваше имя!');
validity = false;
}
if (document.form1.email.value == "") {
if (confirm("Вы будете вводить email адрес?"))
valid = false;
else
document.form1.email.value = 'email адрес не введен';
}
if (document.form1.phone.value == "") {
alert('Вы должны ввести номер Вашего телефона!');
validity = false;
}
if (document.form1.credit_card_number.value == "") {
alert('Вы должны ввести номер кредитной карты!');
validity = false;
} else if (document.form1.expiration_date.value == "") {
alert('Вы должны ввести дату окончания действия кредитной карты!');
validity = false;
}
if (document.form1.bill.value == "") {
alert('Введите адрес для отправки счета!');
validity = false;
} else if (document.form1.mail.value == "") {
if (!confirm("Отправлять заказ по томуже адресу, что и счета?"))
validity = false;
else
document.form1.mail.value = 'тот же, что и адрес для счета';
}
if (validity){
alert("Спасибо за заказ!");
return true;
}
else{
return false;
}
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table border=2 bgcolor="gray" align=center>
<tr><td align=center>
<font face="Arial, Helvetica, Geneva" size="+2" color="#FFFFFF"><b>Онлайновый
каталог</b></font>
<font size="3" color="#000000">
<br><br><!----БЕЛЫМ ЦВЕТОМ ВЫДЕЛЕН ВАШ АДРЕС--->
<form name="form1" method="post" action="mailto:nobody@nowhere.com ?SUBJECT=Заказ онлайн" enctype="text/plain" onsubmit="return validate_form()">
<script language="JavaScript">
writeTable();
</script>
<table cellspacing=0 cellpadding=5 bgcolor="tan">
<tr><td align=center>
Ф.И.О: <input type="text" name="shopper_name" size=44><br>
Email:&nbsp;&nbsp;&nbsp; <input type="text" size=44 name="email"><br>
Код города и телефон:&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" size="20" name="phone"><br>
Номер кредитной карты: <input type="text" size="20" name="credit_card_number">
<br>Окончание: <input type="text" size="5" maxlength="5" name="expiration_date">
</td></tr>
<tr><td align=center>
Отправить счет (кому, куда):<br>
<textarea wrap=virtual rows=5 cols=30 name="bill"></textarea>
</td></tr><tr><td align=center>
Отправить заказ (куда, кому):<br>
<textarea wrap=virtual rows=5 cols=30 name="mail"></textarea>
</td></tr>
</table><br>
<input type="submit" name="submit" value="Отправить заказ">&nbsp
<input type="reset" value="Сброс"><br>
</form>
</font>
</td></tr></table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Email13

Форма заказа покупки онлайн (с количеством)
Скрипт не производит никаких проверок корректности вводимых данных. Если у вас нет доступа к CGI, то используйте приведенные в разделе "Email", а также в разделе "Безопасность и кодирование" этой справки, скрипты для определения корректности и полноты введенных данных, и которые вполне способны обезопасить Вас "от дурака".

Онлайновый каталог

Ф.И.О:
Email:
Код города и телефон:
Номер кредитной карты:
Окончание:
Отправить счет (кому, куда):
Отправить заказ (куда, кому):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
// Code by Greg Galloway 1997

function createArray(size) {
for (var i=0; i < size; i++) {
this[i] = null }
return this
}

function Product(descrip, money) {
this.description = descrip;
this.price = money;
}

function Category(name) {
this.title = name;
this.product = new createArray(1);
this.product[0] = new Product("Пожалуйста, выберите продукт", 0.00);
}

var category = new createArray(1);

// STEP NUMBER ONE
// enter the color for rows of the table
// (either javascript name or hex code)
color1 = "tan";
color2 = "khaki";

category[1] = new Category("ТЕХНИКА");
category[1].product[1] = new Product("Телевизор", 2550);
category[1].product[2] = new Product("Пылесос", 30);

category[2] = new Category("АЛКОГОЛЬНЫЕ НАПИТКИ");
category[2].product[1] = new Product("Шампанское", 15.50);
category[2].product[2] = new Product("Коньяк", 39.95);

category[3] = new Category("ПЕЧАТНЫЕ ИЗДАНИЯ");
category[3].product[1] = new Product("Газета", .99);
category[3].product[2] = new Product("Детектив", 5.23);

category[4] = new Category("ДЕЛИКАТЕСЫ");
category[4].product[1] = new Product("Икра (200гр)", 12);
category[4].product[2] = new Product("Икра (250гр)", 13);

// ***** NO NEED TO CHANGE ANY CODE AFTER THIS COMMENT ***

function SetLengths() {
var k=1;
while(category[k] != null)
k++
category.length = k;
for (i=1; i<category.length; i++) {
var j=1;
while (category[i].product[j] != null)
j++;
category[i].product.length = j;
}
}

SetLengths();
function writeSelect(num) {
leng = 10;
options = new createArray(leng);
options[0] = 0;
options[1] = 1;
options[2] = 2;
options[3] = 3;
options[4] = 4;
options[5] = 5;
options[6] = 6;
options[7] = 7;
options[8] = 8;
options[9] = 9;

html_code = "";

html_code += 'quantity:<br><select size=1 name="quantity'+num+'" '
+ 'onChange="update(' + num + ')">';
for (o=0;o<leng;o++)
html_code += '<option value="'+options[o]+'"'
+ ((o==0) ? ' selected>':'>') + options[o];
html_code += '</select>';
return html_code;
}
function writeTableRow(i) {
document.write('<tr bgcolor="' + ((i%2 == 0) ? color1 : color2) + '">');
document.write('<td>' + category[i].title.toUpperCase() + ':<br>'
+ '<select size="1" name="menu' + i + '" onChange="update(' + i + ')">');
len = category[i].product.length;
for (j=0; j<len; j++) {
if (j != 0)
document.write('<option>' + category[i].product[j].description
+ ' - $' + fix(category[i].product[j].price) + '</option>');
else
document.write('<option selected value=" ">Пожалуйста, выберите продукт</option>');
}
document.write('</select></td><td valign=bottom>'
+ '<input type="text" value="0.00" name="price' + i + '" '
+ 'size=12 maxlength=12 onFocus="document.form1.price' + i + '.blur()">'
+ '</td><td valign=bottom>' + writeSelect(i) + '</td></tr>');
}

function writeTable() {
document.write('<table cellspacing=5 cellpadding=10 border=0>');
for (i=1; i<category.length; i++)
writeTableRow(i);
document.write('<tr bgcolor="' + ((category.length%2==0) ? color1 : color2)
+ '"><td align=right>ВСЕГО НА СУММУ: </td><td><input type="text" '
+ 'name="total" size=12 maxlength=12 value="0.00"></td></tr></table>');
}

function update(num) {
eval('selected = document.form1.menu' + num + '.selectedIndex;');
eval('q_selected = document.form1.quantity' + num + '.selectedIndex;');
eval('quant = document.form1.quantity' + num + '.options[q_selected].value;');
cost = fix(category[num].product[selected].price * quant);
eval('document.form1.price' + num + '.value = cost;');
var grand_total = 0;
for (i=1; i<category.length; i++)
eval('grand_total += parseFloat(document.form1.price' + i + '.value);');
document.form1.total.value = fix(grand_total);
}
function fix(num) {
string = "" + num;
if (string.indexOf('.') == -1)
return string + '.00';
seperation = string.length - string.indexOf('.');
if (seperation > 3)
return string.substring(0,string.length-seperation+3);
else if (seperation == 2)
return string + '0';
return string;
}

function validate_form() {
validity = true;
if (document.form1.shopper_name.value == "") {
alert('Введите Ваше имя!');
validity = false;
}
if (document.form1.email.value == "") {
if (confirm("Вы будете вводить email адрес?"))
valid = false;
else
document.form1.email.value = 'email адрес не введен';
}
if (document.form1.phone.value == "") {
alert('Вы должны ввести номер Вашего телефона!');
validity = false;
}
if (document.form1.credit_card_number.value == "") {
alert('Вы должны ввести номер кредитной карты!');
validity = false;
} else if (document.form1.expiration_date.value == "") {
alert('Вы должны ввести дату окончания действия кредитной карты!');
validity = false;
}
if (document.form1.bill.value == "") {
alert('Введите адрес для отправки счета!');
validity = false;
} else if (document.form1.mail.value == "") {
if (!confirm("Отправлять заказ по томуже адресу, что и счета?"))
validity = false;
else
document.form1.mail.value = 'тот же, что и адрес для счета';
}
if (validity){
alert("Спасибо за заказ!");
return true;
}
else{
return false;
}
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table border=2 bgcolor="gray" align=center>
<tr><td align=center>
<font face="Arial, Helvetica, Geneva" size="+2" color="#FFFFFF"><b>Онлайновый
каталог</b></font>
<font size="3" color="#000000">
<br><br><!----БЕЛЫМ ЦВЕТОМ ВЫДЕЛЕН ВАШ АДРЕС--->
<form name="form1" method="post" action="mailto:nobody@nowhere.com ?SUBJECT=Заказ онлайн" enctype="text/plain" onsubmit="return validate_form()">
<script language="JavaScript">
writeTable();
</script>
<table cellspacing=0 cellpadding=5 bgcolor="tan">
<tr><td align=center>
Ф.И.О: <input type="text" name="shopper_name" size=59><br>
Email:&nbsp;&nbsp;&nbsp; <input type="text" size=44 name="email">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
Код города и телефон:&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" size="20" name="phone"><br>
Номер кредитной карты: <input type="text" size="20" name="credit_card_number">
<br>Окончание: <input type="text" size="5" maxlength="5" name="expiration_date">&nbsp;&nbsp;&nbsp;&nbsp;
</td></tr>
<tr><td align=center>
Отправить счет (кому, куда):<br>
<textarea wrap=virtual rows=5 cols=40 name="bill"></textarea>
</td></tr><tr><td align=center>
Отправить заказ (куда, кому):<br>
<textarea wrap=virtual rows=5 cols=40 name="mail"></textarea>
</td></tr>
</table><br>
<input type="submit" name="submit" value="Отправить заказ">&nbsp
<input type="reset" value="Сброс"><br>
</form>
</font>
</td></tr></table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Email0

Защита "ящика" от роботов
Простейший способ защиты своего E-mail от роботов, которые шарят по сайтам и ВОРУЮТ почтовые адреса для спаммеров. Адрес, записанный JavaScript кодом абсолютно пригоден для посетителей и столь же затруднителен в добывании для роботов.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: CDR Software -->
<!-- Web Site: http://www.cdrsoft.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
user = "eugenezz";
site = "yandex.ru";

document.write('<a href=\"mailto:' + user + '@' + site + '\">');
document.write(user + '@' + site + '</a>');
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form5

Проверка корректности введенного e-mail адреса

(jhgjhoiuooiuoasd - неприятный почтовый адрес, не правда ли?)

Пожалуйста, введите Ваш e-mail:

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при неверном наборе адреса, после предупреждения, набранный до этого текст сбрасываться не будет. В данном примере скрипт адаптирован для работы в компилированной прграммое и не будет работать корректно если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--

/*Email Check script credit-Website Abstraction
*/

function emailcheck(cur)
{
var string1=cur.email.value
if (string1.indexOf("@")==-1)
{
alert("Пожалуйста, введите e-mail корректно!")
return false
}
}
//-->
</script>

</font>

<form onsubmit="return emailcheck(this)">
<font face="Arial" size="2" color="#000000">Пожалуйста, введите Ваш e-mail:</font>
<font size="4" color="#FF0000">
<br><input type="text" size="20" name="email">
<input type="submit" value="Применить!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form6

Проверка корректности введенного e-mail адреса 2
(усиленная проверка)

(asvwer@ddsd - неверный e-mail, хоть и с "собакой")

Пожалуйста, введите Ваш e-mail:

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при неверном наборе адреса , после предупреждения, набранный до этого текст сбрасываться не будет. В данном примере скрипт адаптирован для работы в компилированной прграммое и не будет работать корректно если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Advanced Email Check credit-
By Website Abstraction
*/

var testresults
function checkemail(){
var str=document.validation.emailcheck.value
var filter=/^.+@.+\..{2,3}$/
if (filter.test(str))
testresults=true
else{
alert("Пожалуйста, введите e-mail корректно!")
testresults=false
}
return (testresults)
}
</script>

<script>
function checkbae(){
if (document.layers||document.all)
return checkemail()
else
return true
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form39

Проверка корректности введенного E-mail (3)
 (тщательная проверка)

Ваш Email адрес:

(Не копируйте коды из источника!!! Они не будут работать на Ваших страницах.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="Javascript">
<!-- Changes: Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

/* 1.1.2: Fixed a bug where trailing . in e-mail address was passing
(the bug is actually in the weak regexp engine of the browser; I
simplified the regexps to make it work).
1.1.1: Removed restriction that countries must be preceded by a domain,
so abc@host.uk is now legal. However, there's still the
restriction that an address must end in a two or three letter
word.
1.1: Rewrote most of the function to conform more closely to RFC 822.
1.0: Original */

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function emailCheck (emailStr) {
/* The following pattern is used to check if the entered e-mail address
fits the user@domain format. It also is used to separate the username
from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
characters. We don't want to allow special characters in the address.
These characters include ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a
username or domainname. It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
which case, there are no rules about which characters are allowed
and which aren't; anything goes). E.g. "jiminy cricket"@disney.com
is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
rather than symbolic names. E.g. joe@[123.124.233.4] is a legal
e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
For example, in john.doe@somewhere.com, john and doe are words.
Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

/* Finally, let's start trying to figure out if the supplied address is
valid. */

/* Begin with the coarse pattern to simply break up user@domain into
different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
/* Too many/few @'s or something; basically, this address doesn't
even fit the general mould of a valid e-mail address. */
alert("Email адрес введен некорректно (проверьте @ и .'s)")
return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid
if (user.match(userPat)==null) {
// user is not valid
alert("Имя пользователя введено неверно или отсутствует.")
return false
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
// this is an IP address
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("IP адрес назначени неверный или отсутствует!")
return false
}
}
return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
alert("Неверно введено или отсутствует имя домена.")
return false
}

/* domain name seems valid, but now make sure that it ends in a
three-letter word (like com, edu, gov) or a two-letter word,
representing country (uk, nl), and that there's a hostname preceding
the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 ||
domArr[domArr.length-1].length>3) {
// the address must end in a two letter or three letter word.
alert("Адрес должен заканчиваться 3 буквами после точки для домена, или 2 буквами для страны.")
return false
}

// Make sure there's a host name preceding the domain.
if (len<2) {
var errStr="У адреса пропущено или отсутствует имя хостинга!"
alert(errStr)
return false
}

// If we've gotten this far, everything's valid!
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=emailform onsubmit="return emailCheck(this.email.value);">
Ваш Email адрес: <input type=text name="email"><br>
<input type=submit value="Применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form40

Проверка корректности введенного E-mail (4)
Это простая проверка, но совмещенная с WHOIS. То есть проверяется не просто синтаксис, но и реальность существования адреса! (Нужен online)

Email:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function stripEmail(Email){
var atsign = Email.substring(0,Email.lastIndexOf('@')+1);

var domain = Email.substring(atsign.length,Email.length+1);
var page = "http://www.networksolutions.com/cgi-bin/whois/whois?STRING=" + domain;

window.location=page;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<center>
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td><strong>Email: </strong></td>
<td><input type=text name=email value="spam@geocities.com"></td>
</tr>
<tr>
<td colspan=2 align=center>
<input type=button value="WHOIS Query" onClick="stripEmail(email.value)"></td>
</tr>
</table>
</center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form42

Проверка корректности введенных E-mail (5)
(МАССОВАЯ!)

Впечатайте в поле любое количество почтовых адресов с любыми ошибками! Затем кликните где-нибудь вне поля и посмотрите на результат в поле формы E-mail.

Emails:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function findEmailAddresses(StrObj) {
var separateEmailsBy = ", ";
var email = "<none>"; // if no match, use this
var emailsArray = StrObj.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
if (emailsArray) {
email = "";
for (var i = 0; i < emailsArray.length; i++) {
if (i != 0) email += separateEmailsBy;
email += emailsArray[i];
}
}
return email;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<textarea name=comments rows=10 cols=50 onBlur="this.form.email.value=findEmailAddresses(this.value);"></textarea>
<br>
Email: <input type=text name=email>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form9

Ссылка (кнопка) "Написать письмо"
(без использования CGI скрипта)

Написать другу
 Или кнопка

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
// This script found at the JavaScript Place

var mailsys="Netscape mail";

function mailsome1(){
who=prompt("Введите e-mail адрес Вашего друга: ","email@provider.com");
what=prompt("Введите в поле \"subject\": ","[no subject]");
if (confirm("Вы уверены, что хотите отправить письмо "+who+" с \"subject\" "+what+"?")==true){
parent.location.href='mailto:'+who+'?subject='+what+'';
}
}
</script><a href='javascript:mailsome1()'>Написать другу</a><BR>
</font>
<font size="1" color="#000000" face="Arial">
Или кнопка</font>
<font size="4" color="#FF0000">
<form>
<p align="center">
<input type=button value="Написать письмо!" onClick="mailsome1()" style="font-size: 8pt; font-family: Arial">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form67

JavaScript "обратная связь"
 Форма руссифицирована. Для работы на англоязычных сайтах, кроме изменения содержания alerts, необходимо также заменить выделенные белым буквы русского алфавита а, я, А, Я на a, z, A, Z английского алфавита соответственно.

Ваше имя:
Браузер/Версия:
Ваше предложение(я):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function leaptoIntro() {
window.location="home.htm"
}
function About() {
alert("\nУ Вас есть предложение по поводу JavaScript Library?\n\nЗаполните форму и отправьте ее. Я посмотрю, что можно сделать.\n\nПожалуйста, будьте предельно конкретны.");
document.forms[0].elements[1].focus();
}
function Reset() {
document.forms[0].elements[1].value = "";
document.forms[0].elements[2].value = navigator.appName + " " + navigator.appVersion;
document.forms[0].elements[3].value = "";
document.forms[0].elements[1].focus();
}
function submitForm() {
if ( (isName() ) && (isBrowser()) && (isSuggestion()) ) {
if (confirm("\nВаша форма готова к отправке.\n\nНажмите ОК, чтобы отправить.\n\nНажмите NO, чтобы отменить."))
return true
else
return false;
}
else
return false;
}
function isName() {
var str = document.forms[0].elements[1].value;
if (str == "") {
alert("\nПоле \"Имя\" не заполнено.\n\nПожалуйста, введите свое имя.")
document.forms[0].elements[1].focus();
return false;
}
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i + 1);
if (((ch < "а" || "я" < ch) && (ch < "А" || "Я" < ch)) && ch != ' ') {
alert("\nПоле \"Имя\" должно содержать только буквы.\n\nПожалуйста, введите Ваше имя еще раз.");
document.forms[0].elements[1].select();
document.forms[0].elements[1].focus();
return false;
}
}
return true;
}
function isBrowser() {
if (document.forms[0].elements[2].value != navigator.appName + " " + navigator.appVersion) {
if (confirm("\nВы изменили тип Вашего браузера.\n\nНажмите
      OK, чтобы оставить изменения.\n\nНажмите NO для восстановления автоматически полученных данных."))
return true
else
{
document.forms[0].elements[2].value = navigator.appName + " " + navigator.appVersion;
return true;
}
}
else
return true;
}
function isSuggestion() {
var str = document.forms[0].elements[3].value;
if (str == "") {
alert("\nПоле \"Предложение\" не заполнено.\n\nПожалуйста, напишите свое предложение.")
document.forms[0].elements[3].focus();
return false;
}
else
return true
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="Reset()">

<CENTER>
<FORM ENCTYPE="text/plain" NAME="test" METHOD='POST' ACTION='mailto:you@yourdomain.com?subject=JS Suggestions' onSubmit="return submitForm()">
<INPUT TYPE="hidden" NAME="form1" VALUE="JS Suggestions">
<TABLE BORDER=0 WIDTH=564>
<TR>
<TD align="center"> <strong>Ваше имя</strong><FONT><STRONG>:</STRONG></FONT>
<TD align="center"> <strong>Браузер</strong><FONT> <STRONG>/Версия:</STRONG></FONT>
</TR>
<TR>
<TD align="center"> <INPUT TYPE="text" NAME="name" SIZE=26 MAXLENGTH=40>
<TD align="center"> <INPUT TYPE="text" NAME="browser" SIZE=26 MAXLENGTH=40>
</TR>
</TABLE>
<BR>
<TABLE BORDER=0>
<TR>
<TD align="center"> <strong>Ваше предложение</strong><FONT> <STRONG>(я):</STRONG></FONT>
</TR>
<TR>
<TD align="center"><TEXTAREA NAME="suggestions" ROWS=2 COLS=55 wrap=yes></TEXTAREA>
</TR>
</TABLE>
<BR><BR>
<TABLE BORDER=0 WIDTH=300>
<TR>
<TD align="center"><INPUT TYPE="submit" VALUE="Отправить">
<TD align="center"><INPUT TYPE="reset" VALUE="Сброс" onClick="Reset()">
<TD align="center"><INPUT TYPE="button" VALUE="About" onClick="About()">
<TD align="center"><INPUT NAME="update" TYPE="BUTTON" VALUE="Закрыть" OnClick="leaptoIntro()">
</TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form74

JavaScript "обратная связь" 2
Во второй вариант feedback ключен также вебсайт отправителя и проверка правильности заполнения полей E-mail и http://. Последний можно отключить из системы проверки, удалив из скрипта выделенную белым цветом часть (см. первую таблицу)

Имя:
E-mail:
Вебсайт:
Комментарий:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkFields() {
missinginfo = "";
if (document.form.name.value == "") {
missinginfo += "\n - Имя";
}
if ((document.form.from.value == "") ||
(document.form.from.value.indexOf('@') == -1) ||
(document.form.from.value.indexOf('.') == -1)) {
missinginfo += "\n - Email адрес";
}
 if ((document.form.website.value == "") ||
(document.form.website.value.indexOf("http://") == -1) ||
(document.form.website.value.indexOf(".") == -1)) {
missinginfo += "\n - Вебсайт";
}
if(document.form.comments.value == "") {
missinginfo += "\n - Комментарий";
}

if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"Вы ошиблись в заполнении или не заполнили следующие поля:\n" +
missinginfo + "\n_____________________________" +
"\nПожалуйста, заполните правильно и нажмите кнопку \"Отправить!\"!";
alert(missinginfo);
return false;
}
else return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form ENCTYPE="text/plain" NAME="form" METHOD='POST'
ACTION='mailto:eugenezz@yandex.ru?subject=JS Library Предложения' onSubmit="return checkFields();">
<input type=hidden name=subject value="JS Library Предложения">

Имя:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type=text name="name" size=30><BR>

E-mail:&nbsp;&nbsp;&nbsp;&nbsp; <input type=text name="from" size=30><BR>

Вебсайт: <input type=text value="http://" name="website" size=30><BR>

Комментарий: <BR>

<textarea rows=3 cols=35 name="comments"></textarea><BR>

<input type=submit value="Отправить!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Email12

Почтовая форма с картой (Гостевая книга)
В этой форме абсолютно отсутствует какая-либо проверка на корректность вводимых данных. Но объедините эту великолепную форму с любым из скриптов на корректность, представленных в разделе EMAIL этой справки, и Вы получите едва ли не самую оригинальную на сегодняшний день почтовую форму!

E-Mail Me!
Ваше имя:
Ваш E-mail:
Ваш сайт (если есть):
Откуда Вы?
Кликните по Вашему региону.
Комментарии:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="javascript">
<!--
function country(value) {
document.world.country.value=value;
}
// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<MAP name="world"><AREA shape="polygon"
coords="42,65,40,52,52,41,52,27,22,34,43,19,68,11,145,4,130,42,85,78,64,77,59,70,56,70,54,67,48,67,43,63"
href="javascript:country('Северная Америка')" onMouseOver="window.status='Северная Америка'; return
true" onMouseOut="window.status='';return true">
<AREA shape="polygon" coords="41,62,40,82,62,107,81,109,83,105,72,80,61,77,58,71,51,68,41,64"
href="javascript:country('Мексика и Центральная Америка')"
onMouseOver="window.status='Мексика и Центральная Америка'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="81,108,92,96,115,108,140,135,131,172,118,196,126,214,118,218,95,194,90,156,73,131,83,106"
href="javascript:country('Южная Америка')" onMouseOver="window.status='Южная Америка'; return
true" onMouseOut="window.status=''; return true"><AREA
shape="polygon" coords="72,78,89,77,106,78,114,103,109,104,92,94,82,98,72,78,80,77"
href="javascript:country('Карибские острова')" onMouseOver="window.status='Карибские острова'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="170,111,159,95,167,68,188,58,200,59,207,65,227,68,233,82,243,98,255,103,246,125,240,126,239,117,236,114,226,115,217,112,205,120,197,118,185,113,172,117,170,111"
href="javascript:country('Северная Африка')" onMouseOver="window.status='Северная Африка'; return
true" onMouseOut="window.status=''; return true"><AREA
shape="polygon"
coords="196,119,196,129,201,139,199,163,208,186,228,179,250,165,253,144,240,127,238,117,227,115,218,113,202,119,195,118"
href="javascript:country('Южная Африка')" onMouseOver="window.status='Южная Африка'; return
true" onMouseOut="window.status=''; return true"><AREA
shape="polygon"
coords="179,61,173,54,179,43,177,28,190,24,191,32,211,31,214,36,215,39,221,45,218,57,212,59,202,60,186,58,180,62"
href="javascript:country('Европа')" onMouseOver="window.status='Европа'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="217,62,224,50,241,52,247,59,258,57,261,59,272,58,274,65,264,77,260,91,246,99,239,91,226,67,219,59"
href="javascript:country('Юго-Западная Азия, Ближний Восток')"
onMouseOver="window.status='Юго-Западная Азия, Ближний Восток'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="232,49,220,44,213,30,234,16,232,12,264,4,328,13,350,14,357,22,350,26,359,38,354,41,340,26,327,27,329,31,341,36,338,50,330,40,315,35,314,39,290,38,280,41,275,56,262,59,248,58,240,51,232,49"
href="javascript:country('Страны СНГ')"
onMouseOver="window.status='Страны СНГ'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="275,56,282,42,298,37,310,40,317,33,339,45,342,61,335,84,323,85,313,84,305,71,300,76,282,66,276,57"
href="javascript:country('Восточная Азия, Китай')" onMouseOver="window.status='Восточная Азия, Китай';
return true" onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="211,31,217,22,218,14,205,13,192,25,192,32,212,29"
href="javascript:country('Скандинавия')" onMouseOver="window.status='Скандинавия'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="232,16,218,13,213,30,233,17" href="javascript:country('Страны СНГ')"
onMouseOver="window.status='Страны СНГ'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="264,79,274,63,273,57,282,64,298,73,307,73,302,85,294,115,278,101,264,78"
href="javascript:country('Южная Азия, Индия')" onMouseOver="window.status='Южная Азия, Индия';
return true" onMouseOut="window.status=''; return true"><AREA
shape="polygon"
coords="302,86,317,134,341,143,359,141,371,139,374,122,344,84,314,84,308,76,302,87"
href="javascript:country('Юго-Восточная Азия; Северная Океания')"
onMouseOver="window.status='Юго-Восточная Азия; Северная Океания'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="342,142,318,173,329,193,375,208,399,198,398,124,374,126,371,139,339,144"
href="javascript:country('Австралия, Океания')"
onMouseOver="window.status='Австралия , Океания'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="81,236,141,221,160,229,313,222,335,234,306,243,99,243,79,236"
href="javascript:country('Антарктика')" onMouseOver="window.status='Антарктика'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="18,33,0,48,2,200,50,230,79,238,117,217,94,194,89,154,73,128,80,109,61,107,38,80,41,64,40,50,50,42,50,29,18,35,0,47"
href="javascript:country('Тихоокеанский регион, Гаваи')"
onMouseOver="window.status='Тихоокеанский регион, Гаваи'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="145,3,145,27,182,13,241,9,262,3,144,3" href="javascript:country('Арктика')"
onMouseOver="window.status='Арктика'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="144,9,146,25,194,12,204,13,193,23,175,28,178,40,173,55,176,60,165,72,159,97,172,116,194,118,199,145,199,165,210,186,208,224,203,226,160,230,137,219,124,214,118,196,133,167,140,133,110,103,106,78,90,76,132,40,143,9,146,26"
href="javascript:country('Атлантика')" onMouseOver="window.status='Атлантика'; return
true" onMouseOut="window.status=''; return true"><AREA
shape="polygon" coords="342,35,359,46,356,66,343,70,341,64,341,44,343,37"
href="javascript:country('Япония')" onMouseOver="window.status='Япония'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="210,187,208,227,312,222,337,234,384,216,395,201,369,208,326,193,317,170,340,144,315,131,302,87,294,114,277,100,263,79,260,95,246,99,256,103,247,125,240,126,255,146,250,168,209,186,209,224"
href="javascript:country('Индийский океан')" onMouseOver="window.status='Индийский океан'; return true"
onMouseOut="window.status=''; return true"><AREA shape="polygon"
coords="335,83,341,69,357,65,359,45,356,35,353,25,362,19,398,38,397,121,374,125,374,120,344,85,335,83,341,69"
href="javascript:country('Тихоокеанский регион')" onMouseOver="window.status='Тихоокеанский регион'; return
true" onMouseOut="window.status=''; return true"><AREA
shape="default" nohref></MAP>
<p align="center"><font color="#FF0000" size="5">О</font><b><font size="4" color="#FF0000"><BR></font></b>
<font size="3" color="#000000">
<p align="center">
<CENTER><U><FONT SIZE=+3>E-Mail Me!</FONT></U></CENTER>

<CENTER><FORM ENCTYPE="text/plain" NAME="world"
ACTION="mailto:eugenezz@yandex.ru?subject=Почтовая карта" METHOD="POST"></CENTER>

</font><CENTER><font size="+1" color="#000000">Ваше имя</font><font size="3" color="#000000"><FONT SIZE=+1>:</FONT></CENTER>

<CENTER><INPUT TYPE="text" name="name" size="50"></CENTER>

</font><CENTER><font size="+1" color="#000000">Ваш</font><font size="3" color="#000000"><FONT SIZE=+1>
E-mail:</FONT></CENTER>

<CENTER><INPUT TYPE="text" name="e-mail" size="50"></CENTER>

</font><CENTER><font size="+1" color="#000000">Ваш сайт (если
есть)</font><font size="3" color="#000000"><FONT SIZE=+1>:</FONT></CENTER>

<CENTER><INPUT TYPE="text" name="home page" value="http://" size="50"></CENTER>

</font><CENTER><font size="+1" color="#000000">Откуда Вы</font><font size="3" color="#000000"><FONT SIZE=+1>?</FONT></CENTER>

<CENTER>Кликните по Вашему региону.</CENTER>

<CENTER><IMG USEMAP="#world" SRC="worldEmail.gif" BORDER=5 HEIGHT=244 WIDTH=400></CENTER>

<CENTER><INPUT TYPE="text" name="country" size="50"></CENTER>

</font><CENTER><font size="+1" color="#000000">Комментарии</font><font size="3" color="#000000"><FONT SIZE=+1>:</FONT></CENTER>

<CENTER><TEXTAREA name="comments" wrap="virtual" rows=6 cols=48></TEXTAREA></CENTER>

<CENTER><INPUT TYPE="submit" VALUE="Отправить"><INPUT TYPE="reset"
VALUE="Сброс"></FORM></CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере: map.zip


Mail1

Список рассылки новостей

Присоединяйтесь к нашей рассылке новостей!
Ваш Email:
Имя:
Фамилия:
Адрес:
Город:
Страна:
Почт. индекс:

( Не копируйте код из источника! На Ваших страницах он работать не будет.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function resetform() {
document.forms[0].elements[1]=="";
}
function submitForms() {
if (isEmail() && isFname() && isLname() && isAddress() && isCity() && isState() && isZip())
if (confirm("\n Вы действительно хотите подписаться на рассылку?. \n\nДа (согласен). NO (не согласен)."))
{
alert("\nВаша заявка сейчас будет послана. \n\n Используйте кнопку \"Назад\", чтобы вернуться на главную страницу.\n\n\n Спасибо, что подписались на нашу рассылку новостей!");
return true;
}
else
{
alert("\n Вы выбрали отмену заявки на подписку.");
return false
}
else
return false;
}
function isEmail() {
if (document.forms[0].elements[1].value == "") {
alert ("\n Поле E-Mail не заполнено. \n\n Пожалуйста, введите Ваш E-Mail адрес.")
document.forms[0].elements[1].focus();
return false;
}
if (document.forms[0].elements[1].value.indexOf ('@',0) == -1 ||
document.forms[0].elements[1].value.indexOf ('.',0) == -1) {
alert ("\n В поле адреса E-Mail должны присутствовать \"@\" и \".\. \n\nПожалуйста, введите Ваш E-Mail адрес еще раз.")
document.forms[0].elements[1].select();
document.forms[0].elements[1].focus();
return false;
}
return true;
}
function isFname() {
if (document.forms[0].elements[2].value == "")
{
alert ("\n Поле \"Имя\" не заполнено. \n\n Пожалуйста, сообщите нам свое имя.")
document.forms[0].elements[2].focus();
return false;
}
return true;
}
function isLname() {
if (document.forms[0].elements[3].value == "") {
alert ("\n Поле \"Фамилия\" не заполнено. \n\n Пожалуйста, сообщите нам свою фамилию.")
document.forms[0].elements[3].focus();
return false;
}
return true;
}
function isAddress() {
if (document.forms[0].elements[4].value == "") {
alert ("\n Поле \"Адрес\" не заполнено. \n\n Пожалуйста, сообщите нам свой адрес.")
document.forms[0].elements[4].focus();
return false;
}
return true;
}
function isCity()
{
if (document.forms[0].elements[5].value == "")
{
alert ("\n Поле \"Город\" не заполнено. \n\n Пожалуйста, сообщите нам название Вашего Города.")
document.forms[0].elements[5].focus();
return false;
}
return true;
}
function isState() {
if (document.forms[0].elements[6].value == "") {
alert ("\n Поле \"Страна\" не заполнено. \n\n Пожалуйста, сообщите нам в какой стране Вы живете.")
document.forms[0].elements[6].focus();
return false;
}
return true;
}
function isZip() {
if (document.forms[0].elements[7].value == "") {
alert ("\n Поле \"Почтовый индекс\" не заполнено. \n\n Пожалуйста, сообщите нам свой почтовый индекс..")
document.forms[0].elements[7].focus();
return false;
}
return true;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

</TABLE>
<font size="4" color="#FF0000">
<input type="hidden" name="Form" value="Submit Sub">
<TABLE border=3 cellspacing=0 cellpadding=2 bgcolor="#C0C0C0">
<tr valign=baseline>
<TD>
<font face="arial">Ваш Email:</font>
</TD>
<TD>
<input type=text name="Email Address" size=35,1 maxlength=80>
</TD>
</tr>
<tr>
<TD>
<font face="arial">Имя:</font>
</TD>
<TD>
<input type=text name="First Name" size=35,1 maxlength=80>
</TD></tr>
<tr>
<TD>
<font face="arial">Фамилия:</font>
</TD>
<TD>
<input type=text name="Last Name" size=35,1 maxlength=80>
</TD></tr>
<tr>
<TD>
<font face="arial">Адрес:</font>
</TD>
<TD>
<input type=text name="Address" size=35,1 maxlength=80>
</TD></tr>
<tr>
<TD>
<font face="arial">Город:</font>
</TD>
<TD>
<input type=text name="City" size=35,1 maxlength=80>
</TD></tr>
<tr>
<TD>
<font face="arial">Страна:</font>
</TD>
<TD>
<input type=text name="State" size=19 maxlength=25>
</TD></tr>
<tr>
<TD>
<font face="arial">Почт. индекс:</font>
</TD>
<TD>
<input type=text name="Zip" size=20,1 maxlength=35>
</TD></tr></TABLE>
<br>
<center>
<input type="submit" value="Применить">
<input type="button" value="Назад" onclick="window.location='home.htm'">
<input type="reset" value="Сброс" onclick=resetform()>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Email11

Регистратор
(читайте авторское описание)

(обязательные условия применения скрипта см. внизу страницы)

=======================================================================

JAVA/SCRIPTS - Регистратор

=======================================================================
версия :: 1.3
название :: Регистратор
дата :: 21.01.2000
размер :: 10kb
автор :: Deto
url :: http://js.hotmail.ru/ftp/s3.txt
zip :: http://js.hotmail.ru/ftp/s3.zip
=======================================================================
=== Принцип работы ====================================================
=======================================================================

Перед посетителем появляется анкета. Он её заполняет и нажимает кнопку.
Затем открываеться его почтовая программа и предлагает ему отослать уже
готовое письмо. Посетителю остаеться только нажать кнопку "послать", и
вся информация придет вам по почте.

=== Достоинства ===
* очень удобно
* надежно
* легкое администрированние

=== Ложка дёгтя в бочке меда ===
* открытие почтовой программы
но поверьте, посетители этого не бояться!

=======================================================================
=== Пример ============================================================
=======================================================================

Этот скрипт используеться на:
http://sq.hotmail.ru/
http://js.hotmail.ru/links.htm

=======================================================================
=== Установка скрипта =================================================
=======================================================================

=== ШАГ НОМЕР 1 ===

Вставьте форму-анкету в любое место тега <body></body>:

<!-- Registrator 1.3 FORM --><form name=fMem><!-- Script written
by Deto Freeman, find more FREE screpts @ www.js.hotmail.ru -->
Ваше имя:<br><input type="text" name="tMemNm"><p>
Ваш e-mail:<br><input type="text" name="tMemMl"><p>
Ваш адрес:<br><input type="text" name=tMemAd><p>
Комментарии:<br><input type="text" name="tMemCm"><p>
<input type="button" value=" OK " onClick="goSend()"></form>
<!-- Registrator 1.3 FORM END -->

Примечания:
* отформатируйте текст по своему вкусу (вставьте перед формой тег <font>)
* вы можете изменить запрашиваемые данные (к примеру, вместо "Ваш адрес"
написать "Возраст")

=== ШАГ НОМЕР 2 ===

Поместите в любое место тегов <head></head> или <body></body> код скрипта:

<!-- Registrator 1.3 SCRIPT --><script language="JavaScript">// script written by Deto Freeman
// find more Java Scripts @ www.js.hotmail.ru
function goSend() {
top.location.href="mailto:!!!ВАШ_Е_MAIL!!!?subject=ОТПРАВЬТЕ ЭТО ПИСЬМО ПРЯМО СЕЙЧАС. Name=" + document.fMem.tMemNm.value + ",Mail=" + document.fMem.tMemMl.value + ",Ad=" + document.fMem.tMemAd.value + ",Comments=" + document.fMem.tMemCm.value + ",ok(075765)";
}</script><!-- Registrator 1.3 SCRIPT END -->

Вместо !!!ВАШ_Е_MAIL!!! вставьте ваш e-mail адрес.

=======================================================================
=== Заключительный шаг ================================================
=======================================================================

ВНИМАНИЕ! На всех страницах, к которым имеет отношение этот скрипт, вы
должны разместить один из нижепреведенных кодов:
1) Наш маленький баннер

<!-- JAVA SCRIPTS mini banner -->
<a href="http://js.hotmail.ru/" target="_blank"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - коллекция лучших Java скриптов - скрипт поисковой системы, регистратора, парольера..." border=0 height=31 width=88></a>

2) Текстовая ссылка (параметры текста менять запрешенно!)

<!-- JAVA SCRIPTS textlink 1 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Мы пользуемся скриптами с сайта Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 2 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Самые лучшие бесплатные Java скрипты на сайте Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 3 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Поисковая система на вашем сайте - это просто!</a></font>

1) Маленький баннер нашего спонсора
ТОЛЬКО ЕСЛИ У ВАС САЙТ НА МУЗЫКАЛЬНУЮ ИЛИ ОКОЛОМУЗЫКАЛЬНУЮ ТЕМУ

<!-- SoniqueRu mini banner -->
<a href="http://sq.hotmail.ru/" target="_blank"><img src="http://sq.hotmail.ru/bm.gif" alt="SonqiueRu - самый лучший компьютерный mp3 плеер! БЕСПЛАТНАЯ ФУТБОЛКА ДЛЯ ФЭНОВ!" border=0 height=31 width=88></a>

=======================================================================

www.sq.hotmail.ru :: olkhset@online.ru
www.js.hotmail.ru :: Deto Freeman

=======================================================================

Установка "Регистратора" разрешена авторами только при условии размещения на странице со скриптом ссылки на сайт авторов в виде "кнопочки". Установить кнопку очень просто. Достаточно поместить следующий html код в вашу www страницу:
<a href="http://js.hotmail.ru/"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - лучшие java скрипты!" height=31 width=88></a>

В итоге у вас появиться вот такая кнопочка:

Или вы можете поставить кнопку наших друзей:

<a href="http://sq.hotmail.ru/"><img src="http://sq.hotmail.ru/bm.gif" alt="Sonique - лучший mp3 плейер! Теперь на русском! Куча скинов и плаг-инов!" height=31 width=88></a>

Если вы пользуетесь "автоматическим" редактором www страниц, без физического контакта с html кодом, вам достаточно вставить картинку, где её адресом служила бы строка "http://js.hotmail.ru/bm.gif", а затем поставить на неё ссылку на "http://js.hotmail.ru/".


User7

Получение уведомления о посещении Вашего сайта
 (без ведома посетителя)

К сожалению (к счастью?), последние версии браузеров не позволят этому скрипту незаметно отправить сообщение. Обязательно появится pop-up окно со "страшными глазами" уверяющее, что Вас определенно хотят кинуть... Чтобы реально осуществить подобную процедуру нужен не JavaScript код, а Java апплет как минимум, да плюс Ваш сервер должен быть еще и почтовым. Впрочем, если мило попросить посетителя нажать кнопочку... - см. описание более "демократичного варианта ниже на странице.

Нажмите, пожалуйста, кнопку, чтобы я знал, что Вы здесь побывали.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var startTime = new Date();
startTime = startTime.getTime();
var submissions = 0;

function checkForDuplicate() {
if (document.form1) {
document.form1.REFERRER.value = document.referrer;
document.form1.PLATFORM.value = navigator.appName
+ " " + navigator.appVersion;
submissions++;
if (submissions > 1)
return false;
else
return true;
}
else {
return false;
}
}
function doneLoading() {
var stopTime = new Date();
stopTime = stopTime.getTime();
document.form1.LOADING_TIME.value = ((stopTime - startTime) / 1000)
+ " seconds";
document.form1.PAGE.value = document.title;
document.form1.SUBMITTER.click();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="doneLoading()">

<FORM name="form1" METHOD=post action="mailto:eugenezz@yandex.ru?SUBJECT=Devious Visitor Monitor" enctype="text/plain" onSubmit="return checkForDuplicate()">
<p align="center">
<input type="hidden" name="PAGE" value="none">
<input type="hidden" name="REFERRER" value="none">
<input type="hidden" name="PLATFORM" value="none">
<input type="hidden" name="LOADING_TIME" value="none"></font><font size="2" color="#F00000">Нажмите,
пожалуйста, кнопку, чтобы я знал, что Вы
здесь побывали.</font><font size="4" color="#FF0000">
<p align="center">
<input type="submit" name="SUBMITTER" value="Привет!" style="font-size: 8pt">
</p>
</form>

<!-- Измените e-mail адрес на свой. =-) -->

Более "демократичная" форма

В этой форме ничего не произойдет без ведома посетителя. Ему будет предложено кликнуть по линку для автоматической отправки сообщения о посещении. Причем предупреждение браузера появится так или иначе. К тому же, если это не сделает браузер, любая антивирусная программа заблокирует отправку, вызванную программными средствами без поддтверждения пользователя.

Пример см. под таблицами.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var startTime = new Date();
startTime = startTime.getTime();
var submissions = 0;

function donePress() {
var stopTime = new Date();
stopTime = stopTime.getTime();
document.form1.LOADING_TIME.value = ((stopTime - startTime) / 1000)
+ " seconds";
document.form1.PAGE.value = document.title;
document.form1.SUBMITTER.click();
}
// End post-->
// ClearText
function clearText(thefield){
if (thefield.defaultValue== thefield.value)
thefield.value = "Спасибо!"
}
function clearText2(thefield){
if (thefield.defaultValue== thefield.value)
thefield.value = ""
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <FORM name="form1" METHOD=post action="mailto:eugenezz@yandex.ru?SUBJECT=Devious Visitor Monitor" enctype="text/plain"
onSubmit="donePress(); clearText(Please); clearText2(SUBMITTER)">
<p align="center">
<input type="hidden" name="PAGE" value="none">
<input type="hidden" name="REFERRER" value="none">
<input type="hidden" name="PLATFORM" value="none">
<input type="hidden" name="LOADING_TIME" value="none">
<input type="text" name="Please" style="font-size: 8pt; font-family: Arial; color: #F00000; border-style: solid;
 background-color: #C0C0C0;  border-width: 0" value="Кликните, пожалуйста, по линку, чтобы я знал, что Вы здесь побывали." size="69">
<p align="center">
<input type="submit" name="SUBMITTER" value="Привет!" style="font-size: 8pt; border-style: solid; border-width: 0; color: blue">
</p>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Измените выделенный белым hex на цвет фона Вашей страницы.


Cookie4

ID tracker

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Автоматическое определяет ID зарегистрированного пользователя. То есть, обнаружив ID на Вашем компьютере, Вам уже не будет навязчиво предлагаться зарегистрироваться, и допуск Вы будете иметь соответствующий, в зависимости от того, где и для чего Вы регистрировались.

Ваш ID: (обычно эта форма является скрытой, но для примера я сделал ее видимой в виде поля формы, в котором Вы можете видеть сообщение о том, что у Вас ID нет. )

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function readID() {
var expDays = 365; // количество дней которое cookies должны оставаться
var expDate = new Date();
expDate.setTime(expDate.getTime() + (24 * 60 * 60 * 1000 * expDays));
var id = GetCookie('id');
if (id == null || id == "no id") {
if (location.search.length > 1) id = location.search.substring(1, location.search.length);
else id = "no id";
if (id != GetCookie('id')) SetCookie('id', id, expDate);
}

// You can change the FORM location below
// where the referral ID is stored on your page
// You then access this element to get the ID
document.idform.id.value = id;

}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="readID()">

<form name=idform>
Ваш ID:<input type=hidden name=id>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie11

Дата создания и последнего обновления сайта

Сайт создан: Апрель 18, 2001

Скрипт не может работать корректно из файла справки. Обращение к Cookie средствами JavaScript из файла справки невозможно.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<!-- Original: http://www.jwp.bc.ca/saulm/html/bornon.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<TABLE border=2 cellspacing=0 cellpadding=3>
<TR><TD bgcolor="#000044">
<FONT color="#4400ff" face=georgia,arial size=+1>
<CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write(document.title);
//-->
</SCRIPT>
</TD></TR>
<TR><TD bgcolor="#440000">
<FONT size=-1 color="#ff0000" face="trebuchet MS","arial">
<FONT color="#ff8800">Сайт создан:</font>

<!-- Здесь поместите дату создания Вашего сайта -->

Апрель 18, 2001

<BR>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie(name) {
var exp = new Date();
FixCookieDate (exp);
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
if (cval != null)
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var cookie_date=new Date(document.lastModified);
var expdate = new Date();
expdate.setTime(expdate.getTime()+(5*24*60*60*1000));
document.write("<Font color=ff8800>" + "Дата и время последнего обновления: "+ "</font>" +document.lastModified);
document.write("");
if (!(cookie_date == GetCookie("cookie_date"))){
SetCookie("cookie_date",cookie_date,expdate);
document.write("<font color='yellow'><br>Сайт обновлялся после Вашего последнего посещения!</font><br>");
}
// End -->
</SCRIPT>
</FONT>
</TD></TR>
</TABLE>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie1

Добавить в "Избранное" 2
("Добавить в "Избранное" 1" Вы можете найти в разделе "Разное")

К сожалению, этот скрипт не может работать из файла справки. Но на обычных HTML страницах никаких проблем не возникнет. В отличие от простого скрипта "Добавить в "Избранное" 1", этот скрипт не предлагает добавление страницы в "Избранное" тем, кто уже это сделал, равно как и тем, кто отказался, поскольку работает с COOKIE.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Dan Kirkpatrick (webmaster@troop321.org) -->
<!-- Web Site:  http://www.troop-321.8m.com/html -->

<!-- Begin
var expDays = 7;

url = "http://javashelp.cjb.net/";  //
      Адрес записываемой в Избранное страницы
title = "The JavaScript Library"; // Название
      записываемой в Избранное страницы

// Cookie code from The JavaScript Source
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);

if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {
window.external.AddFavorite (url,title);
}
else {
var msg = "Don't forget to bookmark us!";
if(navigator.appName == "Netscape") msg += "  (CTRL-D)";
alert(msg);
}
}
else {
count++;
SetCookie('count', count, exp);
}
}
checkCount();
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie2

Любимый цвет фона

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)
При загрузке страницы появляется запрос Javascript с предложением определить Ваш любимый цвет фона. Если окажется, что Вы выбрали не совсем удачный цвет и теперь не в состоянии ничего прочитать то нажмите кнопку "Вернуть", которая вернет серый цвет фона. Использование линка "Изменить цвет фона" возиожно только на HTML странице.

Изменить цвет фона

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE = "JavaScript">
<!-- Original: Mattias Sjoberg -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function color(){
var favColor = GetCookie('color');
if (favColor == null) {
favColor = prompt("Какой цвет фона Вам нравится больше?");
SetCookie ('color', favColor, exp);
}
document.bgColor=favColor;
return favColor;
}
function set(){
favColor = prompt("Какой цвет фона Вам нравится больше?");
SetCookie ('color', favColor, exp);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT>
document.write('Ваш любимый цвет фона : ' + color());
</SCRIPT><BR>
<a href="JavaScript:set()">Изменить цвет фона</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie15

Cookie идентификатор и установщик
Отличный, почти учебный скрипт! К большому сожалению, Вы не сумеете опробовать его в пределах файла справки. Но не поленитесь, поместите скрипт на любую, пусть временную страницу и протестируйте его.

Здесь Ваша подпись:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!--Activate Cloaking
//************************* ***************** CREDITS ** ************* ******************* ****************
//
// Cookie Functions - Second Helping (21-Jan-96)
// Written by: Bill Dortch, hIdaho Design <bdortch@netw.com>
//
// Original FORMs Code
// Written by: Paul Colton, Live Software <contact@livesoftware.com>
//
//******************************** ************************************** **********************************
//Deactivate Cloaking-->
</SCRIPT>

<SCRIPT>
<!--Activate Cloaking

function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function SetCookie (name, value)
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie ()
{
var exp = new Date();
exp.setTime (exp.getTime() - 1000000000); // This cookie is history (changed -1 to make it previous time)
var cval = GetCookie ('DemoName');
document.cookie ='DemoName' + "=" + cval + "; expires=" + exp.toGMTString();
alert("Cookie удалены.");
}
//Deactivate Cloaking-->
</SCRIPT>

<SCRIPT>
<!--Activate Cloaking
// Can be used to display name on loading of page.
// Requires onLoad in BODY statement
//function DisplayNameOnStartUp()
// {
// if(GetCookie('DemoName') != null)
// {
// alert("С возвращением, "+GetCookie('DemoName'));
// }
// }

// Alert box for Test Cookie
function DisplayName()
{
if(GetCookie('DemoName') != null)
alert("С возвращением, "+GetCookie('DemoName'));
else
alert("Вы должны установить Cookie.");
}

// Clears text box after setting cookie
function SetTheCookie()
{
if(document.forms[0].elements[0].value.length != 0)
{
var expdate = new Date ();
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
SetCookie('DemoName', document.forms[0].elements[0].value, expdate);
alert('Cookie установлены: ' + document.forms[0].elements[0].value + '.');
document.forms[0].elements[0].value = " ";
return false;
}
else
{
alert('Введите Ваше имя.');
return false;
}
}

// Alert box with instructions for signing-in
function Help()
{
alert("ИНСТРУКЦИИ"+"\n"+"\n"+"Шаг 1 Введите Ваше имя (ник)."+"\n"+"\n"+"Шаг 2 Нажмите Установить Cookie."+"\n"+"\n"+"Шаг 3 Нажмите Тест Cookie."+"\n"+"\n"+"Шаг 4 Обновите страницу дважды."+"\n"+"\n"+"Для удаления Cookie нажмите Удалить cookie.");
}

//Deactivate Cloaking-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="DisplayName()">

<FORM >
<CENTER><STRONG>Здесь Ваша подпись:</STRONG>
<BR>
<INPUT TYPE="text" NAME="name" SIZE=40>
</CENTER>
<BR>
<CENTER>
<INPUT TYPE="button" VALUE="Установить Cookie" onClick="SetTheCookie()"> &nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="button" VALUE="Тест Cookie" onClick="DisplayName()">
<BR><BR>
<INPUT TYPE="button" VALUE="Удалить Cookie" onClick="DeleteCookie ()"> &nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="button" VALUE="ИНСТРУКЦИЯ" onClick="Help ()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie5

Имя пользователя

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Используя Cookie, вебсайты способны хранить информацию о пользователе непосредственно на компьютере самого пользователя

Так это выглядит на HTML странице
Введите Ваше имя:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Bill Dortch, Idaho Design (bdortch@netw.com)

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function show_count() {
var expdate = new Date();
var num;
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 31));
if(!(num = GetCookie("jtotwcount")))
num = 0;
num++;
SetCookie ("jtotwcount", num, expdate);
if (num == 1) document.write("Так как Вы здесь первый раз, есть, очевидно, смысл посмотреть что тут и как....");
else document.write("Вы уже были здесь " + num + " times.");
}
function auto_show_name() {
if(GetCookie("jtotwname") != null)
document.write("Добро пожаловать на страницу с нашими еженедельными новостями " + GetCookie('jtotwname') + ". ");
else {
document.write("<FORM>Введите Ваше имя: <INPUT TYPE = \"text\" NAME = \"nameinput\">" + "<BR><BR><INPUT TYPE = \"button\" VALUE = \"Сохранить в Cookie\" onClick = \"set_name(this.form)\"></FORM>");
document.write("Пожалуйста, введите Ваше имя " + " и нажмите кнопку \"Сохранить в Cookie\", затем страница будет автоматически перезагружена. ");
}
}
function set_name(form) {
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000 * 31));
var username = form.nameinput.value
if (username != "") {
if (confirm("Вы уверены, что хотите сохранить это как Ваше имя?")) {
SetCookie ("jtotwname", username, expdate);
window.history.go(0);
}
}
else alert("Вот это врядли... Как минимум напечатайте что-нибудь!\nИначе это будет расценено как ошибка.");
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
Введите Ваше имя: <input TYPE = "text" NAME = "nameinput">
<br><br>
<input TYPE = "button" VALUE = "Сохранить в Cookie" onClick = "set_name(this.form)">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie7

Имя посетителя и версия браузера
Данные запоминаются непосредственно на Вашем компьютере и считываются с него же при заходе на страницу с этим скриптом.

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Вы используете:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE = "JavaScript">
<!-- Original:  Mattias Sjoberg -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com  +
      куча багов-->

<!-- Begin
var username = GetCookie('username');
if (username == null) {
username = prompt('Введите Ваше имя (или нажмите \"Отменить\")',"Вебсерфер");
if (username == null) {
alert('Ничего страшного, если Вы не хотите сообщать свое имя\nмы ж понимаем - наследие СССР, КГБ, ГРУ....');
username = 'Вебсерфер';
} else {
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (365 * 24 * 3600 * 1000));
SetCookie('username',username,largeExpDate,myDomain);
}
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {

var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function sett(){
username = prompt('Введите Ваше имя (или нажмите \"Отменить\")',"Вебсерфер");
if (username == null) {
alert('Ничего страшного, если Вы не хотите сообщать свое имя\nмы ж понимаем - наследие СССР, КГБ, ГРУ....');
username = 'Вебсерфер';
} else {
pathname = location.pathname;
myDomain = pathname.substring(0,pathname.lastIndexOf('/')) +'/';
var largeExpDate = new Date ();
largeExpDate.setTime(largeExpDate.getTime() + (365 * 24 * 3600 * 1000));
SetCookie('username',username,largeExpDate,myDomain);
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT>
<!-- Begin
document.write('<font size="+3">Привет '+username+'!</font>');
if (username == "Вебсерфер") {
document.write('</font><br><small>Cтраничка <a href="http://javashelp.cjb.net" target="_top">персонально</A> для Вас!</small>')

<!-- Не забудьте изменить URL на URL вашей странички-->
}
// End -->
</SCRIPT>
<font size="+3">Вы используете:</font>
<SCRIPT>
<!-- Begin
document.write('<br> '+ navigator.appName + ' (<i>' + navigator.appCodeName + '</i>) version ' + navigator.appVersion + '.')
// End -->
</SCRIPT>
<SCRIPT>
<!-- Begin
document.write('</font><br><br><small>Или все же Вас не так зовут?&nbsp;<a href=\"Javascript:sett()\" target=\"_top\">Измените имя, если хотите</A>');
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie8

Имя, количество визитов, дата последнего посещения
 (скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mattias Sjoberg -->

<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function Who(info){
var VisitorName = GetCookie('VisitorName')
if (VisitorName == null) {
VisitorName = prompt("Who are you?");
SetCookie ('VisitorName', VisitorName, exp);
}
return VisitorName;
}
function When(info){
var rightNow = new Date()
var WWHTime = 0;
WWHTime = GetCookie('WWhenH')
WWHTime = WWHTime * 1
var lastHereFormatting = new Date(WWHTime);
var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + lastHereFormatting.getDate()
var lastHereInDateFormat = "" + lastHereFormatting;
var dayOfWeek = lastHereInDateFormat.substring(0,3)
var dateMonth = lastHereInDateFormat.substring(4,11)
var timeOfDay = lastHereInDateFormat.substring(11,16)
var year = lastHereInDateFormat.substring(23,25)
var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay
SetCookie ("WWhenH", rightNow.getTime(), exp)
return WWHText
}
function Count(info){
var WWHCount = GetCookie('WWHCount')
if (WWHCount == null) {
WWHCount = 0;
}
else{
WWHCount++;
}
SetCookie ('WWHCount', WWHCount, exp);
return WWHCount;
}
function set(){
VisitorName = prompt("Who are you?");
SetCookie ('VisitorName', VisitorName, exp);
SetCookie ('WWHCount', 0, exp);
SetCookie ('WWhenH', 0, exp);
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
document.write("Привет, " + Who() + ". Вы были здесь уже " + Count() + " раз(а). Последний раз " + When() +".");
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Cookie13

Календарь - напоминатель
с использованием Cookie

Работает этот календарь-напоминатель так. Кликните по любой дате текущего месяца. Подтвердите желание сделать напоминание. Впишите свое сообщение. После перезагрузки или в следующую загрузку дата, когда должно будет появиться напоминание, станет красной. Можно сделать сообщения для каждого дня месяца. При повторном клике по дате с напоминанием все повторится, только Вам будет показано то сообщение, которое Вы оставили. Если Вы согласитесь его изменить, но вместо этого просто удалите, то напоминания никакого не будет, и дата вновь станет белой. В день напоминания Ваше сообщение будет появляться каждый раз при загрузке страницы, в течение всего дня. Удалить его невозможно! Так что, удаляйте заранее! Сообщения, как понятно из названия скрипта, хранятся в Cookie. Используете этот напоминатель на своем сайте! Каждый посетитель может сделать себе любые напоминания (и в любой словестной форме!), однако храниться они будут не на сервере, а на компьютере самого посетителя. Очень практично и безопасно.

Внимание! Из файла справки нет доступа к Cookie. Поэтому скрипт не может работаеть корректно.

Когда вы поместите предложенный код на свою страницу, у Вас появится большой комментарий на английском языке с копирайтами создателей скрипта. Чтобы не "резать" сам скрипт (там, авторские права всякие...), удалите выделенную желтым цветом строчку из 8 знаков. И все!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--ЭТО НЕ
    ОБЯЗАТЕЛЬНО-->
<style>
a:link, a:visited, a:active { text-decoration: none; color: white;}
a:hover { text-decoration: none; color: lime; }
</style>

<SCRIPT LANGUAGE="JavaScript">

<!--  to hide script contents from old browsers

//

//  Cookie Functions

//  Written by:  Bill Dortch, hIdaho Design

//  The following functions are released to the public domain.

//

//

// "Internal" function to encode cookie value.  This permits cookies to

// contain whitespace, comma and semicolon characters.

//

function encode (str) {

var dest = "";

var len = str.length;

var index = 0;

var code = null;

for (var i = 0; i < len; i++) {

var ch = str.charAt(i);

if (ch == " ") code = "%20";

else if (ch == "%") code = "%25";

else if (ch == ",") code = "%2C";

else if (ch == ";") code = "%3B";

else if (ch == "\b") code = "%08";

else if (ch == "\t") code = "%09";

else if (ch == "\n") code = "%0A";

else if (ch == "\f") code = "%0C";

else if (ch == "\r") code = "%0D";

if (code != null) {

dest += str.substring(index,i) + code;

index = i + 1;

code = null;

}

}

if (index < len)

dest += str.substring(index, len);

return dest;

}

//

// "Internal" function to decode cookie values.

//

function decode (str) {

var dest = "";

var len = str.length;

var index = 0;

var code = null;

var i = 0;

while (i < len) {

i = str.indexOf ("%", i);

if (i == -1)

break;

if (index < i)

dest += str.substring(index, i);

code = str.substring (i+1,i+3);

i += 3;

index = i;

if (code == "20") dest += " ";

else if (code == "25") dest += "%";

else if (code == "2C") dest += ",";

else if (code == "3B") dest += ";";

else if (code == "08") dest += "\b";

else if (code == "09") dest += "\t";

else if (code == "0A") dest += "\n";

else if (code == "0C") dest += "\f";

else if (code == "0D") dest += "\r";

else {

i -= 2;

index -= 3;

}

}

if (index < len)

dest += str.substring(index, len);

return dest;

}

//

// "Internal" function to return the decoded value of a cookie

//

function getCookieVal (offset) {

var endstr = document.cookie.indexOf (";", offset);

if (endstr == -1)

endstr = document.cookie.length;

return decode(document.cookie.substring(offset, endstr));

}

//

//  Function to return the value of the cookie specified by "name".

//    name - String object containing the cookie name.

//

function GetCookie (name) {

var arg = name + "=";

var alen = arg.length;

var clen = document.cookie.length;

var i = 0;

while (i < clen) {

var j = i + alen;

if (document.cookie.substring(i, j) == arg)

return getCookieVal (j);

i = document.cookie.indexOf(" ", i) + 1;

if (i == 0) break;

}

return null;

}

//

//  Function to create or update a cookie.

//    name - String object object containing the cookie name

//    value - String object containing the cookie value.  May contain

//      any valid sting characters, including whitespace, commas and quotes.

//    expires - Date object containing the expiration data of the cookie,

//      or null to expire the cookie at the end of the current session.

//

function SetCookie (name, value, expires) {

document.cookie = name + "=" + encode(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));

}

//  Function to delete a cookie. (Sets expiration date to current date/time)

//    name - String object containing the cookie name

//

function DeleteCookie (name) {

var exp = new Date();

var cval = GetCookie (name);

document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}
//

//  Example

//

function intro()

{

document.write  ("<CENTER>");

document.writeln("<BR>");

document.write  ("<H1>");

document.write  ("Reminder Calendar");

document.writeln("</H1>");

document.writeln("</CENTER>");

document.writeln("<h2>How to use the Reminder Calendar:</h2>");

document.writeln("<ul><li>Click on a  date to add a reminder");

document.writeln("    <li>Click on that date again to see the reminder");

document.writeln("    <li>Reload the page to see dates with reminders in different colors");

document.writeln("</ul>");

document.writeln("<h2>Notes:</h2>");

document.writeln("<ul><li>Lame user interface");

document.writeln("    <li>Can't delete a reminder");

document.writeln("    <li>Reminders disappear in about 24 hours");

document.writeln("</ul>");

document.writeln("<h2>This is mostly a programming example of:</h2>");

document.writeln("<ul><li>Using cookies in JavaScript");

document.writeln("    <li>Using text links to call a function, not open a URL");

document.writeln("</ul>");

document.writeln("<h2>Credits:</h2>");

document.writeln("<ul><li>Cookie Functions written by:  <A href='mailto:bdortch@netw.com'>Bill Dortch</A>, hIdaho Design");

document.writeln("<ul>The functions are at:");

document.writeln("    <li>Code: <A href='http://www.hidaho.com/cookies/cookie.txt'>
    http://www.hidaho.com/cookies/cookie.txt</A>");

document.writeln("    <li>Demo: <A href='http://www.hidaho.com/cookies/cookie.html'>
    http://www.hidaho.com/cookies/cookie.html</A>");

document.writeln("</ul>");

document.writeln("    <li>Reminder Calendar by James Thiele who can be reached:");

document.writeln("    <UL><LI>at his home page ");

document.writeln("         <A href='http://www.eskimo.com/~jet'>
    http://www.eskimo.com/~jet</A>");

document.writeln("        <LI> via email at ");

document.writeln("         <address><A href='mailto:jet@eskimo.com'>
    jet@eskimo.com</a></address></p>");

document.writeln("</ul>");

}

function arrayOfDaysInMonths(isLeapYear)

{

this[0] = 31;

this[1] = 28;

if (isLeapYear)

this[1] = 29;

this[2] = 31;

this[3] = 30;

this[4] = 31;

this[5] = 30;

this[6] = 31;

this[7] = 31;

this[8] = 30;

this[9] = 31;

this[10] = 30;

this[11] = 31;

}

function daysInMonth(month, year)

{

// do the classic leap year calculation

var isLeapYear = (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));

var monthDays  = new arrayOfDaysInMonths(isLeapYear);

return monthDays[month];

}

function calendar()

{

var monthNames = "JanFebMarAprMayJunJulAugSepOctNovDec";

var today      = new Date();

var day        = today.getDate();

var month      = today.getMonth();

var year       = today.getYear();

// figure out how many days this month will have...

var numDays    = daysInMonth(month, year);

// and go back to the first day of the month...

var firstDay   = today;

firstDay.setDate(1);

// and figure out which day of the week it hits...

var startDay = firstDay.getDay();

var column = 0;

// Start the calendar table

document.write("<CENTER>");

document.write("<TABLE BGCOLOR=GRAY BORDER>");

document.write("<TR><TH COLSPAN=7><FONT COLOR=LIGHTBLUE>");

document.write(monthNames.substring(3*month, 3*(month + 1)) + " " + year);

document.write("<TR><TH><FONT COLOR=LIGHTBLUE>Вс.<TH><FONT COLOR=LIGHTBLUE>Пн.<TH><FONT COLOR=LIGHTBLUE>Вт.<TH><FONT COLOR=LIGHTBLUE>Ср.<TH><FONT COLOR=LIGHTBLUE>Чт.<TH><FONT COLOR=LIGHTBLUE>Пт.<TH><FONT COLOR=LIGHTBLUE>Сб.");

// put blank table entries for days of week before beginning of the month

document.write("<TR>");

for (i=1; i < startDay; i++)

{

document.write("<TD>");

column++;

}

for (i=1; i <= numDays; i++)

{

// Write the day

var s = "" + i;

if ((GetCookie("d"+i) != null))

// s = s.fontcolor(document.vlinkColor);

s = s.fontcolor("#FF0000");

s = s.link("javascript:dayClick(" + i + ")")

document.write("<TD>" + s);

// Check for end of week/row

if (++column == 7)

{

document.write("<TR>"); // start a new row

column = 0;

}

}

document.write("</TABLE>");

document.writeln("</CENTER>");

}

////////////////////////////

//////// dayClick //////////

////////////////////////////

function dayClick(day)

{

var expdate = new Date ();

expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs from now

var prefix                = "d";

var theCookieName         = prefix + day;

var theDayclickedReminder = GetCookie(theCookieName);

if (theDayclickedReminder != null) {

alert("На " + day + " число Вы оставили себе следующее сообщение "  + theDayclickedReminder);

} // end if

if (confirm("Вы хотите оставить себе сообщение на " + day + " число этого месяца?"))

{

x = prompt("Введите сообщение для напоминания "+ day + " числа этого месяца", theDayclickedReminder);

SetCookie (theCookieName, x, expdate);

} // end if

}

// --> <!-- end hiding contents from old browsers  -->

</SCRIPT><p>

<SCRIPT LANGUAGE="JavaScript">

<!--  to hide script contents from old browsers

calendar();

document.write("<HR>");

intro();
// --> <!-- end hiding contents from old browsers  -->

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie6

Количество посещений пользователем сайта

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Записывает, а затем считывает cookie на компьютере посетителя. Затем сообщает посетителю сколько раз тот побывал на этом сайте

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("Вы побывали здесь уже <b>" + amt() + "</b> раз(а).")
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cookie3

Редирект с использованием COOKIE

(скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Выбрав животное из предложенного списка и обновив страницу, Вы попадаете непосредственно на страницу, посвященную выбранному животному. Более того, в течение 30 дней (белым цветом в таблице) Вы не сможете попасть на эту страницу даже набирая ее адрес. Вас будет автоматически перенапрвлять на уже выбранную тематическую страницу.

Выберите Ваше любимое домашнее животное:
Кот
Собака
Верблюб
Слон

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var favorite = GetCookie('animal');

if (favorite != null) {
switch (favorite) {
case 'cat' : 	url = 'cat.html'; //
      Впишите свои адреса страниц для
      редиректа
break;
case 'dog' : 	url = 'dog.html';
break;
case 'gerbil' : url = 'gerbil.html';
break;
case 'gopher' : url = 'eleph.html';
break;
}
window.location.href = url;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table><tr><td>
Выберите Ваше любимое домашнее животное:<br>
<input type=checkbox name="cat" onClick="SetCookie('animal', this.name, exp);">Кот<br>
<input type=checkbox name="dog" onClick="SetCookie('animal', this.name, exp);">Собака<br>
<input type=checkbox name="gerbil" onClick="SetCookie('animal', this.name, exp);">Верблюб<br>
<input type=checkbox name="gopher" onClick="SetCookie('animal', this.name, exp);">Слон<br>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cokie10

Pop-up окно только раз в сутки
 (скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

Сообщение в Pop-up окне появляется только один раз при первом посещении. При последующих посещениях в течение 1 суток Pop-up окно не появляется. На следующие сутки "счетчик обнуляется". Можно установить период не только 1 сутки - см. таблицу. Для правильной работы скрипта следует создать HTML документ (страничку) с Вашим сообщением и сохранить в той же директории, где находится основной документ со скриптом. (имя файла выделено голубым цветом в таблице)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var expDays = 1; // количество дней, кот. Cookie следует оставаться

var page = "popdemo.htm"; // страница для POP-UP окна
var windowprops = "width=300, height=200, location=no, toolbar=no,
      menubar=no, scrollbars=no, resizable=yes";

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
}
else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);

window.open(page, "", windowprops);

}
else {
count++;
SetCookie('count', count, exp);
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY OnLoad="checkCount()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Cookie14

Статус бар скроллинг с использованием Cookie

Этот скипт (вернее, целый набор) работает с Cookie. Поэтому Вас "не узнают" здесь, в файле справки, при повторном заходе. Из файла справки нет доступа к Cookie, по крайней мере средствами JavaScript. Но вот на обычном сайте Вас "узнают" и сообщат всю ту информацию, которую Вы можете видеть в статусной строке вашего браузера. А для просмотра нажмите кнопку внизу страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- begin '<b>'
/* This script and all others are copyright (c) 1996 by Tomer Shiran and Yehuda Shiran. They will all be posted in
our upcoming book on JavaScript, along with many others. Feel free to copy the script. A link to this
page would be a nice gesture in return. Thanks. */
// modified by Bobandy to incorporate recognition techniques http://www.flash.net/~bobandy/
var i = 0;
var TextNumber = 0;
var TextInput = new Object();
var HelpText="";
var Text = "";
var Speed=150
var WaitSpace=" "
TextInput[0] = 'Привет, ' + Who() + '.';
TextInput[1] = "Добро пожаловать на отличную домашнюю страничку."
TextInput[2] = 'Вы побывали здесь уже ' + Count() + ' раз\(а\)'
TextInput[3] = "Последний раз это было " + When() + "."
TextInput[4] = "Надеюсь, Вы довольны проведенным временем."
TotalTextInput = 4; // (0, 1, 2, 3, 4)

for (var Tomer = 0; Tomer <= TotalTextInput; Tomer++) {
TextInput[Tomer]+=WaitSpace
}

var TimerId
var TimerSet=false;

function startBanner () {
TimerSet=!TimerSet
if (TimerSet)
banner();
else
kill();
}

function banner() {
Text=rollMessage();
TimerId = setTimeout("banner()", Speed)
window.status=Text;

}

function rollMessage () {
Wait_yn=false;
i++;
var CheckSpace = HelpText.substring(i-1, i);
CheckSpace = "" + CheckSpace;
if (CheckSpace == " ") {i++;}
if (i >= HelpText.length+1) {i=0; if (TextNumber < TotalTextInput) {TextNumber++;} else {TextNumber = 0;} init();}
Text = HelpText.substring(0, i);
return (Text);
}

function init () {
Text = TextInput[TextNumber]
HelpText = Text;
}

function kill () {
clearTimeout (TimerId)
}

/*
-----------------------------------------
| By Mattias Sjцberg 9/10-96 |
|You're welcome to use/edit this script.|
| Keep the comments and drop me a note. |
-----------------------------------------
| mattias.sjoberg@swipnet.se |
| www.geocities.com/SiliconValley/7116 |
| Vote for my page at the above URL |
-----------------------------------------
*/
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function Who(info){
// Who
var VisitorName = GetCookie('VisitorName')
if (VisitorName == null) {
VisitorName = prompt("Who are you?", "Nada");
SetCookie ('VisitorName', VisitorName, exp);
}

return VisitorName;
}

function When(info){
// When
var rightNow = new Date()
var WWHTime = 0;
WWHTime = GetCookie('WWhenH')

WWHTime = WWHTime * 1
/*This part is written by
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
*/
var lastHereFormatting = new Date(WWHTime); // Date-i-fy that number
var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + lastHereFormatting.getDate()
var lastHereInDateFormat = "" + lastHereFormatting;
var dayOfWeek = lastHereInDateFormat.substring(0,3)
var dateMonth = lastHereInDateFormat.substring(4,11)
var timeOfDay = lastHereInDateFormat.substring(11,16)
var year = lastHereInDateFormat.substring(23,25)
var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay // display

SetCookie ("WWhenH", rightNow.getTime(), exp)

return WWHText;
}

function Count(info){
// How many times
var psj=0;
var WWHCount = GetCookie('WWHCount')
if (WWHCount == null) {
WWHCount = 0;
}
else{
WWHCount++;
}
SetCookie ('WWHCount', WWHCount, exp);

return WWHCount;
}

function set(){
VisitorName = prompt("Who are you?", "Nada");
SetCookie ('VisitorName', VisitorName, exp);
SetCookie ('WWHCount', 0, exp);
SetCookie ('WWhenH', 0, exp);
}

// ********************* General Cookie handling *********************
// Cookie Functions - Second Helping (21-Jan-96)
// Written by: Bill Dortch, hIdaho Design <bdortch@netw.com>
// The following functions are released to the public domain.

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
// This cookie is history
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}

"</b>" // end -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="init(); startBanner();">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Cookie9

Счетчик посещений + сообщение
 (скрипт не может работать из файла справки; все, что Вы видите - только приближенная к реальности демонстрация)

При каждом последующем посещении появляется новое сообщение (выделены белым). Замените их на свои

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Bill Dortch, hIdaho Design (bdortch@netw.com)

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (2 < argc) ? argv[2] : null;
var path = (3 < argc) ? argv[3] : null;
var domain = (4 < argc) ? argv[4] : null;
var secure = (5 < argc) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DisplayInfo() {
var expdate = new Date();
var visit;
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
if(!(visit = GetCookie("visit")))
visit = 0;
visit++;
SetCookie("visit", visit, expdate, "/", null, false);
var message;
if(visit == 1)
message="          Добро пожаловать на мою страничку!";
if(visit== 2)
message="            Я вижу Вы вернулись
       !";
if(visit == 3)
message="                Ох, это Вы опять!";
if(visit == 4)
message="            Вы серьезно настроены!";
if(visit == 5)
message="      Вы очень регулярны!";
if(visit == 6)
message="               Это Ваше хобби!";
if(visit == 7)
message="              Не нашли ничего лучшего?";
if(visit == 8)
message="            Вы когда-нибудь спите?";
if(visit == 9)
message="                       Вот это да!!!";
if(visit >= 10)
message="  Вы побили все рекорды!";
alert("\n"+"Ваш браузер посетил эту страницу               \n"
+"                              "+visit+"\n"
+"                          time(s)."+"\n"+"\n"
+message);
}
function ResetCounts() {
var expdate = new Date();
expdate.setTime(expdate.getTime() +  (24 * 60 * 60 * 1000 * 365));
visit = 0;
SetCookie("visit", visit, expdate , "/", null, false);
history.go(0);
}
// End -->
</Script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="DisplayInfo()">

<FORM>
<CENTER>
<INPUT NAME="update" TYPE="BUTTON" VALUE="Обновить страницу" OnClick="history.go(0)">
<INPUT NAME="reset" TYPE="BUTTON" VALUE="Обнулить счетчик" OnClick="ResetCounts()">
</CENTER>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Cookie12

Убить куки...

Cookie Name:
Path:
Domain:
This function deletes the specified cookie from the current document's cookie file. If a PATH or DOMAIN was specified when the cookie was set, they must be specified in order to delete the cooke as well.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="javascript">

<!--

//behavior "Cookie Library"

// Copyright 1997 Webmonkey. All rights reserved.

//*************** LOCALIZEABLE GLOBALS VARS *****************

var MSG_AnchorNotFound = 'The anchor "%s" that was set to %s could not be found.';

var MSG_NoCookieValueSet = "Please provide a Cookie Name.";

var MSG_WrongNumberOfArgs = "The function call for this event has been corrupted. Please hit Cancel, delete the Action, and try again."

var TYPE_Separator = "in";

var TYPE_Form = "form";

var TYPE_Layer = "layer";

var TYPE_Image = "image";

var TYPE_Anchor = "anchor";

//Params for the WindowDimensions fn which improves performance by hardcoding window size.

var WINDOWSIZE_Autosize = false; //if you change the UI, set to true or update these numbers.

var WINDOWSIZE_Mac = "452,216"; //ignored if WINDOWSIZE_Autosize is true

var WINDOWSIZE_Win = "438,238"; //ignored if WINDOWSIZE_Autosize is true

//Note: HTML labels (at the end of this file) must be changed by hand

//*************** GLOBALS VARS *****************

var REF_UNNAMED = "unnamed <"; //this is what getObjectRefs() returns for unnamed objects

var REF_CANNOT = "cannot reference <";

//******************* BEHAVIOR FUNCTIONS **********************

function WM_killCookie(name, path, domain) {

var firstChar, lastChar, theValue;

// get the entire cookie string (this may have other name=value pairs in it

var theBigCookie = document.cookie;

// grab just this cookie from theBigCookie string

// find the start of 'name'

firstChar = theBigCookie.indexOf(name);

// if you found it

if(firstChar != -1) {

// skip 'name' and '='

firstChar += name.length + 1;

// find the end of the value string (i.e. the next ';')

lastChar = theBigCookie.indexOf(';', firstChar);

if(lastChar == -1) lastChar = theBigCookie.length;

// set theValue

theValue = theBigCookie.substring(firstChar, lastChar);

} else {

// there is no such cookie

theValue = false;

}

// assuming there actually is such a cookie

if(theValue) {

// set an expired cookie, adding 'path' and 'domain' if they were given

document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'');

}

}

//******************* API **********************

//Checks for the existence of anchors.

//If none exist, returns false so this Action is grayed out.

function canAcceptBehavior(){

return true;

}

//Returns Javascript functions to be inserted in HTML head with script tags.

function behaviorFunction(){

return "WM_killCookie";

}

//Returns fn call to insert in HTML tag <TAG... onEvent='thisFn(arg)'>

//Gets list of cookieValues from doc attribute. With each cookieValue, it gets the parallel

//anchor name from select 'menu'. Each cookieValue & anchorObj are embedded as args.

function applyBehavior(uniqueName) {

var i,argList="";

if (document.WM_cookieName) { //if not empty

//xxx

argList = "'" + document.WM_cookieName + "','" + document.WM_cookiePath + "','" + document.WM_cookieDomain + "'";

return "WM_killCookie("+argList+")"; //return fn call with args

} else {

return MSG_NoCookieValueSet;

}

}

//Given the original function call, this parses out the args and updates

//the UI. Loops through each anchorObj,cookieValue pair.

//If anchorObj already present in menu, stuff cookieValue in aHrefArray. If anchorObj

//doesn't exist, add to menu, and extend aHrefArray.

function inspectBehavior(behFnCallStr){

var argArray;

argArray = extractArgs(behFnCallStr); //get args

if (argArray.length == 4) {

document.theForm.cookieName.value = argArray[1];

document.theForm.cookiePath.value = argArray[2];

document.theForm.cookieDomain.value = argArray[3];

initializeUI();

} else alert(MSG_WrongNumberOfArgs);

}

//Used to improve performance, this hardcodes the expected window size. Without

//this fn, or if WINDOWSIZE_Autosize is true, DW will render the UI dynamically.

//IMPORTANT: for internationalization and other UI changes, update the globals.

//***************** LOCAL FUNCTIONS ******************

//Load the select menu with current hrefs.

//Also sets the global property WM_myAHrefs to the right num of items.

function initializeUI(){

storeCookieName();

storeCookiePath();

storeCookieDomain();

document.theForm.cookieName.focus(); //set focus on textbox

document.theForm.cookieName.select(); //set insertion point into textbox

}

//Given cookieName in form, looks up the menu's selection number, and stores the

//new href at that position in the global document property "WM_myDivColor".

function storeCookieName(){

var cookieName = document.theForm.cookieName.value;

document.WM_cookieName = cookieName; //rewrite global

}

function storeCookiePath(){

var cookiePath = document.theForm.cookiePath.value;

document.WM_cookiePath = cookiePath; //rewrite global

}

function storeCookieDomain(){

var cookieDomain = document.theForm.cookieDomain.value;

document.WM_cookieDomain = cookieDomain; //rewrite global

}

//**************** GENERIC FUNCTIONS ****************

//Given a function call, extracts the args and returns them in array

//Respects ', skips over stuff between quotes, and returns them dequoted.

//IMPORTANT: argArray[0] is the function call!! Actual args start at argArray[1].

function extractArgs(behFnCallStr){

var i, theStr, lastPos, argArray;

argArray = getTokens(behFnCallStr,"(),");

for (i=0; i<argArray.length; i++) {

theStr = unescQuotes(argArray[i]);

lastPos = theStr.length-1;

if (theStr.charAt(0) == "'" && lastPos > 0 && theStr.charAt(lastPos) == "'")

argArray[i] = theStr.substring(1,lastPos);

}

return argArray

}

//Given a string "myObject *" returns "myObject *".

function stripStar(theStr) {

var endPos;

endPos = theStr.indexOf(' *');

return ((endPos > 0)? theStr.substring(0,endPos) : theStr);

}

//Given theSelect obj and an index, it appends a star

//and inserts the new string into the menu at position index.

//If the menu item was "layer[2]" it becomes "layer[2] *".

//Existing " *" values get stripped off first.

function addStarToMenuItem(theSelect,menuIndex) {

var newMenuText;

newMenuText = stripStar(theSelect.options[menuIndex].text); //remove if old star

newMenuText += " *"; //append " *"

theSelect.options[menuIndex]=new Option(newMenuText); //add new line to menu

}

//Passed a string, finds special chars '"\ and escapes them with \

function escQuotes(theStr){

var i, theChar, escStr = "";

for(var i=0; i<theStr.length; i++) {

theChar = theStr.charAt(i);

escStr += (theChar=='"' || theChar=="'" || theChar=="\\")?("\\"+theChar):theChar;

}

return escStr;

}

//Passed a string, finds any escape chars \ and removes them

function unescQuotes(theStr){

var strLen, i, theChar, unescStr = "";

strLen = theStr.length;

for(i=0; i<strLen; i++) {

theChar = theStr.charAt(i);

if (theChar == "\\" && i < strLen - 1) //if escape char and not end

theChar = theStr.charAt(++i); //append next char and skip over

unescStr += theChar;

}

return unescStr;

}

//Converts an array of JS anchors to an array of their current urls.

//For example, document.links[0] becomes "http://bar.com/foo.html"

function niceNames(objRefArray,objTypeStr) {

var i, j, niceRef, tokens;

var niceNameArray = new Array(objRefArray.length);

for (i in objRefArray) { //with object reference array

tokens = getTokens(objRefArray[i],".").reverse(); //split ref into tokens and rev order

if (tokens.length > 1) {

niceRef = objTypeStr + ' ' + nameReduce(tokens[0]); //start building str

if (tokens.length > 2) { //reference includes some nesting...

if (tokens[1] != "document") //inside a form so add form reference

niceRef += ' ' + TYPE_Separator + ' ' + TYPE_Form + ' ' + nameReduce(tokens[1]);

for (j=1; j<tokens.length; j++) //add any layers

if (tokens[j].indexOf("layers[") == 0) //found a layer

niceRef += ' ' + TYPE_Separator + ' ' + TYPE_Anchor + ' ' + nameReduce(tokens[j]);

}

} else niceRef = objRefArray[i];

niceNameArray[i] = niceRef;

}

return niceNameArray;

}

//Extracts a name or num from array string and quotes if necessary. So

// myImg => "myImg"

// layers['foo'] => "foo"

// embeds[0] => 0

// myImg[2] => "myImg[2]"

function nameReduce (objName) {

var retVal, arrayTokens;

retVal = '"' + objName + '"'; //default is object wrapped in quotes

if (objName.indexOf("[") > 0) { //if it's an array

arrayTokens = getTokens(objName,"[]\"'"); //break up tokens

if (arrayTokens.length == 2) { //if exactly two tokens

if ("layers forms embeds links anchors all".indexOf(arrayTokens[0]) != -1) { //if legal

if (arrayTokens[1] == ""+parseInt(arrayTokens[1])) //if a number

retVal = arrayTokens[1];

else //else it's a string

retVal = '"' + arrayTokens[1] + '"';

}

}

}

return retVal;

}

//Emulates printf("blah blah %s blah %s",str1,str2)

//Used for concatenating error message for easier localization.

//Returns assembled string.

function errMsg() {

var i,numArgs,errStr="",argNum=0,startPos;

numArgs = errMsg.arguments.length;

if (numArgs) {

theStr = errMsg.arguments[argNum++];

startPos = 0; endPos = theStr.indexOf("%s",startPos);

if (endPos == -1) endPos = theStr.length;

while (startPos < theStr.length) {

errStr += theStr.substring(startPos,endPos);

if (argNum < numArgs) errStr += errMsg.arguments[argNum++];

startPos = endPos+2; endPos = theStr.indexOf("%s",startPos);

if (endPos == -1) endPos = theStr.length;

}

if (!errStr) errStr = errMsg.arguments[0];

}

return errStr;

}

function displayHelp() {

if (typeof window != 'undefined') window.open("http://www.webmonkey.com/") ;

}

//*************** END OF JAVASCRIPT *****************

function MM_popupMsg(theMsg) { //v1.2

alert(theMsg);

}

//-->

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="initializeUI()">

<FORM NAME="theForm" ACTION="">

<DIV ALIGN="center">

<TABLE BORDER=0 bgcolor="#808080">

<tr>

<td valign="top" rowspan="4">

&nbsp;

</td>

<td valign="top" align="left" colspan="3">
<p align="center"></font><font face="Arial Black, Arial, Helvetica, sans-serif" color="#FF0000" size="4">Убить
куки...&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></p>
<p align="center">&nbsp;</p>
</td>

</tr>

<tr>

<TD ALIGN="right" nowrap><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Cookie

Name:</font></TD>

<TD VALIGN="top" nowrap>

<font size="3" color="#FFFFFF">

<INPUT NAME="cookieName" TYPE="text" SIZE="30" onBlur="storeCookieName();" value="myCookie">

</font>

</TD>

</TR>

<TR>

<TD ALIGN="right" nowrap><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Path:</font></TD>

<TD VALIGN="top" nowrap>

<font size="3" color="#FFFFFF">

<INPUT NAME="cookiePath" TYPE="text" SIZE="30" onBlur="storeCookiePath();">

</font>

</TD>

</TR>

<TR>

<TD ALIGN="right" nowrap><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">Domain:</font></TD>

<TD VALIGN="top" nowrap>

<font size="3" color="#FFFFFF">

<INPUT NAME="cookieDomain" TYPE="text" SIZE="30" onBlur="storeCookieDomain();">

</font>

</TD>

</TR>

<font size="3" color="#000000">

<tr>

<TD>&nbsp; </TD>

<TD colspan="2">
</font>
<font face="Verdana, Arial, Geneva, sans-serif" size="1" color="#FFFFFF">This

function deletes the specified cookie from the current document's cookie

file. If a PATH or DOMAIN was specified when the cookie was set, they

must be specified in order to delete the cooke as well.&nbsp;

</font></TD>

</tr>

</TABLE>

</DIV>

</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 8

POP-up Window при наведении мыши на линк

Наведите мышь на этот текст

Дополнительная информация.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A href="" onMouseOver='window.open("popdemo.htm", "demo", "width=200, height=150")'>Наведите мышь на этот текст</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup4

Анимированное POP-UP окно

Главная страница

Линки

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--

var winheight=100
var winsize=100
var x=5

/*
Animated Window Opener Script (updated 00/04/24)-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions, 100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function openwindow(thelocation){
temploc=thelocation
if (!(window.resizeTo&&document.all)&&! (window.resizeTo&&document.getElementById)){
window.open(thelocation)
return
}
win2=window.open("","","scrollbars")
win2.moveTo(0,0)
win2.resizeTo(100,100)
go2()
}
function go2(){
if (winheight>=screen.availHeight-3)
x=0
win2.resizeBy(5,x)
winheight+=5
winsize+=5
if (winsize>=screen.width-5){
win2.location=temploc
winheight=100
winsize=100
x=5
return
}
setTimeout("go2()",50)
}
//-->
</script>

<p><a href="javascript:openwindow('home.htm')">Главная страница</a>
<p><a href="javascript:openwindow('Link.htm')">Линки</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup11

Popup для комментария без заготовленной страницы.
Это значит, что все Popup, которые Вы сейчас увидите, не являются страницами, которые, как обычно, приходится предварительно писать и сохранять. Скрипт крайне хорош именно тем, что для работы не требует закачки дополнительных страниц, он пишет код этих страниц самостоятельно и сам же их открывает, что значительно увеличивает быстродействи. Множество настроек стилей. Попробуйте!

На Главную страницу сайта

На другую страницу сайта

JavaScript Линки

Демонстрационная страница

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

var hmsg = new Array();

hmsg["home"] = new helpmsg(
"Главная страница", "fancyheader", "plain", "Кликните по линку и Вы попадете на Главную страницу... на которой ничего нет\:-\)");

hmsg["forum"] = new helpmsg(
"", "", "bold", "На Другой странице, как Вы понимаете, ничего нет - это просто демонстрация работы скрипта.");

hmsg["faq"] = new helpmsg(
"ЛИНКИ !!!", "h2", "italics", "На странице Линки Вы смогли бы найти много интересных ссылок... но это всего лишь демонстрация.");

hmsg["news"] = new helpmsg(
"", "", "", "На Демонстрационной странице Вы не найдете абсолютно ничего, кроме кнопки и линка с надписями ЗАКРЫТЬ, что означает именно то, что написано... Не переживайте - это всего лишь демонстрация.");

var myPopup = new helpbox("myPopup", hmsg, 275, 175, "#ffffee");

// 275 ширина POPUP
// 175 высота POPUP
// "#ffffee" цвет фона POPUP

function helpmsg(header, hstyle, mstyle, message) {
this.DEFAULTHSTYLE = "plain";
this.DEFAULTMSTYLE = "plain";

this.header = header;
if (hstyle) this.hstyle = hstyle;
else this.hstyle = this.DEFAULTHSTYLE;
this.message = message;
if (mstyle) this.mstyle = mstyle;
else this.mstyle = this.DEFAULTMSTYLE;
return this;
}
new helpmsg();
helpmsg.prototype.show = show;

function show() {
var H = "<FONT FACE='arial'>" + this.header + "</FONT>";
if (this.hstyle == "h1") H = "<H1>" + H + "</H1>";
else if (this.hstyle == "h2") H = "<H2>" + H + "</H2>";
else if (this.hstyle == "h3") H = "<H3>" + H + "</H3>";
else if (this.hstyle == "h4") H = "<H4>" + H + "</H4>";
if (this.hstyle == "fancyheader") H = "<table width='75%'>" +
"<tr><td bgcolor='#6060ff' align='center' valign='center'>" +
"<H1><FONT COLOR='white'>" + H +
"</FONT></H1>" + "</td></tr></table>";
else if (this.hstyle == "italics")
H = "<I>" + H + "</I>";

var M = "<FONT FACE='arial'>" + this.message + "</FONT>";
if (this.mstyle == "plain") {}
if (this.mstyle == "italics") M = M.italics();
else if (this.mstyle == "bold") M = M.bold();

var htmlpage = "";
if (this.hstyle.indexOf("header")>=0)
htmlpage = H + M;
else htmlpage = H + "<BR>" + M;
return htmlpage;
}

function helpbox(name, hm, width, height, bgcolor) {
this.name = name;
this.helpmessage = hm;
this.timerHandle = null;
this.windowHandle = null;
this.DEFAULTWIDTH = 250;
this.DEFAULTHEIGHT = 150;
this.DEFAULTBGCOLOR = "#ffffcc";
this.POPUPDELAY = 100;
if (width) this.width = width;
else this.width = this.DEFAULTWIDTH;
if (height) this.height = height;
else this.height = this.DEFAULTHEIGHT;
if (bgcolor) this.bgcolor = bgcolor;
else this.bgcolor = this.DEFAULTBGCOLOR;
return this;
}
function startHelp(msgindex) {
var cmdstr="top." + this.name + ".showHelp('" + msgindex + "')";
this.timerHandle = setTimeout(cmdstr, this.POPUPDELAY);
}
function showHelp(msgindex) {
if (!this.windowHandle || !this.windowHandle.name || this.windowHandle.name=="")
this.windowHandle = window.open(
"",
"subWindow",
"toolbar=no," +
"location=no," +
"directories=no," +
"status=no," +
"menubar=no," +
"scrollbars=no," +
"resizable=no," +
"width=" + this.width + "," +
"height=" + this.height
);
else
this.windowHandle.focus();
this.windowHandle.document.open();
var to_page =
"<HTML>\n" +
"<BODY BGCOLOR='" + this.bgcolor + "'><P>" +
this.helpmessage[msgindex].show() +
"</BODY></HTML>\n";
this.windowHandle.document.write(to_page);
this.windowHandle.document.close();
}
function clearHelp() {
clearTimeout(this.timerHandle);
if (this.windowHandle && this.windowHandle.name) {
this.windowHandle.close();
this.windowHandle=null;
}
}
new helpbox();
helpbox.prototype.startHelp = startHelp;
helpbox.prototype.showHelp = showHelp;
helpbox.prototype.clearHelp = clearHelp;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="home.htm" onMouseOver="myPopup.startHelp('home')" onMouseOut="myPopup.clearHelp()">На Главную страницу сайта</a><br>
<br>
<a href="another.htm" onMouseOver="myPopup.startHelp('forum')" onMouseOut="myPopup.clearHelp()">На другую страницу сайта</a><br>
<br>
<a href="Link.htm" onMouseOver="myPopup.startHelp('faq')" onMouseOut="myPopup.clearHelp()">JavaScript Линки</a><br>
<br>
<a href="popdemo.htm" onMouseOver="myPopup.startHelp('news')" onMouseOut="myPopup.clearHelp()">Демонстрационная страница</a><br>
<br>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 11

Бесфреймовое Pop-up окно
Если Вы обратите внимание на код, то немало удивитесь названию, данному этому скрипту. Пожалуй, это единственный скрипт в этом разделе, который является именно "фреймовым"! Объясняется все очень просто. Frame по-английски значит Рамка. И то, что многостраничное окно называется фреймсетом, а сами странички в этом окне фреймами - издержки английского языка. Все же рамка - есть рамка, а окно - есть окно. Так что в данном случае предполагается отсутствие рамки у POP-UP

(ТОЛЬКО IE4+, в других браузерах будет обычный pop-up)

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

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  CodeLifter.com (support@codelifter.com) -->
<!-- Begin
var windowW=3432 // комментарий
var windowH=3765 // комментарий
var windowX = 160 // комментарий
var windowY = 50 // комментарий
var urlPop ="popdemo3.htm"//комментарий
var title =  "popdemo 3"//комментарий
var autoclose = true //комментарий
// Ниже этой строки не изменяйте больше
      ничего
s = "width="+windowW+",height="+windowH;
var beIE = document.all?true:false
function openFrameless() {
if (beIE) {
NFW = window.open("","popFrameless", "fullscreen,"+s);
NFW.blur();
window.focus();
NFW.resizeTo(windowW,windowH);
NFW.moveTo(windowX,windowY);
var frameString=""+
"<html>"+
"<head>"+
"<title>"+title+"</title>"+
"</head>"+
"<frameset rows='*,0' framespacing=0 border=0 frameborder=0>"+
"<frame name='top' src='"+urlPop+"' scrolling=auto>"+
"<frame name='bottom' src='about:blank' scrolling='no'>"+
"</frameset>"+
"</html>";
NFW.document.open();
NFW.document.write(frameString);
NFW.document.close();
}
else {
NFW = window.open(urlPop,"popFrameless", "scrollbars,"+s);
NFW.blur();
window.focus();
NFW.resizeTo(windowW,windowH);
NFW.moveTo(windowX,windowY);
}
NFW.focus();
if (autoclose) {
window.onunload = function(){NFW.close();}
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT type="Button" VALUE="Бесфрэймовый Pop-up" onClick="javascript:openFrameless()">
</FORM>

Содержимое этой таблицы поместите между <BODY> и </BODY> в файле Pop-up

<body onLoad="top.window.focus()">

<!--ИСПОЛЬЗУЙТЕ ИМЕННО ЭТУ КНОПКУ-->
<p align="center">
<INPUT type="Button" VALUE="Закрыть окно" onClick="javascript:parent.window.focus();top.window.close()" style="float: center">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup3

Pop-up во весь экран
(желательно предусмотреть в том окне кнопку или линк "Закрыть")

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--

/*
Full Screen Window Opener Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function fullwin(){
window.open("popdemo.htm","","fullscreen,scrollbars")
}
//-->
</script>
<form>
<input type="button" onClick="fullwin()" value="Открыть окно">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


popup25

Всегда в фокусе.
Если открывается popup без HTML файла (то есть полностю сгенерированный), то такой popup всегда будет оставаться поверх окна-открывателя. Если же popup окно содержит готовую HTML страницу с этим кодом, такой popup не будет всегда поверх окна. При потере фокуса он окажется на панели задач выделенным и будет мигать (обычно мигание продолжается в течение первых нескольких секунд после потери фокуса). Теперь о коде. Речь идет вовсе не о том коде, который вы видите в таблицах (там включен так же код для генерации самого popup). Столь "мудрым" кодом является выделенная желтым цветом строчка, вставляемая в тэг <BODY>. То есть <BODY onBlur="self.focus()">. И все!

Если что-то не сработает из файла справки, можете попробовать открыть эту страницу в браузере (кнопка внизу)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- hide from old browsers
function PopIt(label, msg){
// Set up Page Colors & Table
var s1 = "<TITLE>Информационное окно!</TITLE>" +
"<BODY onBlur='self.focus()' BGCOLOR='ffffff'><TABLE BORDER=0><TR>" +
"<TD WIDTH=90% HEIGHT=90 VALIGN=TOP ALIGN=LEFT>"+
"<FONT SIZE=4>"
var s2 = "<FONT COLOR='FF0000'><B>"+label+"</B> </FONT><P>"
var s3 = "</TD><TD WIDTH=10%> </TD></TR><TR><TD> </TD>"+
"<TD VALIGN=TOP ALIGN=RIGHT>"+
"<FORM><INPUT TYPE='BUTTON' VALUE='Закрыть'" +
"onClick='self.close()'>" +
"</FORM></TD></TR></TABLE></BODY>"
popup = window.open("","popDialog", "height=160,width=300,scrollbars=no")
popup.document.write(s1+s2+msg+s3)
popup.document.close()
}

function popHelp(){
PopIt('ВСЕГДА В ФОКУСЕ!', 'Кликните где-нибудь вне ' +
'popup окна.')
}
<!-- done hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="BUTTON" VALUE="Открыть Pop-Up" onClick="popHelp()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Popup17

Время на странице (Alert)
Нажмите кнопку и все станет понятным. Именно такое сообщение Вы получите, когда будете покидать эту страницу.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var onHours = " ";
var onMinutes = " ";
var onSeconds = " ";
var offHours = 0;
var offMinutes = 0;
var offSeconds = 0;
var logSeconds = 0;
var logMinutes = 0;
var logHours = 0;
var OnTimeValue = " ";
var OffTimeValue = " ";
var PageTimeValue = " ";

function getLogonTime() {
var now = new Date();
var ampm = (now.getHours() >= 12) ? " P.M." : " A.M."
var Hours = now.getHours();
Hours = ((Hours > 12) ? Hours - 12 : Hours);
var Minutes = ((now.getMinutes() < 10) ? ":0" : ":") + now.getMinutes();
var Seconds = ((now.getSeconds() < 10) ? ":0" : ":") + now.getSeconds();
OnTimeValue =(" "
+ Hours
+ Minutes
+ Seconds
+ " "
+ ampm);
onHours = now.getHours();
onMinutes = now.getMinutes();
onSeconds = now.getSeconds();
}
function getLogoffTime() {
var now = new Date();
var ampm = (now.getHours() >= 12) ? " P.M." : " A.M."
var Hours = now.getHours();
Hours = ((Hours > 12) ? Hours - 12 : Hours);
var Minutes = ((now.getMinutes() < 10) ? ":0" : ":") + now.getMinutes();
var Seconds = ((now.getSeconds() < 10) ? ":0" : ":") + now.getSeconds();
OffTimeValue =(" "
+ Hours
+ Minutes
+ Seconds
+ " "
+ ampm);
offHours = now.getHours();
offMinutes = now.getMinutes();
offSeconds = now.getSeconds();
timer();
}
function timer() {
if (offSeconds >= onSeconds) {
logSeconds = offSeconds - onSeconds; }
else {
offMinutes -= 1;
logSeconds = (offSeconds + 60) - onSeconds;
}
if (offMinutes >= onMinutes) {
logMinutes = offMinutes - onMinutes; }
else {
offHours -= 1;
logMinutes = (offMinutes + 60) - onMinutes;
}
logHours = offHours - onHours;
logHours = ((logHours < 10) ? "0" : ":") + logHours;
logMinutes = ((logMinutes < 10) ? ":0" : ":") + logMinutes;
logSeconds = ((logSeconds < 10) ? ":0" : ":") +logSeconds;
PageTimeValue =(" "
+ logHours
+ logMinutes
+ logSeconds);
displayTimes();
}
function displayTimes() {
alert("\nВремя захода на страницу : " +OnTimeValue+"\n\nТекущее время : "+OffTimeValue+"\n\nПроведено на странице : " + PageTimeValue);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="getLogonTime()" onunLoad="getLogoffTime()">

<!------------- НЕ ОБЯЗАТЕЛЬНО ---------------->
<CENTER>
<FORM>
<INPUT TYPE="button" value="Время на странице" onClick="getLogoffTime()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup18

Время на странице (Alert) 2

Нажмите кнопку BACK или кликните здесь для просмотра эффекта

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="Javascript">
<!-- Original: Max Harris (mclh@rocketmail.com) -->
<!-- Web Site: http://members.tripod.com/~mclh/index.html -->

<!-- Begin
pageOpen = new Date();
function bye() {
pageClose = new Date();
minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
time = (seconds + (minutes * 60));
if (time < 60) {
time = (time + " сек");
alert('Эй! Вы пробыли на странице всего ' + time + '. Вы так быстро читаете?!');
}
else {
time = (time + " сек");
alert('Вы все прочитали за ' + time + '? Вы очень быстро читаете!');
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY OnUnload="bye()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup6

Генератор pop-up окон

Сделайте необходимые Вам установки
для pop-up окна и нажмите "Открыть окно"

: URL
: Toolbar
: Location
: Directories
: Status
: Menubar
: Scrollbars
: Resizable
: Width
: Height

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Reaz Hoque

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function customize(form) {
var address = document.form1.url.value;
var op_tool = (document.form1.tool.checked== true) ? 1 : 0;
var op_loc_box = (document.form1.loc_box.checked == true) ? 1 : 0;
var op_dir = (document.form1.dir.checked == true) ? 1 : 0;
var op_stat = (document.form1.stat.checked == true) ? 1 : 0;
var op_menu = (document.form1.menu.checked == true) ? 1 : 0;
var op_scroll = (document.form1.scroll.checked == true) ? 1 : 0;
var op_resize = (document.form1.resize.checked == true) ? 1 : 0;
var op_wid = document.form1.wid.value;
var op_heigh = document.form1.heigh.value;
var option = "toolbar="+ op_tool +",location="+ op_loc_box +",directories="
+ op_dir +",status="+ op_stat +",menubar="+ op_menu +",scrollbars="
+ op_scroll +",resizable=" + op_resize +",width=" + op_wid +",height="+ op_heigh;
var win3 = window.open("", "what_I_want", option);
var win4 = window.open(address, "what_I_want");
}
function clear(form) {
document.form1.wid.value="";
document.form1.heigh.value="";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<h4>Сделайте необходимые Вам установки<BR>для
pop-up окна и нажмите &quot;Открыть окно&quot;</h4>
&nbsp;
<TABLE cellpadding=3 border=1><TR><TD>
<FORM name=form1 ACTION="javascript:" METHOD="POST">
<INPUT TYPE="text" NAME="url" value="http://javashelp.cjb.net" size="20" >: URL<BR>
<INPUT TYPE="checkbox" NAME="tool">: Toolbar<BR>
<INPUT TYPE="checkbox" NAME="loc_box">: Location<BR>
<INPUT TYPE="checkbox" NAME="dir">: Directories<BR>
<INPUT TYPE="checkbox" NAME="stat">: Status<BR>
<INPUT TYPE="checkbox" NAME="menu">: Menubar<BR>
<INPUT TYPE="checkbox" NAME="scroll">: Scrollbars<BR>
<INPUT TYPE="checkbox" NAME="resize">: Resizable<BR>
<INPUT TYPE="text" NAME="wid" value= >: Width<BR>
<INPUT TYPE="text" NAME="heigh" value=>: Height<BR>
<BR>
<INPUT TYPE="button" VALUE="=Открыть окно=" OnClick="customize(this.form)"><BR>
<INPUT TYPE="reset" VALUE="=Сброс=" onClick="clear(this.form)">
</TD></TR></TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup9

Матрица
(поклонникам фильма "Матрица", имеющим MSIE, посвящаяется..:)

Кликните по любому из этих линков.
 (Не волнуйтесь! Открывшееся окно закроется автоматически)

Обычный шрифт
Жирный шрифт
Курсив
Жирный, курсив
Обычный строковый

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Matt Lewis (matt999_999@yahoo.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var matrix_window;
function MatrixWrite(string, bold, italic, speed) {
var height = window.screen.height;
var width = window.screen.width;
var win_dimensions = "height = " + eval(height + 10) + ", width = " + eval(width + 30);
matrix_window = window.open("blank.htm", "matrix_window", win_dimensions);
matrix_window.document.open("text/html", "replace");
var i;
var timer = 0;
if(matrix_window.moveTo)
matrix_window.moveTo(-10, -30);
if(matrix_window.resizeBy)
matrix_window.resizeBy(0, 50);
matrix_window.document.write("<body bgcolor=000000 text=00ff00 onBlur='self.focus()'>");
matrix_window.document.write("<font face=system>");
if(bold == true) matrix_window.document.write("<b>");
if(italic == true) matrix_window.document.write("<i>");
for(i = 0; i <= string.length; i++) {
timer += (Math.random() * speed);
setTimeout("matrix_window.document.write('" + string.charAt(i) + "');", timer);
}
timer += 2000;
setTimeout("matrix_window.close()", timer);
}
var messages = new Array("Ты во власти Матрицы...", "Иди за белым кроликом", "Проснись, Нео");
function GetRndIndex() {
return (parseInt(Math.random() * messages.length));
}
function WriteRndMsg(bold, italic, speed) {
MatrixWrite(messages[GetRndIndex()], bold, italic, speed);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table>
<tr>
<td>
<a href="javascript:WriteRndMsg(false, false, 750)">Обычный шрифт</a>
<br>
<a href="javascript:WriteRndMsg(true, false, 750)"><b>Жирный шрифт</b></a>
<br>
<a href="javascript:WriteRndMsg(false, true, 750)"><i>Курсив</i></a><br>
<a href="javascript:WriteRndMsg(true, true, 750)"><b><i>Жирный, курсив</i></b></a>
<br>
<a href="javascript:MatrixWrite('Knock knock, Neo', false, false, 750)">Нормальный
строковый</a>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup1

Назначение местоположения и размеров POP-UP окна
 (важной особенностью этого скрипта является не столько его способность открывать определенных размеров pop-up окно в определенном месте экрана, а то, что открываемое окно содержит полностью сгенерированную скриптом HTML страницу, которую не надо предварительно создавать и сохранять в виде отдельного файла)

ИЛИ

Открыть окно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function win() {
msg=window.open("","msg","height=200,width=200,left=80,top=80");
msg.document.write("<html><title>Windows!</title>");
msg.document.write("<body bgcolor='white' onblur=window.close()>");
msg.document.write("<center>содержание вновь
    созданной страницы здесь</center>");
msg.document.write("</body></html><p>");

// Если есть
      необходимость открыть в POP-UP
// уже существующий HTML документ, тогда
      надо заменить выделенную зеленым строку на
// window.open("popdemo.htm","","height=200,width=200,left=80,top=80");
//а  остальные строки,
    начинающиеся на MSG, надо удалить
// Правда, тогда
    особого смысла в этом скрипте нет...
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<input type="button" value="Open Window" onclick="win()">
</form><BR>
</font>
<font size="4" color="#000000">

<!--ИЛИ-->

</font>
<BR><BR>
<a href="javascript:win()">Open Window</a>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом обозначены данные, определяющие размер POP-UP окна, желтым - местоположение на экране монитора. Также, читайте комментарий, выделенный синим цветом


Popup16

Незакрываемый POP-UP
Ну, не закрывается он, положим, только стандартной кнопочкой Закрыть в правом верхнем углу... Впрочем, если не предусмотреть специальный линк (кнопку) "Закрыть", такое окошечко можно расценивать наравне с вирусом! Не забудьте поместить на страницу этого "злобного" POP-UP линк Закрыть! (в четвертой таблице, ниже <BODY OnunLoad...)

Открыть "п г о т и в н ы й" Popup!

Содержимое этой таблицы поместите между <HEAD> и </HEAD> ОСНОВНОГО ДОКУМЕНТА

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  CodeLifter.com (support@codelifter.com) -->
<!-- Web Site:  http://www.codelifter.com -->
<!-- Begin
theUrl="Popup16a.htm";
function doThePopUp() {
reWin = window.open(theUrl,'determined','toolbar=no, location=no,
      directories=no,status=no,menubar=no, scrollbars=no,resizable=no,width=200,
      height=300,top=100,left=100');
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY> ОСНОВНОГО ДОКУМЕНТА

<a href="javascript:doThePopUp()">Открыть Popup</a>

Содержимое этой таблицы поместите между <HEAD> и </HEAD> POP-UP

 <SCRIPT LANGUAGE="JavaScript">
<!-- Original:  CodeLifter.com (support@codelifter.com) -->
<!-- Web Site:  http://www.codelifter.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
theUrl = 'Popup16a.htm'
lockU = 1
function doAgain() {
if (lockU == 1) {
reWin=window.open(theUrl,'','toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=no,
 resizable=no,width=200,height=300, top=100,left=100')
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY> POP-UP

<BODY onunLoad="doAgain()">

<br>
<br>
<a href="javascript:lockU=0; self.close()"><b>ЗАКРЫТЬ ОКНО</b></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 7

POP-up Alert box при наведении мыши на линк

Наведите мышь на этот текст

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A href="#top" onMouseOver='alert("Поместите свой текст сюда!")'>
Наведите мышь на этот текст</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


popup23

Pop-up c "дистанционным управлением"
А именно: кнопка "Открыть Pop-up" становится кнопкой "Закрыть Pop-up" сразу, как Pop-up появляется. Есть небольшой баг. Если закрыть Pop-up не кнопкой со страницы, а как обычное окно, то кнопка на странице становится "Открыть Pop-up" только после нажатия. При этом может появится сообщение об ошибке. (Здесь функция сообщения об ошибках просто отключена. В коде так же сделаны некоторые изменения. Часть из них перенесена в таблицу, а часть - нет. При желании можете скопировать из источника.)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--
var i=1

function pop(){

i++

if (i<3){

popWindow=window.open("","popWindow","toolbar=no,width=200,height=180,directories=no,menubar=no");

popWindow.document.writeln("<HTML><HEAD>");

popWindow.document.writeln("<SCRIPT LANGUAGE='JavaScript'>");

popWindow.document.writeln("function exitNow(){");

popWindow.document.writeln("opener.document.forms[0].elements[0].value='Открыть POP-UP';");

popWindow.document.writeln("opener.i=1 }");

popWindow.document.write("</\SCRIPT></\HEAD><\BODY bgcolor=black onClick=\"exitNow(); self.close()\">");

popWindow.document.write("");

popWindow.document.write("<p>");

popWindow.document.write("<center><font color=yellow>");

popWindow.document.write("<H3>");

popWindow.document.write("Этот скрипт позволяет Вам закрыть");

popWindow.document.write("<br>");

popWindow.document.write("pop-up окно, используя ту же кнопку");

popWindow.document.write("<br>");

popWindow.document.write("с помощью которой оно было открыто!!");

popWindow.document.write("</H3>");

popWindow.document.write("</font></center><p>");

popWindow.document.write("<p></\BODY></HTML>");

document.forms[0].elements[0].value="Закрыть POP-UP"

}

else{

if (i==3){

popWindow.close()

document.forms[0].elements[0].value="Открыть POP-UP"

i=1

}
}
}

//-->
</SCRIPT>
<FORM>
<INPUT TYPE="BUTTON" VALUE="Открыть POP-UP" onClick="pop()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup19

Окно со скроллингом без scrollbars!
Нажмите кнопку и все станет понятным... А для того, чтобы сделать такое окно у себя на сайте см. таблицы.

Создайте новый файл, например popup.html (приведен полный код)

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Popup</title>
<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eddie Traversa (psych3@primus.com.au) -->
<!-- Web Site: http://nirvana.media3.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function verScroll(dir, spd, loop) {
loop = true;
direction = "up";
speed = 10;
scrolltimer = null;
if (document.layers) {
var page = eval(document.contentLayer);
}
else {
if (document.getElementById) {
var page= eval("document.getElementById('contentLayer').style");
}
else {
if (document.all) {
var page = eval(document.all.contentLayer.style);
}
}
}
direction = dir;
speed = parseInt(spd);
var y_pos = parseInt(page.top);
if (loop == true) {
if (direction == "dn") {
page.top = (y_pos - (speed));
} else {
if (direction == "up" && y_pos < 10) {
page.top = (y_pos + (speed));
} else {
if (direction == "top") {
page.top = 10;
}
}
}
scrolltimer = setTimeout("verScroll(direction,speed)", 1);
}
}
function stopScroll() {
loop = false;
clearTimeout(scrolltimer);
}
// End -->
</script>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<div id="contentLayer" style="position:absolute; width:300px; z-index:1; left: 39px; top: 51px">
<B>
<font face=Verdana size=4>

Поместите здесь свой текст !&nbsp;<br>
Это может быть что угодно: презентация, анекдоты, научный
текст или справочник...

</font>
</B>
</div>
<div id="scrollmenu" style="position: absolute; width: 200; height: 62; z-index: 1; left: 400; top: 40">
<table border=1 bgcolor="#808080"><tr><td>
<table width="209">
<tr>
<td align=left width="99"><font color="#FFFFFF"><b>Вниз</b></font> </td>
<td width="18"> </td>
<td align=right width="72"><font color="#FFFFFF"><b>Вверх</b></font></td>
</tr>
<tr>
<td colspan=3 width="201">
<a href="#" onMouseOver="verScroll('up','25','true')" onMouseOut="stopScroll()"><<<</a>

<a href="#" onMouseOver="verScroll('up','5','true')" onMouseOut="stopScroll()"><<</a>
<a href="#" onMouseOver="verScroll('up','1','true')" onMouseOut="stopScroll()"><</a> |
<a href="#" onMouseOver="verScroll('dn','1','true')" onMouseOut="stopScroll()">></a>
<a href="#" onMouseOver="verScroll('dn','5','true')" onMouseOut="stopScroll()">>></a>
<a href="#" onMouseOver="verScroll('dn','25','true')" onMouseOut="stopScroll()">>>></a>
</font>
</td>
</tr>
</table>
</td></tr></table>
</div>
</body>
</html>

Содержимое этой таблицы поместите между <BODY> и </BODY> основного документа

<center>
<form name="scrollwindow">
<input type=button value="Открыть окно со скроллингом" onClick="window.open('popup.html','scrollwindow','top=100,left=100,width=655,height=270');">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup8

Просмотр в HTML
Напечатайте что-нибудь и нажмите "посмотреть". Вроде Блокнота, только HTML

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: nsabs@1nsyncfan.com -->
<!-- Web Site: http://www.envy.nu/gjelly -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function displayHTML(form) {
var inf = form.htmlArea.value;
win = window.open(", ", 'popup', 'toolbar = no, status = no');
win.document.write("" + inf + "");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<textarea name="htmlArea" cols=45 rows=6>
</textarea>
<br>
<input type="button" value="посмотреть" onclick="displayHTML(this.form)">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup2

Открытие POP-UP окна точно в центре экрана
 (с одновременной заменой основного окна на страницу из Pop-up)

Домашняя страница

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript" type="text/javascript">

/*
Auto center window script- Eric King (http://redrival.com/eak/index.shtml)
Permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var win = null;
function NewWindow(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+', top='+TopPosition+', left='+LeftPosition+',
      scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings)
if(win.window.focus){win.window.focus();}
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--Теперь для получения нужного эффекта Вы должны записывать тэг <A href cледующим образом-->

<a href="home.htm"
onclick= "NewWindow(this.href,'name', '400','400','yes');return
false">Домашняя страница</a>

<!--Где "yes" означает наличие скроллинга для POP-UP окна, "no" - нет. Цифры 400 400 определяют размер POP-UP окна-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Если необходимо запретить возможность "растягивать" окно, напишите noresizable вместо resizable (выделено белым цветом)


RC55

Отмена pop-up сообщений об ошибках

Скрипт отменяет любые сообщения об ошибках на странице, возникающие у посетителя по тем или иным причинам. То есть ошибки останутся (если были), а сообщений о них не будет. Перед использованием скрипта лучше все же убедиться, что ошибок на странице с этим скриптом у вас нет.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*JavaScript error stopper-
By Website Abstraction (www.wsabstract.com)
200+ free JavaScripts here
*/

function stoperror(){
return true
}
window.onerror=stoperror
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup20

Отмена сообщений об ошибках на страницах
с комментарием в строке статуса

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

function stopError() {
window.status ="На странице произошла ошибка
      выполнения javascript. Пожалуйста, сообщите
      вебмастеру";
return true;
}

window.onerror = stoperror;

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup13

Pop-up при закрытии страницы
(можно использовать для навязывания общества своего сайта... или баннеров... или попрощаться красиво... или... сами придумайте!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function leave() {
window.open('popdemo.htm','','toolbar=no, menubar=no, location=no,height=500,width=500');
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onUnload="leave()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup5

"Прощальный" POP-UP

Появляется при закрытии страницы. Второй раз не появляется так как использует cookie. Впрочем, замените выделенную цифру на любое число и столько раз Pop-up и появится. Также можно pop-up заменить на alert (см. комментарий в таблице)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
Fair well window launcher script
By Website Abstraction (http://wsabstract.com)
Over 200+ free scripts here!
*/

function openpopup(){
//Создайте ПРОЩАЛЬНЫЙ HTML-чик seeyou.htm, или вместо следующей строки напишите alert("Жаль,
      если Вы уходите навсегда... Или еще вернетесь? Возвращайтесь! Ждем!!!")
window.open("seeyou.htm","","width=300,height=338")
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { // if cookie exists
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function loadpopup(){
if (get_cookie('popped')==''){
openpopup()
document.cookie="popped=yes"
}
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup10

Подтверждение входа на страницу
Очень короткий, но весьма действенный скрипт. С его работой Вы вероятно уже ознакомились, иначе не читали бы этот текст.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!-- Begin
var zayti=confirm("Вы точно хотите сюда войти? \nЕсли нет, нажмите ОТМЕНИТЬ и Вы вернетесь туда, откуда пришли.");
if (zayti)
history.go(1);
else
history.back();
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


poppup21

Просмотр рисунка для фона в POP-UP окне
Внимание! В некоторых случаях (касается только IE) может не открыться окно. Или, что более вероятно, в открывшемся окне не будет никакого рисунка фона. В первом случае ничего, кроме попытки повторить запуск, посоветовать нельзя. Что же касается отсутствия фонового рисунка в новом окне, то впишите не просто имя файла рисунка (выделен желтым), а полный его адрес http://...и т.д.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*By George Chiang (WA JavaScript site www.abstract.simplenet.com)
Credit must stay intact for use*/
function tile(bgname){
win2=window.open("","","width=380,height=380")
if (win2){
win2.focus()
win2.document.open()
win2.document.write("<head><title>"+bgname+"</title></head>")
win2.document.write("<body background="+'"'+bgname+'"'+">")
win2.document.write("</body>")
win2.document.close()
}
else
alert("Невозможно открыть новое окно! Повторите попытку.")
}
//-->
</script>
<a href="test.htm"
onclick="tile('backgr10.gif');return false"><img
src="backgr10.gif" border="0" width="80"
height="80"></a>
<a href="test.htm"
onclick="tile('backgr11.gif');return false"><img
src="backgr11.gif" border="0" width="128"
height="128"></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC17

JavaScript "реактивный"Alert
(мгновенный! до начала загрузки страницы!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
alert(" Добро пожаловать! ")
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC112

Рекламное объявление
Перетаскиваемое и выключаемое

Рисунок кнопочки называется close.gif

Рекламное объявление
Главная страница- Показать!
Самая замечательная в Мире Главная страница! Самая пустая в Мире Главная страница! Не ходите дети в Африку гулять!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*
DHTML Announcement Box- By Jim Silver @ jimsilver47@yahoo.com
Exlusive permission granted to Dynamic Drive (http://dynamicdrive.com) to include this script in their DHTML archive.
For full source code, terms of use, and 100's more scripts, visit http://dynamicdrive.com
*/

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for IE 4+////
/////////////////////////////////

var dragapproved=false

function drag_dropie(){
if (dragapproved==true){
document.all.showimage.style.pixelLeft=tempx+event.clientX-iex
document.all.showimage.style.pixelTop=tempy+event.clientY-iey
return false
}
}

function initializedragie(){
iex=event.clientX
iey=event.clientY
tempx=showimage.style.pixelLeft
tempy=showimage.style.pixelTop
dragapproved=true
document.onmousemove=drag_dropie
}

if (document.all){
document.onmouseup=new Function("dragapproved=false")
}

////drag drop functions end here//////

function hidebox(){
if (document.all)
showimage.style.visibility="hidden"
else if (document.layers)
document.showimage.visibility="hide"
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="showimage" style="position:absolute;width:250px;left:250;top:250">

<table border="0" width="250" bgcolor="#000080" cellspacing="0" cellpadding="2">
<tr>
<td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"
height="36">
<tr>
<td onMousedown="initializedragie()" style="cursor:hand" width="100%"><ilayer width="100%" onSelectStart="return false"><layer width="100%" onMouseover="dragswitch=1;drag_dropns(showimage)" onMouseout="dragswitch=0"><font face="Verdana"
color="#FFFFFF"><strong><small>Рекламное объявление</small></strong></font></layer></ilayer></td>
<td style="cursor:hand"><a href="#" onClick="hidebox();return false"><img src="close.gif" width="16"
height="14" border=0></a></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFFFFF" style="padding:4px" colspan="2">

<small><strong><font face="Verdana">Главная страница- <a
href="home.htm">Показать!</a></font></strong></small><br>
<small><font face="Verdana">Самая замечательная в Мире Главная страница! Самая пустая в Мире Главная страница!
Не ходите дети в Африку гулять!</font></small>

</td>
</tr>
</table>
</td>
</tr>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC113

Рекламное объявление 2
Оно исчезнет через 10 секунд, вернее, уже исчезло, иначе Вы не смогли бы это прочитать. Время настраивается (выделено белым в таблице)

Пожалуйста, подержите шарик!
А потом подержите Купидончика,
который с луком и крылышками...
.

(Эта "реклама" закроется через десять секунд)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
<!--
#sponsorAdDiv {position:absolute; height:1; width:1; top:0; left:0;}
-->
</style>
<SCRIPT LANGUAGE="JavaScript1.2">

/*
DHTML Ad Box (By Matt Gabbert- tax@nolag.com, http://www.nolag.com)
Script featured on Dynamicdrive.com
For full source, TOS, and 100's more DHTML scripts, visit http://www.dynamicdrive.com
*/

adTime=10;  // ВРЕМЯ
      ЭКСПОЗИЦИИ
chanceAd=1; // ad will be shown 1 in X times (put 1 for everytime)

var ns=(document.layers);
var ie=(document.all);
var w3=(document.getElementById && !ie);
adCount=0;
function initAd(){
if(!ns && !ie && !w3) return;
if(ie)		adDiv=eval('document.all.sponsorAdDiv.style');
else if(ns)	adDiv=eval('document.layers["sponsorAdDiv"]');
else if(w3)	adDiv=eval('document.getElementById("sponsorAdDiv").style');
randAd=Math.ceil(Math.random()*chanceAd);
if (ie||w3)
adDiv.visibility="visible";
else
adDiv.visibility ="show";
if(randAd==1) showAd();
}
function showAd(){
if(adCount<adTime*10){adCount+=1;
if (ie){documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;}
else if (ns){documentWidth=window.innerWidth/2+window.pageXOffset-20;
documentHeight=window.innerHeight/2+window.pageYOffset-20;}
else if (w3){documentWidth=self.innerWidth/2+window.pageXOffset-20;
documentHeight=self.innerHeight/2+window.pageYOffset-20;}
adDiv.left=documentWidth-200;adDiv.top =documentHeight-200;
setTimeout("showAd()",100);}else closeAd();
}
function closeAd(){
if (ie||w3)
adDiv.display="none";
else
adDiv.visibility ="hide";
}
onload=initAd;
//End-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="sponsorAdDiv" style="visibility:hidden">
<table width="450" height="350" bgcolor="#008000"><tr><td>
<table width="445" height="345" bgcolor="#F0FFF0"><tr><td align="center" valign="middle">

<!--*****EDIT THIS MESSAGE*****-->
<A HREF="home.htm">
<IMG SRC="ballon3.gif"></A><p><b>Пожалуйста, подержите шарик!<br>
А потом подержите Купидончика,<br>
который с луком и крылышками...<br> .</b>
</p>
<p><A HREF="Link.htm">
<IMG SRC="cute.gif"></A></p>
<p>(Эта "реклама" закроется через десять секунд)
<br>

<!--*****EDIT THE ABOVE MESSAGE*****-->
</td></tr></table></td></tr></table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Размеры таблиц, выделенных соответственно зеленым и желтым, уменьшайте или увеличивайте пропорционально - разница между соответствующими размерами - это толщина border.


Popup7

Связанный со страницей pop-up

Имя пользователя: Помощь?
Пароль: Помощь?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function explain(name, output, msg) {
newwin = window.open('','','top=150,left=150,width=325,height=300');
if (!newwin.opener) newwin.opener = self;
with (newwin.document)
{
open();
write('<html>');
write('<body onLoad="document.form.box.focus()"><form name=form>' + msg + '<br>');
write('<p>Вы можете напечатать ' + name + ' прямо здесь и это будет скопировано в Вашу форму автоматически!');
write('<p><center>' + name + ': <input type=text name=box size=10 onKeyUp=' + output + '=this.value>');
write('<p><input type=button value="Click to close when finished" onClick=window.close()>');
write('</center></form></body></html>');
close();
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form method=post action="/cgi-bin/your-script.cgi">
Имя пользователя: <input type=text name="username" size=10> <a href="javascript:explain('User Name', 'opener.document.form.username.value', 'Поле имя пользователя это место, где Вы назначаете имя с которым будете входить на сайт. Напечатайте здесь что-нибудь, что Вы легко сможете запомнить и что будет легко идентифицировать Вас на сайте.');" onMouseOver="window.status='Click for explanation...';return true;" onMouseOut="window.status='';return true;">Помощь?</a>
<br>
Пароль: <input type=text name="password" size=10> <a href="javascript:explain('Password', 'opener.document.form.password.value', 'Поле пароля это место, где Вы назначаете свой уникальный пароль. Он понадобится Вам при каждом посещении сайта. В целях безопасности убедитесь, что пароль Вы легко запомните, но для посторонних он окажется достаточно труден.');" onMouseOver="window.status='Click for explanation...';return true;" onMouseOut="window.status='';return true;">Помощь?</a>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


popup22

Слово приветствия...
Этот небольшой скрипт написан просто из баловства. Я и сам толком не знаю где его применить. Но эффект скроллинга налицо, без всяких дополнительных примочек, вроде создания дополнительного HTML документа для pop-up окна, вставки в него скрипта и т.д. Хотя скорость набора слов сильно зависит от производительности Вашего компьютера. На 2 Ггц, мне кажется, фраза выскочет мгновенно. Так что скрипт похож скорее на бенчмарку.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language=JavaScript>
// EZ 2001  http://javashelp.cjb.net

var char=new Array('П','р','и','в','е','т',',', '&nbsp','б','о','л','ь','ш','и','е','&nbsp',
'д','я','д','и','!','<br>','В','ы','&nbsp','с','а', 'м','ы','е','&nbsp','л','у','ч','ш','и','е',
'&nbsp','в','&nbsp','М','и','р','е','&nbsp', 'б','о','л','ь','ш','и','е','<br>','п','ь','я','н','ы','е','&nbsp',
'д','я','д','и','.','&nbsp','Г','е','г','е','м','о', 'н','ы','!');
function privet() {
var greet = open("","greetwin","toolbar=no,
 directories=no, menubar=no,width=345,height=170")
greet.document.write("<HTML> <HEAD><TITLE>Окно для Приветствия</TITLE></HEAD><BODY OnClick=\"self.close()\" BGCOLOR=BLACK>");
greet.document.write("<FONT FACE=HELVETICA COLOR=LIME><CENTER><B>СЛОВО ПРИВЕТСТВИЯ!</B>
 </FONT></CENTER><HR>");
greet.document.write("<font face=verdana color=yellow><big>");
for (var i=0;i<75;i++)
greet.document.write(""+char[i]+"");
greet.document.write("</big></font>");
greet.document.write("<HR></BODY></HTML>") ;
}
</script>
<input type=button value="Привет!" onClick="privet()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup12

Pop-up с задержкой при загрузке

Время задержки появления pop-up окна установлено в 2 секунды. Изменить эту и другие настройки см. таблицу (выделено белым цветом)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
closetime = 0; // Close window after __ number of seconds?
// 0 = do not close, anything else = number of seconds

function Start(URL, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + WIDTH + ",height=" + HEIGHT;
preview = window.open(URL, "preview", windowprops);
if (closetime) setTimeout("preview.close();", closetime*1000);
}

function doPopup() { // страница для POP-UP окна
url = "popdemo.htm";
width = 267; // ширина popup окна
height = 103; // высота popup окна
delay = 2; // время задержки после загрузки
timer = setTimeout("Start(url, width, height)", delay*1000);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="doPopup();">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup15

Pop-up с задержкой при загрузке 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function popupPage() {
var page = "popdemo.htm"; // Страница для pop-up окна
windowprops = "height=500,width=500,location=no,"
+ "scrollbars=no,menubars=no,toolbars=no,resizable=yes";

window.open(page, "Popup", windowprops);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onLoad="setTimeout('popupPage()', 5000);"> // Время задержки

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Popup14

Показать все линки страницы
Автоматически собирает со страницы все ссылки и компанует их в нумерованный список в отдельном окне. Очень практичный скрипт! Следует, однако, иметь в виду, что в список попадут только те и именно те линки, которые работают с помощью HTML тэга "<A HREF=..."

Линк на страницу popdemo.htm

(все линки, которые Вы видите на странице, нужны только для демонстрации работы скрипта)

Перейти на страницу Линки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kulesh S. (linklist@meshage.net) -->
<!-- Web Site:  http://meshage.net/scribble -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function LinkList() {
var myheader = "<head><title>Links In "+document.title+"</title></head><style>a:link, a:visited, a:active { text-decoration: none; color: yellow;}a:hover { text-decoration: none; color: lime; }</style>";
myheader = myheader + "<body bgcolor=\"#000000\">";
var myfont = "<font style=\"font: 8pt Verdana, Arial, Helvetica, Sans-serif; line-height:18pt; font-weight:bold\" face=\"verdana, tahoma, geneva\" size=\"-1\" color=white>";
var mytext = "<center><b>Линки на странице " + document.title + "</b><ol></center>";
var myendfont = "</font>";
var myendheader = "</body>";

windowprops = "menubars=no,location=no, toolbars=no,scrollbars=yes,"+"width=350,
      height=400,top=50,left=50";
self.name = "main";

if(document.all) {
for (i=0; i<document.links.length; i++) {
if(document.links[i].innerText)
if(document.links[i].innerText != " ")
mytext += "<li><a target='_new' href="+document.links[i]+">
      "+document.links[i].innerText+"</a><br>";
else
mytext += "<li><a target='_new' href="+document.links[i]+">
      "+document.links[i]+"</a><br>" ;
}
}
else {
for (i=0; i<document.links.length; i++) {
if(document.links[i].text) {
if(((document.links[i].text).indexOf("javascript:")) == -1) {
mytext += "<li><a target='_new' href="+document.links[i]+">
      "+document.links[i].text+"</a><br>" ;
}
}
else { }
}
}
mytext = mytext + "</ol><center> <a href='javascript:window.close()'>
      Закрыть окно</a></center><BR>";

linkswin = window.open("","",windowprops);
with (linkswin.document) {
open();
write(myheader + myfont + mytext + myendfont + myendheader);
close();
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:LinkList();">Список всех линков
имеющихся на странице</a>
<br>
или
<br>
<form>
<input type=button onClick="LinkList();" value="Список всех линков">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Перейти на страницу НОМЕ

Другая страница


RC116

Топик Дня (Windows)
Я полагаю, Вы уже поняли о чем идет речь. Выглядит действительно очень похоже на Виндоусовский Топик. Содержание самих советов не переводилось - какая необходимость, если Вы все равно будете заменять их своими комментариями. Что же касается кодов, то тут все довольно просто, лишь несколько объемно, да и то за счет самих топиков... Содержание первой таблицы поместите как и указано, в основной документ. А из содержания второй, создайте отдельный документ с названием файла totd.html. Вот и все. Напишите свои комментарии, свободно используя HTML тэги (как положено в Javascript) и не забудьте рисунок из этого ZIP архива.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="totdinit()">

<Script Language="JavaScript">
bver=navigator.appVersion.split(";");
function totdstart(){
if(bver[1].match("5."))
rv=window.showModalDialog( "totd.html",null,"dialogWidth:430px;
      dialogHeight:280px;center:1; scroll:0;help:0;status:0");
else
rv=window.showModalDialog( "totd.html",null,"dialogWidth:430px;
      dialogHeight:300px;center:1; scroll:0;help:0");
nd= new Date();
nd.setTime (nd.getTime()+(365*24*60*60*1000));
cdomain = (location.domain) ? location.domain : null;
cpath = (location.domain) ? location.pathname : null;
if (rv!=0)
SetCookie ("totdc", "true", nd, cpath, cdomain);
}

function totdinit(){
if (document.all){
if (GetCookie("totdc")!="true")
totdstart()
else
document.body.insertAdjacentHTML('beforeEnd','<Div Id="etotd" style="width:140;position:absolute;top:0;left:0;
      BACKGROUND-COLOR:#B71717;  BORDER-BOTTOM:#5C0000 solid 2px;BORDER-LEFT:#FE5E5E solid 2px;BORDER-RIGHT:#5C0000 solid 2px;BORDER-TOP:#FE5E5E solid
      2px;font-family:Arial;font-size:8pt;font-weight:bold;
      text-align:center;padding-top:2px;  padding-bottom:2px;color:#FFFFFF;cursor:default" onclick="enable()" onmousedown="mover()" onmouseup="mout()" onmouseout="mout()">Включить Топик Дня</Div>');
}
}

function enable(){
DeleteCookie("totdc");
etotd.innerHTML="Топик дня активирован";
setTimeout('etotd.style.visibility="hidden"; totdstart()',1000);
}

function mover(){
etotd.style.borderLeftColor="#5C0000";
etotd.style.borderRightColor="#FE5E5E";
etotd.style.borderBottomColor="#FE5E5E";
etotd.style.borderTopColor="#5C0000";
etotd.style.paddingLeft="1px";
etotd.style.paddingTop="3px";
}

function mout(){
etotd.style.borderLeftColor="#FE5E5E";
etotd.style.borderRightColor="#5C0000";
etotd.style.borderBottomColor="#5C0000";
etotd.style.borderTopColor="#FE5E5E";
etotd.style.paddingLeft="0px";
etotd.style.paddingTop="2px";
}

//  Cookie Functions - Second Helping  (21-Jan-96)
//  Written by:  Bill Dortch, hIdaho Design <bdortch@netw.com>
//  The following functions are released to the public domain.

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 4) ? argv[5] : false;
document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain));
}

function DeleteCookie(name){
exp=new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie ("name");
document.cookie = name + "=" + cval +"; expires=" + exp.toGMTString();
}

<!--
/*	Script by Lefteris Haritou © 1999
http://www.geocities.com/~lef
This script is free as long as
you keep the above credit
*/
//-->
</Script>

Cоздайте новый документ totd.html

<HTML>
<HEAD>
<TITLE>Tip of the day</TITLE>
</HEAD>
<Body Bgcolor="#BFBFBF" Text="#000000" style="font-size:10pt;font-family:Arial" onLoad="dspltip()">
<Div style="position:absolute;left:10;top:10; background-color:#808080;text-align:center; width:58;height:79%">
<IMG SRC="totd.gif" WIDTH="23" HEIGHT="31" BORDER="0" style="position:relative;top:18"><BR>
<Span Id="cntr" style="position:relative; top:140px;font-family:Arial; font-size:10pt;font-weight:bold;color:#FFFFF0">
</Span>
</Div>
<Div style="position:absolute;left:68;top:10; background-color:#FFFFFF;width:346; height:79%;border:solid 1px #808080">
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<FONT FACE="Times New Roman" SIZE="+1"><B>Did you know that...</B></FONT>
<HR size="1" style="position:relative;top:10">
<Span Id="mtxt" style="position:relative;top:10px;padding:15px 10px 10px 10px;font-family:Arial;font-size:10pt; width:100%;overflow:auto;height:138px">
</Span>
</Div>
<Div style="position:absolute;left:10;top:222;width:100%">
<Input id="dspl1" type="checkbox" checked>&nbsp;<Span onclick="chgstatus()">Show tips at startup</Span><Input type="button" Value="Next Tip" style="width:70;position:relative;left:113; background-color:#BFBFBF; color:#000000;font-family:Arial;font-size:9pt;border:2px outset #FFFFFF" onclick="ntip()"><Input type="button" Value="Close" style="width:70;position:relative;left:123; background-color:#BFBFBF; color:#000000;font-family:Arial;font-size:9pt;border:2px outset #FFFFFF" onclick="endf()">
</Div>

<Script Language="JavaScript">
todmsg=new Array();

// Add below your tips (Do not edit anything above this line !!!!)

todmsg[0]="You can install the \"Tip of the day\" script to your homepage in less than 3 minutes ?"
todmsg[1]="The \"Tip of the day\" Script works in Internet Explorer 4 and Internet Explorer 5 ?"
todmsg[2]="The only file you need to edit to customize the script is the file called totdmsg.js ?"
todmsg[3]="If you un check the \"Show tips at startup\" checkbox a button will be displayed in the top left corner of the Browser the next time you access your page, to allow you to re-enable the \"Tip of the day\" Script ?"
todmsg[4]="The messages are displayed randomly each time you reload the page ?"
todmsg[5]="You can have as many tips as you like (even 10000 and Im not joking) !"
todmsg[6]="You should never place a \" symbol in your Tip description ?<BR>You should first place a backslash \\ before the quotation mark, because else the script will not work. So is you like to type \"My Quote\" type : \\\"My Quote\\\""
todmsg[7]="If a message is too long and does not fit in the screen, a scroll bar is displayed to allow you to view the whole tip ?<BR><BR>Like in this simple example I set up !<BR><BR><BR>See ? No problem !<BR><BR>It works fine :-)"
todmsg[8]="You can use even HTML tags in the tip ?<BR><FONT FACE=\"Arial\" SIZE=\"4\" COLOR=\"#FF0000\"><B><I>See ? Im using HTML code !</I></B></FONT><BR>Just be careful when you use HTML code and put a backslash \\ before all quotation marks that your Tags may have !"
todmsg[9]="It would be nice to put a link back to my page if you use this script ? My page URL is : <A HREF= \"http://www.geocities.com/~lef\">http://www.ge</A>"
todmsg[10]="If all tips are displayed the script starts over again to make the tip rotation infinte ?"
todmsg[11]="You should put each tip description in a separate line and in the format todmsg[x]=\"Tip goes here.....\" ?<BR><BR> [x is a number in ascending order, starting from 0, you can see the todmsg.js file to understand it better]"
todmsg[12]="You should <I><B>not</B></I> contact me regarding any questions for the Script<BR>You can ask for help in the DynamicDrive forums :<A HREF=\"http://www.dynamicdrive.com\">http://w</A> or you can ask for help in the JavaScript news group : <A HREF=\"news://comp.lang.javascript\">news://co</A>"
todmsg[13]="You should type each tip description in a single line and <U><B>never</B></U> press Enter within a description and brake it into 2 rows ! (If a description is broken up in 2 lines, the script will stop working and you will get JavaScript errors)"
todmsg[14]="The \"Tip of the day\" Script starts working after you page finishes loading (to prevent Illegal operations in IE4) ? So if you want to make it faster to display the tip (before you page loads) you could have as an entry HTML page a page with only the script and a plain link to the rest of your pages.<BR><BR>Example : You can have as index.htlm a page wich only contains the code of the scirpt to make sure that the visitor sees the the Tip before entering your page."
todmsg[15]="While the \"Tip of the day\" is displayed the user cannot access your main page, unless he closes the \"Tip of the day\" window of course !"
todmsg[16]="You can use this script as an alternative method to display messages (disclaimers, notices, etc) for your page ? Just edit the file totd.html and replace the phrase \"Did you know that...\" with whatever you like !"
todmsg[17]="After you finish customizing the script and writing your own tips, you should upload the files : totd.html , totd.js, totdmsg.js and totd.gif to your webpage provider and place them all in the same directory !"
todmsg[18]="To insert the \"Tip of the day\" script to your page, you have to :<BR> 1.) Copy and paste everything within the &lt;Script> tags (including the Script tags) from the file index.html <BR> 2.) You should place this : onLoad=\"totdinit()\" in your pages BODY tag<BR><BR>If you have already another onLoad statement in your BODY tag (from another JavaScript) do not put a second statement there because simply it won't work ! Here is what you have to do in that case : <BR>Let's say you have a JavaScript that requires you to place in the BODY tag the statement onLoad=\"init()\" and you like to use the \"Tip of the day\" script too (which requires you to add the onLoad=\"totdinit()\" statement)<BR>You do not place 2 onLoad statements ! Instead you use this : onLoad=\"init();totdinit()\" , which means you place both function calls in the same event handler (onLoad) separated by a semicolon. Same can be used for even more than 2 Scripts, like onLoad=\"init();totdinit();start();go()\" etc...."
todmsg[19]="You can un check the \"Show tips at startup\" checkbox, even if you click on the \"Show tips at startup\" text and not in the checkbox directly !"
todmsg[20]="If the \"Tip of the day\" window is closed by the x in the upper right corner and not from the close button the Script doen't take notice if the checkbox was un checked ! So make sure to close it from the close button if you have un checked the checkbox and do not wish to see any more Tips in the feature !"
todmsg[21]="The number of the tip you are viewing and the whole number of tips available are displayed in the down left edge of the window ? This is done to help you keep track of the tips you read, and off course to be aware how many tips to expect !"
todmsg[22]="There are 23 Tips here (including this one), so you have plenty to read ! :-)"
</Script>
<Script Language="JavaScript">
cnt=0;
todmsg.sort(rndm)

function rndm(a,b){
return (Math.random()-Math.random())
}

function chgstatus(){
if (dspl1.checked)
dspl1.checked=false;
else
dspl1.checked=true;
}

function dspltip(){
mtxt.innerHTML=todmsg[0]
cntr.innerHTML="1/"+todmsg.length
}

function ntip(){
if (cnt<todmsg.length-1)
cnt++;
else
cnt=0;
mtxt.innerHTML=todmsg[cnt];
cntr.innerHTML=(cnt+1)+"/"+todmsg.length
}

function endf(){
if (!dspl1.checked)
window.returnValue=1
else
window.returnValue=0
window.close();
}
</Script>
</BODY>
</HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


popup24

Дистанционное управление цветом фона

Содержимое этой таблицы поместите между <HEAD> и </HEAD> основного документа

<!-- /////////////////////////////// ////////////////////////////////////////////
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
///////////////////////////////// ////////////////////////////////////////// -->

<SCRIPT LANGUAGE="JavaScript">
<!--
var winopts =
"toolbar=no,location=yes,directories=no,status=no"
+ ",menubar=no,scrollbars=yes,resizable=yes"

//security
// + ",copyhistory=yes"
+ ",width=390,height=400"

// To start
function Start() {
// window for controller
CtrlWin = this.open("popup24a.htm", "CtrlWindow", winopts);
// window
CtrlWin.IMAWin = this;
// debugging
// ShowWin = this.open("", "ShowWindow", winopts);
// CtrlWin.ShowWin = ShowWin;
}

//-->
</SCRIPT>

Содержимое этой таблицы поместите вместо <BODY> основного документа

<body onLoad="Start()">

Создайте дополнительный HTML документ popup24a.htm

<HTML><HEAD>
<title>Управление цветом</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<!-- ///////////////////////////////// //////////////////////////////////////////
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
////////////////////////////////////// ///////////////////////////////////// -->

</HEAD>
<body  bgcolor="white"  text="black" link="red" alink="purple" vlink="red">

<code><b>
Это пример отлично демонстрирует как можно
можно дистанционно управлять другим окном

<SCRIPT LANGUAGE="JavaScript">
<!--
var OldUrl  = "none";
var MyColor = "none";
var DsplyStr= "Manu";
var TimeWait  = 1000;
var TimeDelta =  100;
var Tid;

function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i+1] = initArray.arguments[i];
}
}

var BkgdColorSet = new initArray(
7,
"black",
"gray",
"tan",
"blue",
"purple",
"yellow",
"green",
"brown",
"teal",
"pink",
"aliceblue",
"antiquewhite",
"salmon",
"sandybrown",
"seagreen",
"seashell",
"sienna",
"silver",
"skyblue",
"slateblue",
"slategray",
"snow",
"springgreen",
"tan",
"teal",
"thistle",
"tomato",
"turquoise",
"violet",
"wheat",
"white" ,
"whitesmoke",
"yellow",
"yellowgreen"

)

function IncrTimeWait () {
TimeWait = TimeWait + TimeDelta;
DsplyStr = "" + TimeWait + "ms";
this.document.PageTrack.Monitor.value = DsplyStr;
}

function DecrTimeWait () {
if (TimeWait > TimeDelta) {
TimeWait = TimeWait - TimeDelta;
DsplyStr = "" + TimeWait + "ms";
this.document.PageTrack.Monitor.value = DsplyStr;
} else {
this.alert("You can't let TimeWait = 0 !");
}
}

function PageMani(color) {
this.IMAWin.document.bgColor = color;
}

function PageOrig() {
this.IMAWin.location = this.IMAWin.location;
}

function Cycle() {
// A simple way to know if this automator is still alive.
if (DsplyStr == "Auto") {
DsplyStr = "" + TimeWait + "ms";
} else {
DsplyStr = "Auto";
}
this.document.PageTrack.Monitor.value = DsplyStr;
CurUrl = "" + this.IMAWin.location;
if (CurUrl != OldUrl) {
OldUrl = "" + this.IMAWin.location;
PageMani(MyColor);
}
// sleep().
Tid = setTimeout("Cycle()",TimeWait);
}

function StartCycle() {
if (MyColor == "none") {
this.alert("Please select a color.");
} else {
// avoid more than one cycle().
clearTimeout(Tid);
DsplyStr = "Auto";
PageMani(MyColor);
Cycle();
}
}

function StopCycle() {
if (MyColor == "none") {
this.alert("Please select a color.");
} else {
clearTimeout(Tid);
DsplyStr = "Manu";
PageMani(MyColor);
this.document.PageTrack.Monitor.value = DsplyStr;
}
}

//-->
</SCRIPT>
<CENTER>
<FONT COLOR="black">
</FONT>
</CENTER>

<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("");
document.write("</CENTER>");
document.write("</FORM>");
document.write("<FORM NAME='ColorSlct'>");
for (var i = 1; i < BkgdColorSet.length; i++) {
mono = '"' + BkgdColorSet[i+1] + '"';
document.write(
"<INPUT TYPE='radio' NAME='ColorSlct' onClick='MyColor="
+ mono
+ ";PageMani(MyColor)'><FONT COLOR='black'>"
+ mono.substring(1, mono.length-1)
+ "</FONT><BR>"
);
}
document.write("</FORM>");
document.write("");
document.write("<FORM>");
document.write("");
document.write(
"<INPUT TYPE='button' style=\"width:330\" VALUE='Вернуть оригинальный цвет
  ' onClick='PageOrig();self.close()'>"
);
document.write("");
document.write("</FORM>");
document.write("");
//-->
</SCRIPT>
</BODY></HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


banner_8

POP-UP окно для спонсора

Очень полезный скрипт! Запускает при загрузке Вашей странички небольшое окно со страницей, содержащей код спонсора, который Вы получаете при регистрации. При клике по баннеру внутри popup окна, само окно закрывается, а страница спонсора загружается вместо Вашей.

Содержание первой таблицы поместите в HEAD Вашей загружаемой страницы, содержание второй - это полный код страницы для POPUP- используйте для создания нового документа.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
pop up script-
By Website Abstraction (www.wsabstract.com)
Over 200+ free, original scripts here!
*/
//ИЗМЕНИТЕ ШИРИНУ И ВЫСОТУ ОТКРЫВАЕМОГО POPUP ПРИ НЕОБХОДИМОСТИ
newwindow=window.open("banner_8a.htm","","width=485,height=70")
newwindow.creator=self
</script>

Создайте новый документ (например, banner_8a.htm)

<html>
<head>
<title>Please support our sponsor!</title>
</head>
<body bgcolor="#FFFFFF">

<p align="left">
<script>
function loadurl(url){
window.creator.location=url
window.close()
}
</script>

<a href="http://ad.linkexchange.com/1/X348076/gotoad.map" target="_top" onClick="loadurl(this.href);return false"><img
width="440" height="40" border="1" ismap alt="LinkExchange"
src="http://ad.linkexchange.com/1/X348076/logoshowad?free"></a> <!------ЭТО ДАННЫЕ СПОНСОРА------>

</p>
</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


banner

"Конвейер" баннеров
При наведении мыши прокрутка останавливается. Остальные настройки см. в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script language="JavaScript1.2">
<!--

/*
Conveyor belt slideshow script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/

var sliderwidth=330 // РАЗМЕРЫ БОКСА
var sliderheight=145
var slidespeed=4 // СКОРОСТЬ ПРОКРУТКИ

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="#top"><img src="cute.gif" border=1></a>'
leftrightslide[1]='<a href="#top"><img src="ballon2.gif" border=1></a>'
leftrightslide[2]='<a href="#top"><img src="ballon3.gif" border=1></a>'
leftrightslide[3]='<a href="#top"><img src="ballon4.gif" border=1></a>'
leftrightslide[4]='<a href="#top"><img src="butterfly.gif" border=1></a>'

///////do NOT edit pass this line////////////////////////////////////

var copyspeed=slidespeed
//copy contents of leftrightslide into one variable
for (i=0;i<leftrightslide.length;i++)
finalslide=finalslide+leftrightslide[i]+"&nbsp;&nbsp;"

if (document.all){
//dynamically write out the marquee tag
document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>')
//stop marquee when mouse is over it
ieslider.onmouseover=new Function("ieslider.scrollAmount=0")
//re-enable marquee when mouse is out
ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed")
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}
if (document.all)
ieslider.scrollAmount=slidespeed
}

//NS specific function for initializing slider upon page load
function intializeleftrightslide(){
document.ns_slider01.document.ns_slider02. document.write('<nobr>'+finalslide+'</nobr>')
document. ns_slider01.document.ns_slider02.document.close()
thelength=document.ns_slider01. document.ns_slider02.document.width
scrollslide()
}

//NS specific function for sliding slideshow
function scrollslide(){
if (document.ns_slider01. document.ns_slider02.left>=thelength*(-1)){
document.ns_slider01. document.ns_slider02.left-=slidespeed
setTimeout("scrollslide()",100)
}
else{
document.ns_slider01. document.ns_slider02.left=sliderwidth
scrollslide()
}
}
window.onload=regenerate2

//-->
</script>

<ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide>
<layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer>
</ilayer>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC57

Ротатор баннеров
Загрузите эту страницу несколько раз для просмотра эффекта. Наибольший эффект от использования этого скрипта на сайте может быть получен путем создания файла moi_bannery.js и размещения на страницах, где есть меняемые баннеры, лишь короткого тэга <script language="JavaScript" src="moi_bannery.js"></script>

(Не копируйте код из источника! Он не будет работать на Ваших страницах)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var how_many_ads = 3; //количество перебираемых
 баннеров
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
if (ad==1) {
txt="Лучшие в Мире книжки, Amazon.com";
url="http://www.amazon.com"; //адрес, по которому попадает пользователь после клика
 по баннеру 1
alt="amazon.com";
banner="http://адрес_первого_баннера.com/images/Ad13700St1Sz1Sq1_Ban1.gif"; //адрес самого рисунка баннера

width="468";
height="60";
}
if (ad==2) {
txt="Palm III by 3Com, лучшие в Мире наладонники!";
url="http://cybershop.com/"; //адрес, по которому попадает пользователь после клика
 по баннеру 2
alt="cybershop.com";
banner="http://адрес_второго_баннера.com/images/Ad13189St1Sz1Sq5_Ban2.gif"; //адрес самого рисунка баннера
width="468";
height="60";
}
if (ad==3) {
txt="Find it at GoTo.com, лучший в Мире поисковик!";
url="http://www.goto.com"; //адрес, по которому попадает пользователь после клика
 по баннеру 3
alt="goto.com";
banner="http://адрес_третьего_баннера.com/images/Ad13700St1Sz1Sq1_Ban3.gif"; //адрес самого рисунка баннера
width="468";
height="60";
}
document.write('<center>');
document.write('<a href=\"' + url + '\" target=\"_top\">');
document.write('<img src=\"' + banner + '\" width=')
document.write(width + ' height=' + height + ' ');
document.write('alt=\"' + alt + '\" border=0><br>');
document.write('<small>' + txt + '</small></a>');
document.write('</center>');
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC58

Ротатор баннеров 2
Меняет баннеры без перезагрузки! страницы после небольшой паузы.

Наибольший эффект от использования этого скрипта на сайте может быть получен путем создания файла moi_bannery.js и размещения на страницах, где есть меняемые баннеры, лишь короткого тэга <script language="JavaScript" src="moi_bannery.js"></script>

(Не копируйте код из источника! Он не будет работать на Ваших страницах)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Markus Fischer (mfischer@josefine.ben.tuwien.ac.at) -->
<!-- Web Site: http://josefine.ben.tuwien.ac.at/~mfischer/ -->

<!-- Begin
var mfBanners = [
['http://www.banner1-url-here.com', 'http://imageserv.imgis.com/images/Ad13700St1Sz1Sq1_Ban1.gif'],
['http://www.banner2-url-here.com', 'http://imageserv.imgis.com/images/Ad13189St1Sz1Sq5_Ban2.gif']
];
var mfIe = false;
if( document.all) {
mfIe = true;
}
var mfBannerIndex = 0;
function mfBannerChange() {
var htmlString = '<a target="_blank" href="'+mfBanners[mfBannerIndex][0]+'"> <img border="0" src="'+mfBanners[mfBannerIndex][1]+'"></a>';
if( mfIe) {
document.all.banner.innerHTML = htmlString;
}
else {
document.layers["banner"].document.open();
document.layers["banner"].document.write( htmlString);
document.layers["banner"].document.close();
}
if(mfBannerIndex < mfBanners.length - 1)
mfBannerIndex++;
else
mfBannerIndex = 0;
}
setInterval("mfBannerChange()", 5000);
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="banner" style="position:absolute; top:150; left:30;"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC61

Ротатор баннеров 3
С описанием вероятности (читай, частоты) появления каждого из баннеров в системе случайного воспроизведения: для баннера 1 - 16%, для баннера 2 - 50%, для баннера 3 - 33%. Очень полезный скрипт!!!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Rich Galichon (rich@galichon.net) -->
<!-- Web Site:  http://www.galichon.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function banner(imgSource,url,alt,chance) {
this.imgSource = imgSource;
this.url = url;
this.alt = alt;
this.chance = chance;
}
function dispBanner() {
with (this) document.write("<A HREF=" + url + "> <IMG SRC='" + imgSource + "' WIDTH=468 HEIGHT=60 BORDER=0 ALT='" + alt + "'></A>");
}
banner.prototype.dispBanner = dispBanner;
banners = new Array();
banners[0] = new banner("http://www.galichon.net/images/ banner/galichon_logo.jpg",
      //баннер 1 - 16 процентов
"http://www.galichon.net target='_blank'",
"Описание к баннеру 1",
10);
banners[1] = new banner("http://imageserv.imgis.com/images/
      Ad13700St1Sz1Sq1_Ban1.gif", //баннер 2 -
      50 процентов
"http://www.banner1-url-here.com target='_blank'",
"Описание к баннеру 2",
30);
banners[2] = new banner("http://imageserv.imgis.com/images/
      Ad13189St1Sz1Sq5_Ban10.gif", //баннер 3 -
      33 процента
"http://www.banner2-url-here.com target='_blank'",
"Описание к баннеру 3",
20);
sum_of_all_chances = 0;
for (i = 0; i < banners.length; i++) {
sum_of_all_chances += banners[i].chance;
}
function randomBanner() {
chance_limit = 0;
randomly_selected_chance = Math.round((sum_of_all_chances - 1) * Math.random()) + 1;
for (i = 0; i < banners.length; i++) {
chance_limit += banners[i].chance;
if (randomly_selected_chance <= chance_limit) {
document.write("<A HREF=" + banners[i].url + "> <IMG SRC='" + banners[i].imgSource + "' WIDTH=468 HEIGHT=60 BORDER=0 ALT='" + banners[i].alt + "'></A>");
return banners[i];
break;
}
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
this_banner = randomBanner();
document.write("<br><br>У этого баннера шансов быть показанным " + (this_banner.chance / sum_of_all_chances) * 100 + "%");
// End -->
</script> <!--ВСЮ ЭТУ ЧАСТЬ СКРИПТА МОЖНО УБРАТЬ-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


banner9

Случайный комментарий к баннеру спонсора
Случайно выбранный, из любого введенного количества, комментарий к баннеру спонсора в статусной строке. Комментарий изменяется при каждом наведении мыши на баннер. Кроме того, скрипт таким образом "прячет" адрес баннера.

Нажмите кнопку внизу страницы для просмотра работы скрипта

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
Click banner enticer script
By Website Abstraction (http://wsabstract.com)
Over 200+ free scripts here!
*/

var entices=new Array()
entices[0]="Кликните для поддержки спонсора!"
entices[1]="Получите этот сайт бесплатно! Кликните здесь!"
entices[2]="Навестите нашего спонсора"
entices[3]="Заходите за халявой!"
entices[4]="Прирвитесь на минуту и посетите отличный сайт"
entices[5]="Кликните здесь!"
//extend this list as desired

function generate_entices(toggle){
if (toggle==1)
window.status=entices[Math.round(Math.random()*(entices.length-1))]
else
window.status=''
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="http://sponsor.com"  onMouseover="generate_entices(1);return
    true" <!---ЧАСТЬ СКРИПТА---> onMouseout="generate_entices(0)"><img
src="../../sponsors/jpad4.gif" width="466" height="58" border="0"></a>
    <!----Код спонсора, получаемый при
    регистрации--->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Img42

Шторки для баннеров
(каждый баннер - конечно, линк)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">

.imgsstyle {
position:absolute;
left:-2000px;
}
A {
color:FF0000;
}
</STYLE>

<SCRIPT LANGUAGE="JavaScript">
<!--

// The file-names of your slideshow's images
var imgsname = new Array()
imgsname[0]="bannertransj1.gif"
      //   РИСУНКИ БАННЕРОВ
imgsname[1]="bannertransj2.gif"
imgsname[2]="bannertransj3.gif"

// the links for each image
var imgsurl = new Array()
imgsurl[0]="http://www.yahoo.com"
      //   URL ДЛЯ КАЖДОГО
      БАННЕРА
imgsurl[1]="http://www.altavista.com"
imgsurl[2]="http://www.excite.com"

// Configure the distance to the left and top margin of the window (pixels)
var imgstop=110
      // ПОЛОЖЕНИЕ НА СТРАНИЦЕ
var imgsleft=30

// Configure the speed of the transition effect. less means faster
var pause=80

// Configure the standstill-time of the images (seconds)
var standstill=3000

// Do not change the variables below this line
var imgpreload=new Array()
for (i=0;i<=imgsname.length-1;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=imgsname[i]
}
var coverimage = new Array()
coverimage[0]="imgtransj115.gif"
coverimage[1]="imgtransj215.gif"
coverimage[2]="imgtransj315.gif"
coverimage[3]="imgtransj415.gif"
coverimage[4]="imgtransj515.gif"
coverimage[5]="imgtransj615.gif"
coverimage[6]="imgtransj715.gif"
coverimage[7]="imgtransj815.gif"
coverimage[8]="imgtransj915.gif"
coverimage[9]="imgtransj1015.gif"
coverimage[10]="imgtransj1115.gif"
coverimage[11]="imgtransj1215.gif"
coverimage[12]="imgtransj1315.gif"
coverimage[13]="imgtransj1415.gif"
coverimage[14]="imgtransj1515.gif"

var covimgpreload=new Array()
for (i=0;i<=coverimage.length-1;i++) {
covimgpreload[i]=new Image()
covimgpreload[i].src=coverimage[i]
}
var i_imgs=0
var i_loop=0
var thisurl=0
var timer
stamdstill=standstill*1000

function init() {
if (document.all) {
document.all.imgs.style.posTop=imgstop
document.all.imgs.style.posLeft=imgsleft
document.all.cover.style.posTop=imgstop
document.all.cover.style.posLeft=imgsleft
enlargehearts()
}

if (document.layers) {
document.imgs.top=imgstop
document.imgs.left=imgsleft
document.cover.top=imgstop
document.cover.left=imgsleft
enlargehearts()
}
}

function enlargehearts() {
if (i_loop<=coverimage.length-1) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop++
timer= setTimeout("enlargehearts()",pause)
}
else {
clearTimeout(timer)
i_loop--
timer= setTimeout("shrinkhearts()",standstill)
}
}

function shrinkhearts() {
if (i_loop>=0) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop--
timer= setTimeout("shrinkhearts()",pause)
}
else {
clearTimeout(timer)
i_loop=0
i_imgs++

if (i_imgs>=imgsname.length) {i_imgs=0}
if (document.all) {
imgsback.src=imgsname[i_imgs]
}
if (document.layers) {
document.imgs.document.imgsback.src=imgsname[i_imgs]
}
timer= setTimeout("enlargehearts()",(4*pause))
}
}

function gotourl() {
document.location.href=imgsurl[i_imgs]
}

// - End of JavaScript - -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="init()">

<DIV ID="imgs" class="imgsstyle"><img width=468 height=60 name="imgsback" src="bannertransj1.gif" border="0" target="_blank"></DIV>

<DIV ID="cover" class="imgsstyle"><a href="javascript:gotourl()"><img width=468 height=60 name="imgcover" src="imgtransj1.gif" border="0" target="_blank"></a></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: bannershtory.zip (кроме самих баннеров)


Security1

Парольный доступ к странице

Пароль: нажмите "Enter"
работающие пароли: blue red yellow балбес умник (комментарии к скрипту в таблице и внизу страницы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT>
/*If you want a better version of this script E-mail me at animorph840@yahoo.com .*/

function passwordOK(anystring) {
anystring = anystring.toUpperCase()

if (anystring == "GREEN" || anystring == "BLUE" || anystring
== "RED" || anystring == "YELLOW" || anystring == "УМНИК" || anystring == "БАЛБЕС") {
/*Добавьте (по аналогии) паролей сколько угодно, НО В СКРИПТЕ ВСЕ БУКВЫ ПАРОЛЕЙ ДОЛЖНЫ БЫТЬ ЗАГЛАВНЫМИ!!!!*/
alert('Пароль принят!')
alert('Сейчас Вы перейдете на скрытую страницу.')
location="home.htm"
//Поместите вместо home.htm свою скрытую страницу

}

else {
alert ("Извините, пароль не принят.")
location="test.htm"
//Измените test.htm (правила регистрации нового пользователя) на свою страницу
}
}
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

На этой странице Вы также можете применить скрипт, запрещающий правый клик мыши, ограничив, таким образом, доступ к источнику страницы. Кроме того желательно, чтобы эта страница появлялась в pop-up окне без МЕНЮ, ПАНЕЛИ ИНСТРУМЕНТОВ и т.д.. Используйте скрипт "Генератор POP-UP окон" см. раздел "POP-UP окна" и скрипт "Запрет на правый клик мыши" см. раздел "Разное".


Security23

ПАРОЛЬЕР
(читайте авторское описание)

(обязательные условия применения скрипта см. внизу страницы)

=======================================================================

JAVA/SCRIPTS - Парольер

=======================================================================
версия :: 1.3
название :: Парольер
дата :: 21.01.2000
размер :: 10kb
автор :: Deto
url :: http://js.hotmail.ru/ftp/s2.txt
zip :: http://js.hotmail.ru/ftp/s2.zip
=======================================================================
=== Принцип работы ====================================================
=======================================================================

Как защитить страницу от посторонних глаз? Часто бывают случаи, когда
на сайт нужно поместить страницу, к которой имели бы доступ только
"свои" люди. Так вот этот скрипт вам в этом и поможет. Он показывает
код страницы, размещенной до кода скрипта, а затем запрашивает пароль.
Если пароль верный, то продолжает открывать страницу, а в противном
случае отсылает на другую.

=== Достоинства ===
* быстрая работа (в отличии от подобного cgi скрипта)
* легкое администрированние

=== Ложка дёгтя в бочке меда ===
* пока можно использовать только один пароль

=======================================================================
=== Пример ============================================================
=======================================================================

Этот скрипт используеться на:
http://sq.hotmail.ru/admin/
http://js.hotmail.ru/admin/

=======================================================================
=== Установка скрипта =================================================
=======================================================================

=== ШАГ НОМЕР 1 ===

Поместите в любое место тегов <head></head> или <body></body>::

<!-- Passworder 1.3 SCRIPT --><script language="JavaScript">// script written by Deto Freeman
// find more Java Scripts @ www.js.hotmail.ru
pass = prompt('Enter Password, please:');
if (pass=='!!!0!!!') { alert('!!!1!!!') } else { alert('!!!2!!!'), top.location.href="!!!3!!!" }
</script><!-- Passworder 1.3 SCRIPT END -->

Измените следующие части:

Вместо !!!0!!! напишите единственно доступный пароль
Вместо !!!1!!! напишите текст сообщения о верном пароле
Вместо !!!2!!! напишите текст сообщения об отказе в доступе
Вместо !!!3!!! напишите адрес страницы с отказом в доступе

Пример редактирования:

<!-- Passworder 1.3 SCRIPT --><script language="JavaScript">// script written by Deto Freeman
// find more Java Scripts @ www.js.hotmail.ru
pass = prompt('Enter Password, please:');
if (pass=='itsmypassword') { alert('Welcome to this page!') } else { alert('Your password is incorrect!'), top.location.href="no.htm" }
</script><!-- Passworder 1.3 SCRIPT END -->

Примечания:
* не стирайте ковычки
* пользуйтесь английскими буквами
* разместите код скрипта после тегов <meta>

Если вы поместите скрипт в тег <body>, то все, что будет находиться
перед ним (скриптом), будт показанно посетителю.

=======================================================================
=== Заключительный шаг ================================================
=======================================================================

ВНИМАНИЕ! На всех страницах, к которым имеет отношение этот скрипт, вы
должны разместить один из нижепреведенных кодов:
1) Наш маленький баннер

<!-- JAVA SCRIPTS mini banner -->
<a href="http://js.hotmail.ru/" target="_blank"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - коллекция лучших Java скриптов - скрипт поисковой системы, регистратора, парольера..." border=0 height=31 width=88></a>

2) Текстовая ссылка (параметры текста менять запрешенно!)

<!-- JAVA SCRIPTS textlink 1 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Мы пользуемся скриптами с сайта Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 2 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Самые лучшие бесплатные Java скрипты на сайте Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 3 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Поисковая система на вашем сайте - это просто!</a></font>

1) Маленький баннер нашего спонсора
ТОЛЬКО ЕСЛИ У ВАС САЙТ НА МУЗЫКАЛЬНУЮ ИЛИ ОКОЛОМУЗЫКАЛЬНУЮ ТЕМУ

<!-- SoniqueRu mini banner -->
<a href="http://sq.hotmail.ru/" target="_blank"><img src="http://sq.hotmail.ru/bm.gif" alt="SonqiueRu - самый лучший компьютерный mp3 плеер! БЕСПЛАТНАЯ ФУТБОЛКА ДЛЯ ФЭНОВ!" border=0 height=31 width=88></a>

=======================================================================

www.sq.hotmail.ru :: olkhset@online.ru
www.js.hotmail.ru :: Deto Freeman

=======================================================================

Установка "Парольера " разрешена авторами только при условии размещения на странице со скриптом ссылки на сайт авторов в виде "кнопочки". Установить кнопку очень просто. Достаточно поместить следующий html код в вашу www страницу:
<a href="http://js.hotmail.ru/"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - лучшие java скрипты!" height=31 width=88></a>

В итоге у вас появиться вот такая кнопочка:

Или вы можете поставить кнопку наших друзей:

<a href="http://sq.hotmail.ru/"><img src="http://sq.hotmail.ru/bm.gif" alt="Sonique - лучший mp3 плейер! Теперь на русском! Куча скинов и плаг-инов!" height=31 width=88></a>

Если вы пользуетесь "автоматическим" редактором www страниц, без физического контакта с html кодом, вам достаточно вставить картинку, где её адресом служила бы строка "http://js.hotmail.ru/bm.gif", а затем поставить на неё ссылку на "http://js.hotmail.ru/".


Security2

Парольная защита по имени файла

Принцип работы этой защиты хорош тем, что ее фактически невозможно сломать. То есть, не зная имени файла секретной страницы, попасть на нее невозможно. Впрочем, зная имя файла, можно обойтись и без этой мишуры... Итак, для начала скопируйте и поместите код из нижней таблицы в стартовую страницу, ту. которая будет вначале загружаться у посетителя. На странице появиться кнопочка вроде той, что Вы видите ниже. Затем создайте новую страницу (полный ее код находится в верхней таблице) и поместите ее в одну директорию со стартовой страницей и рисунком keeper.gif. Также, желательно, чтобы и секретная страница находилась в той же директории, иначе пароль получиться сложноватым. А пароль, между прочим, всего лишь имя файла секретной страницы, но без расширения. Так что можете дать имя покруче, однако флэши включать (в случае с разными папками) не стоит. Ну а теперь нажмите кнопку и посмотрите пример. В качестве пароля используйте файл home.htm

Полный код для новой страницы gatekeep.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Gate Keeper</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--- Hide from tired old browsers that should be put to pasture.

//  Get your very own Gate Keeper from Professional Web Design
//   http://junior.apk.net/~jbarta/weblinks/gate_keeper/

function goForit() {
var location;
var password;
password= this.document.testform.inputbox.value
location=password + ".html" // если файл
      открываемой секретной страницы имеет
      расширение htm, то впишите htm вместо html
fetch(location)
theKeeper=window.close()
}

function fetch(location) {
var root;
if (opener.closed) {
root=window.open('','theKeepersGopher', 'toolbar=yes, location=yes, status=yes,
      menubar=yes, scrollbars=yes, resizable=yes, copyhistory=no');
root.location.href = location;
} else {
opener.location.href = location;
}
}

// End hiding --->

var mes="Введите пароль!!!";
function click(e) {
if (document.all) {
if (event.button == 2) {
alert(mes);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// -->
</SCRIPT>

</HEAD>

<BODY BACKGROUND="keeper.gif"> //рисунок
      внизу страницы

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 WIDTH=100%>
<TR>
<TD ROWSPAN=2 WIDTH=50%>
&nbsp;&nbsp;

<TD WIDTH=50% ALIGN=CENTER VALIGN=MIDDLE>
<FONT FACE="ARIAL" SIZE=2><B>Спокойно, граждане!. Вам придется ввести пароль для входа на страницу. Просто, мы стараемся держаться подальше от всякой шушеры.</B></FONT><BR>
&nbsp;

<TR>
<TD WIDTH=50% ALIGN=CENTER VALIGN=BOTTOM>
<CENTER>
<FORM NAME="testform">
<INPUT TYPE="text" NAME="inputbox" VALUE="" size=20>
<INPUT TYPE="button" NAME="button" Value="Ввести пароль" onClick="goForit(this.form)">
</FORM>
</CENTER>

</TABLE>

</BODY>
</HTML>

Содержимое этой таблицы поместите между <BODY> и </BODY> стартовой страницы

<SCRIPT LANGUAGE="javascript">
<!--- Hide from tired old browsers
var nifty_little_window = null;
function gateKeeper() {
nifty_little_window = window.open('gatekeep.html', 'theKeeper',
'width=350,height=200,resizable=1');
}
// End hiding --->
</SCRIPT>
<form>
<input type="button" value="Вход" onClick="gateKeeper()"
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный на странице gatekeep.html, появляющейся в POP-UP окне.

keeper.gif


Security21

Пароль - имя файла защищенной страницы.
Скрипт является упрощенной копией "Gatekeeper" (см. скрипт "Парольный доступ (по имени файла)"). Однако выгодно отличается от последнего своей простотой и мизерным объемом, не теряя при этом своих достоинств, а именно: защиту нельзя сломать. Хоть в источник смотри, хоть еще куда..., а пока не будет введено имя файла (без .html или .htm) никуда попасть невозможно, особенно если сохранить защищенную страницу с названием, составленным по всем правилам криптографии. Для примера мы тут не слишком утруждались и назначили пароль "home" (без ковычек). Следовательно, защищенная таким образом страница имеет имя файла home.htm

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var password = ''
password=prompt('Введите пароль:','Подсказка: пароль - home');
if (password != null) {
location.href= password + ".htm";
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security3

Парольный доступ: UserID и Password

Введите: UserID: Рыба , Password: Селедка и Вы попадете на страницу home.htm

Login Area

Имя пользователя:

Пароль:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="javascript">
<!--//
/*This Script allows people to enter by using a form that asks for a
UserID and Password*/
function pasuser(form) {
if (form.id.value=="Рыба") {
if (form.pass.value=="Селедка") {
location="home.htm"
} else {
alert("Invalid Password")
}
} else { alert("Invalid UserID")
}
}
//-->
</script>

<center>
<table bgcolor="white" cellpadding="12" border="1">
<tr><td colspan="2"><center><h1><i><b>Login
Area</b></i></h1></center></td></tr>
</font>
<tr><td><h1><i><b><font color="#FF0000" size="4">Имя пользователя:</font></b></i></h1></td>
<font size="4" color="#FF0000">
<td><form
name="login"><input
name="id" type="text"></td></tr>
</font>
<tr><td><h1><i><b><font color="#FF0000" size="4">Пароль:</font></b></i></h1></td>
<font size="4" color="#FF0000">
<td><input
name="pass"
type="password"></td></tr>
<tr><td><center><input type="button" value="Login"
onClick="pasuser(this.form)"> </center></td><td><center><br><input
type="Reset"></form></td></tr></table></center>
<BR>
</font>
<font size="4" color="#FF0000">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security4

Парольный доступ 2
(оперирует не Alert-ами а HTML-ами)

Введите Username:молоко , Password: корова и вы попадете на home.htm. Введете что-нибудь не так и попадете на test.htm

Введите USERNAME :

Введите PASSWORD :

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<p>Введите USER NAME :
<input type="text" name="text2">
</p>
<p>Введите PASSWORD :
<input type="password" name="text1">
<input type="button" value="Войти" name="Submit" onclick=javascript:validate(text2.value,"молоко",text1.value,"корова") ><!-- здесь назначаются ID и Password-->
</p>

</form>
<script language = "javascript">

/*
Script by Anubhav Misra (anubhav_misra@hotmail.com)
Submitted to Website Abstraction (http://wsabstract.com)
*/

function validate(text1,text2,text3,text4)
{
if (text1==text2 && text3==text4)
load('home.htm'); // сюда попадете, если правилный пароль
else
{
load('test.htm'); // сюда попадете, если неправилный пароль
}
}
function load(url)
{
location.href=url;
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security5

Кодовая комбинация

Необходимо, чтобы открываемый по коду документ имел цифровое название - 1234.htm, например. Если Вы назначили какой-то код, а это должна быть 4х значное число, то должны заменить число, выделенное белым цветом в верхней таблице на число, равное произведению всех чисел в коде. К примеру, если код 1234, то цифра должна быть 24, то есть 1*2*3*4=24, если код 2415, то цифра - 40. Причем набор цифр должен осуществляться в том же порядке, что и в коде.

Наберите код 1234 - сработает, наберите 3451 - нет, и т.д.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="JavaScript">
<!-- Key-code script by Bart Jellema
// You may use this script freely as long
// as you credit me for it...
var usermulcode=24
// This is to validate the code. In this case
// the code is 1234 so the mul = 1*2*3*4 = 24
// Change this value for your own code
// If your code is 2415 it will be
// usermulcode = 40 (2*4*1*5)
var code=0   // the entered code
var mul=1    // the multiplied digits
var digit=0  // number of digits entered so far
var fails=0  // number of tries done
function Enter_code(number)
{

code=code*10+number         // Add the digit to the code
mul=mul*number              // Update mul-value
document.codepad.thecode.value=code  // Show code
digit++                     // Increase digit

if (digit==4)               // Four digits entered
{
if (mul==24)              // This is to validate
// the code. In this case
// the code is 1234 so the
// mul = 1*2*3*4 = 24
// Change this value for
// your own code
{
location=code+".htm"
      // Если Ваш секретный документ имеет
      расширение html, то впишите html вместо htm
}
else
{
fails++                 // Increase fails
code=0                  // Reset values
mul=1
digit=0
if (fails<3)
{
if (fails==1)
{document.codepad.thecode.value="Попытайтесь еще."}
if (fails==2)
{document.codepad.thecode.value="Последний раз!"}
}
else                    // To many tries = worp back
{
location="test.htm"
      // "провальная страница" - если код
      набрали неправильно несколько раз
document.codepad.thecode.value="Пока, приятель!"
}
}
}
}
function keycodepad(mulcode)
{
usermulcode=mulcode
document.write("<form name=\"codepad\">");
document.write("<input type=\"button\" value=\" 1 \" onClick=\"Enter_code(1)\">");
document.write("<input type=\"button\" value=\" 2 \" onClick=\"Enter_code(2)\">");
document.write("<input type=\"button\" value=\" 3 \" onClick=\"Enter_code(3)\"><br>");
document.write("<input type=\"button\" value=\" 4 \" onClick=\"Enter_code(4)\">");
document.write("<input type=\"button\" value=\" 5 \" onClick=\"Enter_code(5)\">");
document.write("<input type=\"button\" value=\" 6 \" onClick=\"Enter_code(6)\"><br>");
document.write("<input type=\"button\" value=\" 7 \" onClick=\"Enter_code(7)\">");
document.write("<input type=\"button\" value=\" 8 \" onClick=\"Enter_code(8)\">");
document.write("<input type=\"button\" value=\" 9 \" onClick=\"Enter_code(9)\"><br>");
document.write("<input type=\"text\" name=\"thecode\" size=10 value=\"\"><br>");
document.write("</form>");
}
// Key-code script by Bart Jellema -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script>
keycodepad(24)
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security24

Кодировщик номера кредитной карты
 Впишите номер кредитной карты (появится запрос JavaScript).

  • СПРАВКА

Корректный номер (для пробы!!!) 4019404017235842

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!--

// ЗАМЕНИТЕ НА false ЕСЛИ ХОТИТЕ ОТКАЗАТЬСЯ ОТ ШИФРОВАНИЯ
var encrypt_it = true;

/* ================== ======================= =========================
THIS FUNCTION IS TAKEN DIRECTLY FROM NETSCAPE FROM:
http://developer.netscape.com/library/examples/...
.../javascript/formval/FormChek.js
which is a bunch of functions to validate forms

FUNCTION: isCreditCard(st)
INPUT: st - a string representing a credit card number
RETURNS: true, if the credit card number passes the Luhn Mod-10 test
false, otherwise
===================== ======================= ====================== */

function isCreditCard(st) {
// Encoding only works on cards with less than 19 digits
if (st.length > 19)
return (false);

sum = 0; mul = 1; l = st.length;
for (i = 0; i < l; i++) {
digit = st.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul--;
}

if ((sum % 10) == 0)
return (true);
else
return (false);
}

function getCCNum(default_val) {
msg = 'Введите номер кредитной карты. '
+ 'Он будет '
+ ((encrypt_it) ? "зашифрован и " : "")
+ 'помещен в поле формы '
+ 'после проверки на корректность.';
return prompt(msg,default_val);
}

// takes in a credit card number, adds one to each digit
// (9 becomes 0), and then returns the encrypted credit
// card number with an 'e' tacked on to the end to signal
// the number has been encrypted
function encrypt(val) {
val = "" + val;
var result = "";
for (i=0;i<val.length;i++) {
character = val.charAt(i);
if ("0123456789".indexOf(character) != -1) {
character = parseInt(character);
character = (character+1)%10;
}
result += character;
}
if (result != "")
result += "e";
return result;
}

function unencrypt(val) {
val = "" + val;
for (n=0;n<9;n++)
val = encrypt(val);
return (val.substring(0,val.indexOf('e')));
}

function strip(val) {
val = "" + val;
if (val == null)
return "";
var result = "";
for (i=0;i<val.length;i++) {
character = val.charAt(i);
if ("0123456789".indexOf(character) != -1)
result += character;
}
return result;
}

var last_entry = "";
function doCCStuff(form_element) {
if (blur_reset) {
last_entry = form_element.value;
if (last_entry.indexOf('e') != -1)
last_entry = unencrypt(last_entry);
entry = getCCNum(last_entry);
stripped_entry = strip(entry);
while ((entry != null) && (!isCreditCard(stripped_entry))) {
alert('Вы ввели некорректный номер кредитной карты.'
+ 'Уточните номер и повторите попытку.');
last_entry = entry;
entry = getCCNum(last_entry);
stripped_entry = strip(entry);
}
if (entry != null) {
if (encrypt_it)
form_element.value = encrypt(entry);
else
form_element.value = entry;
}
blur_form(form_element);
}
return false;
}
var blur_reset = true;
function blur_form(form_element) {
form_element.blur();
blur_reset = false;
setTimeout("blur_reset=true",2000);
}

// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!-----СКРИПТ БУДЕТ РАБОТАТЬ С ЛЮБЫМ ПОЛЕМ ФОРМЫ, В КОТОРОМ ПРИСУТСТВУЕТ ВЫДЕЛЕННАЯ БЕЛЫМ СТРОКА----->

<input type="text" name="cc_num" size=20 onFocus="return doCCStuff(this)">

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security6

Генератор паролей
(для запароливания, а не для взлома!)

1-й элемент может быть: | Цифра Прописная Заглавная Другие элементы
Последующие элементы: | Цифра Прописная Заглавная Другие элементы
Длина пароля: |
Доп. элементы: |
Новый пароль: |

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: ataxx@visto.com -->

<!-- Begin
function getRandomNum(lbound, ubound) {
return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}
function getRandomChar(number, lower, upper, other, extra) {
var numberChars = "0123456789";
var lowerChars = "abcdefghijklmnopqrstuvwxyz";
var upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var otherChars = "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/? ";
var charSet = extra;
if (number == true)
charSet += numberChars;
if (lower == true)
charSet += lowerChars;
if (upper == true)
charSet += upperChars;
if (other == true)
charSet += otherChars;
return charSet.charAt(getRandomNum(0, charSet.length));
}
function getPassword(length, extraChars, firstNumber, firstLower, firstUpper, firstOther,
latterNumber, latterLower, latterUpper, latterOther) {
var rc = "";
if (length > 0)
rc = rc + getRandomChar(firstNumber, firstLower, firstUpper, firstOther, extraChars);
for (var idx = 1; idx < length; ++idx) {
rc = rc + getRandomChar(latterNumber, latterLower, latterUpper, latterOther, extraChars);
}
return rc;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table width=80% border=0>
<tr align=center>
<td>
<form name="myform">
<table border=0>
<tr>
<td bgcolor="#B7DADB">
1-й элемент может быть:
</td>
<td bgcolor="#B7DADB">
<input type=checkbox name=firstNumber checked>Цифра
<input type=checkbox name=firstLower checked>Прописная
<input type=checkbox name=firstUpper checked>Заглавная
<input type=checkbox name=firstOther>Другие элементы
</td>
</tr>
<tr>
<td bgcolor="#D4D4D4">
Последующие элементы:
</td>
<td bgcolor="#D4D4D4">
<input type=checkbox name=latterNumber checked>Цифра
<input type=checkbox name=latterLower checked>Прописная
<input type=checkbox name=latterUpper checked>Заглавная
<input type=checkbox name=latterOther>Другие элементы
</td>
</tr>
<tr>
<td bgcolor="#999999">
Длина пароля:
</td>
<td bgcolor="#999999">
<input type=text name=passwordLength value="8" size=3>
</td>
</tr>
<tr>
<td bgcolor="#999999">
Доп. элементы:
</td>
<td bgcolor="#999999">
<input type=text name=extraChars size=20>
</td>
</tr>
</font>
<tr>
<td bgcolor="#999999">
<font size="4" color="#FFFFFF">Новый пароль:
</font>
</td>
<font size="4" color="#FF0000">
<td bgcolor="#999999">
<font size="4" color="#FF0000">
<input type=text name=password size=20>
</font>
</td>
</tr>
<tr>
<td bgcolor="#999999">
&nbsp;
</td>
<td bgcolor="#999999">
<font size="4" color="#FF0000"><input type=button value="Сгенерировать пароль" onClick="document.myform.password.value =
getPassword(document.myform.passwordLength.value, document.myform.extraChars.value,
document.myform.firstNumber.checked, document.myform.firstLower.checked,
document.myform.firstUpper.checked, document.myform.firstOther.checked,
document.myform.latterNumber.checked, document.myform.latterLower.checked,
document.myform.latterUpper.checked, document.myform.latterOther.checked);" style="font-size: 8pt; font-family: Arial">
&nbsp;
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security7

Кодировщик (рус)

Кодировщик-раскодировщик для РУССКОГО языка

 Кодовая фраза :

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Francisco Ryan Tolmasky (iopossum@mailcity.com) -->
<!-- Web Site:  http://iopossum.tripod.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var TID = 0;
var longer = 0;
var thirdwrite = "";
var alphabet = new Array("0@","1#","2$","3%","4^",
      "5&", "6*", "7 = ","8-",
      "9+", "Аа", "Бб", "Вв",
      "Гг", "Дд", "Ее", "Жж",
      "Зз", "Ии", "Кк", "Лл",
      "Мм", "Нн", "Оо", "Пп",
      "Рр", "Сс", "Тт", "Уу",
      "Фф", "Хх", "Ъъ", "Цц",
      "Чч", "Ьь", "Шш", "Щщ",
      "Ыы", "Ээ", "Юю", "Яя",
      "Йй");
function preTime(coco, uinput, question) {
longer = coco.length - 1;
placement = 0;
ref = 0 ;
secondWrite = "";
firstWrite = "";
thirdWrite = "";
code1(coco, uinput, longer, question);
}
function findshift(letter) {
for (i = 0; i < 36; i++) {
if ((alphabet[i].substring(0,1) == letter) || (alphabet[i].substring(1,2) == letter)) {
if (alphabet[i].substring(0,1) == letter) {
x = 0;
}
if (alphabet[i].substring(1,2) == letter) {
x = 1;
}
return i;
}
}
}
function check(letter) {
bill = "no";
for (i = 0; i < 36; i++) {
if ((alphabet[i].substring(0,1) == letter) || (alphabet[i].substring(1,2) == letter)) {
bill = "yes";
}
}
if (bill == "yes") {
return true;
}
else {
return false;
}
}
function fixoffset(takin) {
if (takin > 35) {
return (takin - 36);
}
else {
return takin;
}
}
function code1(inval1,inval2,inval3,sage) {
if (check(inval2.charAt(placement))) {
if (check(inval1.charAt(ref))) {
if (sage == 0) {
shift = findshift(inval1.charAt(ref));
}
if (sage == 1) {
shift = 36 - findshift(inval1.charAt(ref));
}
}
else {
shift = 0;
}
orig = findshift(inval2.charAt(placement));
firstWrite = firstWrite+alphabet[fixoffset(orig+shift)].charAt(x);
}
else {
firstWrite = firstWrite+inval2.charAt(placement);
}
secondWrite = inval2.substring(placement+1,inval2.length+1);
thirdWrite = firstWrite+secondWrite;
document.inputo.written.value = thirdWrite;
placement++;
if (ref == inval3) {
ref = 0
}
else {
ref++;
}
if (placement == (inval2.length)) {
window.clearTimeout(TID);
return false;
}
one = inval1;
two = inval2;
three = inval3;
goer = sage;
TID = window.setTimeout("code1(one, two, three, goer)", 0);
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="inputo">
<textarea name=written rows=12 cols=40>Напечатайте здесь лсообщение, требующее кодирования</textarea>
<br>
</font>
<font color="#000000" size="2">Кодовая фраза :<input type=text name=codeWord value="кодовая фраза здесь">
<input type=button value="Закодировать" onClick="preTime(codeWord.value,written.value, 0);" style="font-size: 8pt; font-family: Arial">
<input type=button value="Раскодировать" onClick="preTime(codeWord.value,written.value, 1);" style="font-size: 8pt; font-family: Arial">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security8

Кодировщик (англ)

Кодировщик-раскодировщик АНГЛИЙСКОГО языка

 Code Phrase:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Francisco Ryan Tolmasky (iopossum@mailcity.com) -->
<!-- Web Site:  http://iopossum.tripod.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var TID = 0;
var longer = 0;
var thirdwrite = "";
var alphabet = new Array("0@","1#","2$","3%","4^","5&","6*","7 = ","8-","9+","Aa",
      "Bb", "Cc", "Dd", "Ee", "Ff",
      "Gg", "Hh", "Ii", "Jj", "Kk",
      "Ll", "Mm", "Nn", "Oo", "Pp",
      "Qq", "Rr", "Ss", "Tt", "Uu",
      "Vv","Ww","Xx","Yy","Zz");
function preTime(coco, uinput, question) {
longer = coco.length - 1;
placement = 0;
ref = 0 ;
secondWrite = "";
firstWrite = "";
thirdWrite = "";
code1(coco, uinput, longer, question);
}
function findshift(letter) {
for (i = 0; i < 36; i++) {
if ((alphabet[i].substring(0,1) == letter) || (alphabet[i].substring(1,2) == letter)) {
if (alphabet[i].substring(0,1) == letter) {
x = 0;
}
if (alphabet[i].substring(1,2) == letter) {
x = 1;
}
return i;
}
}
}
function check(letter) {
bill = "no";
for (i = 0; i < 36; i++) {
if ((alphabet[i].substring(0,1) == letter) || (alphabet[i].substring(1,2) == letter)) {
bill = "yes";
}
}
if (bill == "yes") {
return true;
}
else {
return false;
}
}
function fixoffset(takin) {
if (takin > 35) {
return (takin - 36);
}
else {
return takin;
}
}
function code1(inval1,inval2,inval3,sage) {
if (check(inval2.charAt(placement))) {
if (check(inval1.charAt(ref))) {
if (sage == 0) {
shift = findshift(inval1.charAt(ref));
}
if (sage == 1) {
shift = 36 - findshift(inval1.charAt(ref));
}
}
else {
shift = 0;
}
orig = findshift(inval2.charAt(placement));
firstWrite = firstWrite+alphabet[fixoffset(orig+shift)].charAt(x);
}
else {
firstWrite = firstWrite+inval2.charAt(placement);
}
secondWrite = inval2.substring(placement+1,inval2.length+1);
thirdWrite = firstWrite+secondWrite;
document.inputo.written.value = thirdWrite;
placement++;
if (ref == inval3) {
ref = 0
}
else {
ref++;
}
if (placement == (inval2.length)) {
window.clearTimeout(TID);
return false;
}
one = inval1;
two = inval2;
three = inval3;
goer = sage;
TID = window.setTimeout("code1(one, two, three, goer)", 0);
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="inputo">
<textarea name=written rows=12 cols=40>Type message to encode here</textarea>
<br>
Code Phrase:<input type=text name=codeWord value="code phrase here">
<input type=button value="Encode" onClick="preTime(codeWord.value,written.value, 0);">
<input type=button value="Decode" onClick="preTime(codeWord.value,written.value, 1);">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security25

Кодировщик (русский и английский)
(ковычки желательно не использовать при многократном закодировании)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--

// By PATRICK CLINGER (pat_clinger@hotmail.com)
// Web Site: http://www.proboards.com/
// Script featured on Website Abstraction (http://wsabstract.com)
// Over 400+ free scripts: Wsabstract.com<br>

var letters = 'ЛМНОПрстуфхцчшщьыъэюяАБВГДЕЫЭЮЯкпghijklабвгдежзийКabvwxyzABCDEFef)_ЖЗИЙРСТУФХЦЧШЩЪЬ+|<>?:mnQRSTUЛМНОПрсту~!@лмно#$%^VWXYZ`1234567opGHIJKLu./;'+" "+';'+"'"+'[]MNOP890-='+'\\'+'&*("{},cdqrst'+"\n";
var split = letters.split("");
var num = '';
var c = '';
var encrypted = '';
function encrypt(it){var b = '0';
var chars = it.split("");
while(b<it.length) {
c = '0';
while(c<letters.length){
if(split[c] == chars[b]){
if(c == "0") {
c = "";
}
if(eval(c+10) >= letters.length){
num = eval(10-(letters.length-c));
encrypted += split[num];
}
else{
num = eval(c+10);
encrypted += split[num];
}
}
c++;
}
b++;
}
document.forms[0].data.value = encrypted;encrypted = '';
}
function decrypt(it){
var b = '0';
var chars = it.split("");
while(b<it.length){c = '0';
while(c<letters.length){
if(split[c] == chars[b]){
if(c == "0") {
c = "";
}
if(eval(c-10) < 0){
num = eval(letters.length-(10-c));
encrypted += split[num];
}
else
{
num = eval(c-10);
encrypted += split[num];
}
}
c++;
}
b++;
}
document.forms[0].data.value = encrypted;
encrypted = '';
}
// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security9

Кодировщик в КОДИРОВАННЫЙ JavaScript
(compiler)

Иными словами, помещаете в этот кодировщик ЛЮБОЙ текст и получаете на выходе его же, но написанный на JavaScript, причем в закодированном (компилированном) виде! Прочитать почти невозможно, особенно русский текст, но в тоже время браузер его читает прекрасно! Если закодирован скрипт, то выполняется без сбоев!

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=left>
<P align=left><font face="Verdana"> <strong><small>Script by: </small>
 </strong><SMALL><A
href="mailto:thewebmonster@altavista.com"> <b>Svetlin
Staev</b></A></SMALL></font></P>
<P align=left>
<SCRIPT language=JavaScript>
<!--
//////////////////////////////////////////////////////////////////
//                      Source Code Encrypter v1.0              //
//////////////////////////////////////////////////////////////////
//                                                              //
//  This JavaScript can be freely used as long as this message  //
//  stays here in the header of the script. Any modifications   //
//  and bugs found (and fixed) are appreciated.                 //
//  Script submitted/featured on Dynamicdrive.com               //
//  Visit http://www.dynamicdrive.com for source code           //
//          Svetlin Staev, thewebmonster@altavista.com          //
//////////////////////////////////////////////////////////////////

var i=0;
var ie=(document.all)?1:0;
var ns=(document.layers)?1:0;

function initStyleElements() /* Styles for Buttons Init */
{
var c = document.pad;
if (ie)
{
//c.text.style.backgroundColor="#DDDDDD";
c.compileIt.style.backgroundColor="#C0C0A8";
c.compileIt.style.cursor="hand";
c.select.style.backgroundColor="#C0C0A8";
c.select.style.cursor="hand";
c.view.style.backgroundColor="#C0C0A8";
c.view.style.cursor="hand";
c.retur.style.backgroundColor="#C0C0A8";
c.retur.style.cursor="hand";
c.clear.style.backgroundColor="#C0C0A8";
c.clear.style.cursor="hand";
}
else return;
}

/* Buttons Enlightment of "Compilation" panel */
function LightOn(what)
{
if (ie) what.style.backgroundColor = '#E0E0D0';
else return;
}
function FocusOn(what)
{
if (ie) what.style.backgroundColor = '#EBEBEB';
else return;
}
function LightOut(what)
{
if (ie) what.style.backgroundColor = '#C0C0A8';
else return;
}
function FocusOff(what)
{
if (ie) what.style.backgroundColor = '#DDDDDD';
else return;
}
/* Buttons Enlightment of "Compilation" panel */

function generate() /* Generation of "Compilation" */
{
code = document.pad.text.value;
if (code)
{
document.pad.text.value='Compiling...Please wait!';
setTimeout("compile()",1000);
}
else alert('First enter something to compile and then press CompileIt')
}
function compile() /* The "Compilation" */
{
document.pad.text.value='';
compilation=escape(code);
document.pad.text.value= "<script>\n<!--\ndocument. write(unescape(\""+compilation+"\"));
 \n//-->\n<\/script>";
i++;
if (i=1) alert("Page compiled 1 time!");
else alert("Page compiled "+i+" times!");
}
function selectCode() /* Selecting "Compilation" for Copying */
{
if(document.pad.text.value.length>0)
{
document.pad.text.focus();
document.pad.text.select();
}
else alert('Nothing for be selected!')
}
function preview() /* Preview for the "Compilation" */
{
if(document.pad.text.value.length>0)
{
pr=window.open ("","Preview","scrollbars=1,menubar=1,status=1,
 width=700,height=320,left=50,top=110");
pr.document.write(document.pad.text.value);
}
else alert('Nothing for be previewed!')
}
function uncompile() /* Decompiling a "Compilation" */
{
if (document.pad.text.value.length>0)
{
source=unescape(document.pad.text.value);
document.pad.text.value=""+source+"";
}
else alert('You need compiled code to uncompile it!')
}
// -->
</SCRIPT>

<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="100%"><!-- Compilation Panel -->
<FORM name=pad method=post align="center"><TEXTAREA style="WIDTH: 95%; BACKGROUND-COLOR: #ebebeb" name=text rows=11 cols=58></TEXTAREA><BR><INPUT onmouseover=LightOn(this) onclick=generate() onmouseout=LightOut(this) type=button value=Encrypt name=compileIt>
<INPUT onmouseover=LightOn(this) onclick=selectCode() onmouseout=LightOut(this) type=button value=Select name=select>
<INPUT onmouseover=LightOn(this) onclick=preview() onmouseout=LightOut(this) type=button value=Preview name=view>
<INPUT onmouseover=LightOn(this) onclick=uncompile() onmouseout=LightOut(this) type=button value=Source name=retur>
<INPUT onmouseover=LightOn(this) onmouseout=LightOut(this) type=reset value=Clear name=clear>
</FORM><!-- Compilation Panel --> </TD></TR>  </TBODY></TABLE><!--webbot bot="HTMLMarkup" -->
</TD></TR></TBODY></TABLE>
<P align=left><!--webbot bot="HTMLMarkup" startspan -->
<SCRIPT language=JavaScript1.2>
<!--webbot bot="HTMLMarkup" endspan -->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security10

Кодирование символов
Производится кодирование символов (кроме букв и цифр) введенных в поля Nickname и Password. Результат Вы можете увидеть в адресной строке браузера в pop-up окне примера.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function processForm(form) {
var nickname = form.nickname.value;
var password = form.password.value;

nickname = escape(nickname);
password = escape(password);

window.location = window.location + "?nickname=" + nickname + "&password=" + password;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form action="">
<tt><pre>
Nickname: <input type=text name=nickname value="" size=10>
Password: <input type=text name=password value="" size=10>

<input type=button value="Submit!" onClick="javascript:processForm(this.form);">
</pre></tt>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security11

Ascii-UnAscii, реверс, и др.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Phillip Bryant (toxic1@fcmail.com) -->
<!-- Web Site: http://fly.to/toxic -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function reverse() {
text = "";
str = document.forms[0].elements[0].value=document.forms[0].elements[0].value;
for (i = 0; i <= str.length; i++)
text = str.substring(i, i+1) + text;
document.forms[0].elements[0].value = document.forms[0].elements[0].value = text;
}
function lower() {
document.forms[0].elements[0].value = document.forms[0].elements[0].value.toLowerCase()
}
function caps() {
document.forms[0].elements[0].value = document.forms[0].elements[0].value.toUpperCase()
}
function whatIsThis() {
document.forms[0].elements[0].value = escape(document.forms[0].elements[0].value)
}
function dontLikeThis() {
document.forms[0].elements[0].value = unescape(document.forms[0].elements[0].value)
}
var t = new Array();
t[0] = "Текст для примера. Нажмите \"Реверс\", \"Заглавные\" или \"Прописные\".";
function example() {
for(var i = 0; i < 2; i++) {
if(document.forms[0].elements[i].value) {
document.forms[0].elements[0].value = document.forms[0].elements[0].value+unescape(t[0]);
}
}
}
var f = new Array();
f[0] = "<table border=\"0\" style=\"BORDER-LEFT\: rgb(0,0,0) 1px solid\; BORDER-RIGHT\: rgb(0,0,0) 1px solid\"";
function exAscii() {
for(var i = 0; i < 2; i++) {
if(document.forms[0].elements[i].value) {
document.forms[0].elements[0].value = document.forms[0].elements[0].value+unescape(f[0]);
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form action="" method="post">
<textarea rows=10 cols=40 wrap=soft></textarea>
<table border=0><center>
<tr><td>
<input type=button value="Пример" onClick="example(this.form)">
<input type=button value="Реверс" onClick="reverse()">
<input type=button value="Заглавные" onClick="caps()">
<input type=button value="Прописные" onClick="lower()">
</td>
</tr>
<tr>
<td>
<input type=button value="Ascii Пример" onClick="exAscii()">
<input type=button value="UnAscii" onClick="dontLikeThis()">
<input type=button value="Ascii" onClick="whatIsThis()">
<input type=button value="Очистить" onClick="reset()">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security12

Сравнение данных из полей "Пароль" и "Повторить пароль"

Пароль:
Повторите пароль:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Carey Walker (carey.walker@citicorp.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkPw(form) {
pw1 = form.pw1.value;
pw2 = form.pw2.value;

if (pw1 != pw2) {
alert ("\nВы ввели в поле \"Повторить\" пароль отличный от введенного в поле \"Пароль\".")
return false;
}
else return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form onSubmit="return checkPw(this)">
<center>
<table border=0>
<tr>
<td>Пароль:</td><td><input type=text name=pw1 size=10></td>
</tr>
<tr>
<td>Повторите пароль:</td><td><input type=text name=pw2 size=10></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="Применить!"></td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security13

Сравнение данных полей формы 2
 (повторный ввод пароля определенной длины, больше 12 знаков ввести невозможно)

Введите Ваш пароль дважды.
(Минимум 6 знаков, максимум 12, пробелы запрещены.)

Пароль:
Повторите пароль:

(Не копируйте код из источника! Он не будет работать на Ваших страницах)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Russ Swift (swiftruss@earthlink.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function validatePwd() {
var invalid = " "; // Invalid character is a space
var minLength = 6; //
      Ограничение
      минимального количеcтва знаков
var pw1 = document.myForm.password.value;
var pw2 = document.myForm.password2.value;
// check for a value in both fields.
if (pw1 == '' || pw2 == '') {
alert('Пожалуйста, введите пароль дважды.');
return false;
}
// check for minimum length
if (document.myForm.password.value.length < minLength) {
alert('Ваш пароль должен иметь как минимум ' + minLength + ' знаков. Повторите ввод.');
return false;
}
// check for spaces
if (document.myForm.password.value.indexOf(invalid) > -1) {
alert("Извините, пробелы запрещены.");
return false;
}
else {
if (pw1 != pw2) {
alert ("Вы ввели разные данные в поля \"Пароль\" и \"Повторите пароль\". Попробуйте еще раз.");
return false;
}
else {
alert('Пароль принят.');
return true;
}
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=myForm onSubmit="return validatePwd()">
Введите Ваш пароль дважды.
<br>
(Минимум 6 знаков, максимум 12, пробелы запрещены.)
<p>
Пароль: <input type=password name=password maxlength=12><!--Макс. кол-во знаков-->
<br>
Повторите пароль: <input type=password name=password2 maxlength=12><!--Макс. кол-во знаков-->
<p>
<input type=submit value="Submit">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form77

Кредитные карточки
Скрипт в особых комметариях не нуждается. Учитывая малое количество русскоязычных граждан делающих покупки через Интернет посредством кредиток, отпадает даже необходимость в адаптации этого скрипта. Уж не в обиду будет сказано...

Card Number:
Card Type:
Expiration Date: Month Year (Range: 1997~2020)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Simon Tneoh (tneohcb@pc.jaring.my) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var Cards = new makeArray(8);
Cards[0] = new CardType("MasterCard", "51,52,53,54,55", "16");
var MasterCard = Cards[0];
Cards[1] = new CardType("VisaCard", "4", "13,16");
var VisaCard = Cards[1];
Cards[2] = new CardType("AmExCard", "34,37", "15");
var AmExCard = Cards[2];
Cards[3] = new CardType("DinersClubCard", "30,36,38", "14");
var DinersClubCard = Cards[3];
Cards[4] = new CardType("DiscoverCard", "6011", "16");
var DiscoverCard = Cards[4];
Cards[5] = new CardType("enRouteCard", "2014,2149", "15");
var enRouteCard = Cards[5];
Cards[6] = new CardType("JCBCard", "3088,3096,3112,3158,3337,3528", "16");
var JCBCard = Cards[6];
var LuhnCheckSum = Cards[7] = new CardType();

/**********************************
      ***************************************\
CheckCardNumber(form)
function called when users click the "check" button.
\**********************************
      ***************************************/
function CheckCardNumber(form) {
var tmpyear;
if (form.CardNumber.value.length == 0) {
alert("Please enter a Card Number.");
form.CardNumber.focus();
return;
}
if (form.ExpYear.value.length == 0) {
alert("Please enter the Expiration Year.");
form.ExpYear.focus();
return;
}
if (form.ExpYear.value > 96)
tmpyear = "19" + form.ExpYear.value;
else if (form.ExpYear.value < 21)
tmpyear = "20" + form.ExpYear.value;
else {
alert("The Expiration Year is not valid.");
return;
}
tmpmonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;
// The following line doesn't work in IE3, you need to change it
// to something like "(new CardType())...".
// if (!CardType().isExpiryDate(tmpyear, tmpmonth)) {
if (!(new CardType()).isExpiryDate(tmpyear, tmpmonth)) {
alert("This card has already expired.");
return;
}
card = form.CardType.options[form.CardType.selectedIndex].value;
var retval = eval(card + ".checkCardNumber(\"" + form.CardNumber.value +
"\", " + tmpyear + ", " + tmpmonth + ");");
cardname = "";
if (retval)

// comment this out if used on an order form
alert("This card number appears to be valid.");

else {
// The cardnumber has the valid luhn checksum, but we want to know which
// cardtype it belongs to.
for (var n = 0; n < Cards.size; n++) {
if (Cards[n].checkCardNumber(form.CardNumber.value, tmpyear, tmpmonth)) {
cardname = Cards[n].getCardType();
break;
}
}
if (cardname.length > 0) {
alert("This looks like a " + cardname + " number, not a " + card + " number.");
}
else {
alert("This card number is not valid.");
}
}
}
/**********************************
      ***************************************\
Object CardType([String cardtype, String rules, String len, int year,
int month])
cardtype    : type of card, eg: MasterCard, Visa, etc.
rules       : rules of the cardnumber, eg: "4", "6011", "34,37".
len         : valid length of cardnumber, eg: "16,19", "13,16".
year        : year of expiry date.
month       : month of expiry date.
eg:
var VisaCard = new CardType("Visa", "4", "16");
var AmExCard = new CardType("AmEx", "34,37", "15");
\*********************************
      ****************************************/
function CardType() {
var n;
var argv = CardType.arguments;
var argc = CardType.arguments.length;

this.objname = "object CardType";

var tmpcardtype = (argc > 0) ? argv[0] : "CardObject";
var tmprules = (argc > 1) ? argv[1] : "0,1,2,3,4,5,6,7,8,9";
var tmplen = (argc > 2) ? argv[2] : "13,14,15,16,19";

this.setCardNumber = setCardNumber;  // set CardNumber method.
this.setCardType = setCardType;  // setCardType method.
this.setLen = setLen;  // setLen method.
this.setRules = setRules;  // setRules method.
this.setExpiryDate = setExpiryDate;  // setExpiryDate method.

this.setCardType(tmpcardtype);
this.setLen(tmplen);
this.setRules(tmprules);
if (argc > 4)
this.setExpiryDate(argv[3], argv[4]);

this.checkCardNumber = checkCardNumber;  // checkCardNumber method.
this.getExpiryDate = getExpiryDate;  // getExpiryDate method.
this.getCardType = getCardType;  // getCardType method.
this.isCardNumber = isCardNumber;  // isCardNumber method.
this.isExpiryDate = isExpiryDate;  // isExpiryDate method.
this.luhnCheck = luhnCheck;// luhnCheck method.
return this;
}

/**********************************
      ***************************************\
boolean checkCardNumber([String cardnumber, int year, int month])
return true if cardnumber pass the luhncheck and the expiry date is
valid, else return false.
\*********************************
      ****************************************/
function checkCardNumber() {
var argv = checkCardNumber.arguments;
var argc = checkCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
var year = (argc > 1) ? argv[1] : this.year;
var month = (argc > 2) ? argv[2] : this.month;

this.setCardNumber(cardnumber);
this.setExpiryDate(year, month);

if (!this.isCardNumber())
return false;
if (!this.isExpiryDate())
return false;

return true;
}
/**********************************
      ***************************************\
String getCardType()
return the cardtype.
\**********************************
      ***************************************/
function getCardType() {
return this.cardtype;
}
/**********************************
      ***************************************\
String getExpiryDate()
return the expiry date.
\**********************************
      ***************************************/
function getExpiryDate() {
return this.month + "/" + this.year;
}
/**********************************
      ***************************************\
boolean isCardNumber([String cardnumber])
return true if cardnumber pass the luhncheck and the rules, else return
false.
\*********************************
      ****************************************/
function isCardNumber() {
var argv = isCardNumber.arguments;
var argc = isCardNumber.arguments.length;
var cardnumber = (argc > 0) ? argv[0] : this.cardnumber;
if (!this.luhnCheck())
return false;

for (var n = 0; n < this.len.size; n++)
if (cardnumber.toString().length == this.len[n]) {
for (var m = 0; m < this.rules.size; m++) {
var headdigit = cardnumber.substring(0, this.rules[m].toString().length);
if (headdigit == this.rules[m])
return true;
}
return false;
}
return false;
}

/*********************************
      ****************************************\
boolean isExpiryDate([int year, int month])
return true if the date is a valid expiry date,
else return false.
\*********************************
      ****************************************/
function isExpiryDate() {
var argv = isExpiryDate.arguments;
var argc = isExpiryDate.arguments.length;

year = argc > 0 ? argv[0] : this.year;
month = argc > 1 ? argv[1] : this.month;

if (!isNum(year+""))
return false;
if (!isNum(month+""))
return false;
today = new Date();
expiry = new Date(year, month);
if (today.getTime() > expiry.getTime())
return false;
else
return true;
}

/***********************************
      **************************************\
boolean isNum(String argvalue)
return true if argvalue contains only numeric characters,
else return false.
\*********************************
      ****************************************/
function isNum(argvalue) {
argvalue = argvalue.toString();

if (argvalue.length == 0)
return false;

for (var n = 0; n < argvalue.length; n++)
if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
return false;

return true;
}

/**************************************
      ***********************************\
boolean luhnCheck([String CardNumber])
return true if CardNumber pass the luhn check else return false.
Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
\**********************************
      ***************************************/
function luhnCheck() {
var argv = luhnCheck.arguments;
var argc = luhnCheck.arguments.length;

var CardNumber = argc > 0 ? argv[0] : this.cardnumber;

if (! isNum(CardNumber)) {
return false;
}

var no_digit = CardNumber.length;
var oddoeven = no_digit & 1;
var sum = 0;

for (var count = 0; count < no_digit; count++) {
var digit = parseInt(CardNumber.charAt(count));
if (!((count & 1) ^ oddoeven)) {
digit *= 2;
if (digit > 9)
digit -= 9;
}
sum += digit;
}
if (sum % 10 == 0)
return true;
else
return false;
}

/**********************************
      ***************************************\
ArrayObject makeArray(int size)
return the array object in the size specified.
\**********************************
      ***************************************/
function makeArray(size) {
this.size = size;
return this;
}

/**********************************
      ***************************************\
CardType setCardNumber(cardnumber)
return the CardType object.
\**********************************
      ***************************************/
function setCardNumber(cardnumber) {
this.cardnumber = cardnumber;
return this;
}

/**********************************
      ***************************************\
CardType setCardType(cardtype)
return the CardType object.
\**********************************
      ***************************************/
function setCardType(cardtype) {
this.cardtype = cardtype;
return this;
}

/**********************************
      ***************************************\
CardType setExpiryDate(year, month)
return the CardType object.
\*********************************
      ****************************************/
function setExpiryDate(year, month) {
this.year = year;
this.month = month;
return this;
}

/*********************************
      ****************************************\
CardType setLen(len)
return the CardType object.
\*********************************
      ****************************************/
function setLen(len) {
// Create the len array.
if (len.length == 0 || len == null)
len = "13,14,15,16,19";

var tmplen = len;
n = 1;
while (tmplen.indexOf(",") != -1) {
tmplen = tmplen.substring(tmplen.indexOf(",") + 1, tmplen.length);
n++;
}
this.len = new makeArray(n);
n = 0;
while (len.indexOf(",") != -1) {
var tmpstr = len.substring(0, len.indexOf(","));
this.len[n] = tmpstr;
len = len.substring(len.indexOf(",") + 1, len.length);
n++;
}
this.len[n] = len;
return this;
}

/********************************
      *****************************************\
CardType setRules()
return the CardType object.
\*********************************
      ****************************************/
function setRules(rules) {
// Create the rules array.
if (rules.length == 0 || rules == null)
rules = "0,1,2,3,4,5,6,7,8,9";

var tmprules = rules;
n = 1;
while (tmprules.indexOf(",") != -1) {
tmprules = tmprules.substring(tmprules.indexOf(",") + 1, tmprules.length);
n++;
}
this.rules = new makeArray(n);
n = 0;
while (rules.indexOf(",") != -1) {
var tmpstr = rules.substring(0, rules.indexOf(","));
this.rules[n] = tmpstr;
rules = rules.substring(rules.indexOf(",") + 1, rules.length);
n++;
}
this.rules[n] = rules;
return this;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="ThisForm">
Card Number: <input name="CardNumber" size="16" maxlength="19"><br>
Card Type:
<select name="CardType">
<option value="MasterCard">MasterCard
<option value="VisaCard">Visa
<option value="AmExCard">American Express
<option value="DinersClubCard">Diners Club
<option value="DiscoverCard">Discover
<option value="enRouteCard">enRoute
<option value="JCBCard">JCB
</select>
<br>
Expiration Date: Month
<select name="ExpMon">
<option value="1" selected>1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
</select>
Year <input name="ExpYear" size="2" maxlength="2">(Range: 1997~2020)<br>
<input type="button" value="Check" OnClick="CheckCardNumber(this.form)"><br>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security14

Social Security Number
(не самый актуальный скрипт среди населения бывшего Советского Союза, тем ни менее...)

SS #:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Carol Gevers -->
<!-- Modified: Sandeep V. Tamhankar (stamhankar@hotmail.com) -->
<!-- Web Site: http://207.20.242.93 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function SSNValidation(ssn) {
var matchArr = ssn.match(/^(\d{3})-?\d{2}-?\d{4}$/);
var numDashes = ssn.split('-').length - 1;
if (matchArr == null || numDashes == 1) {
alert('Неверный SSN! № SSN должен содержать 9 цифр и быть записаным \nлибо в виде NNN-NN-NNNN, либо NNNNNNNNN.');
msg = "Совсем не похож на настоящий!";
}
else
if (parseInt(matchArr[1],10)==0) {
alert("Неверный SSN: SSN не может начинаться с 000.");
msg = "Совсем не похож на настоящий!";
}
else {
msg = "похож на настоящий";
alert(ssn + "\r\n\r\n" + msg + " Social Security Number \;-).");
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<tt>
SS #: <input type=text name=ssn size=11 maxlength=11>
</tt>
<p align="center">
<input type=button value="Проверить корректность" onClick="SSNValidation(this.form.ssn.value);">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form82

Zip
Учитывая применяемость данного скпипта только в отношении жителей США и Канады, скрипт не адаптировался. Для его использования при работе с формой "индекс" замените выделенную белым цветом цифру 5 на цифру 6, и измените содержание соответствующего сообщения.

Zip:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Swalwell -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit or 5 digit+4 zip code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code. Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'. Please try again.");
return false;
}
}
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=zip onSubmit="return validateZIP(this.zip.value)">
Zip: <input type=text size=30 name=zip>
<input type=submit value="Применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security15

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

Кодированный URL

Начальная дескодировка
Конечный результат

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Hanz Broden (webmeister@v-wave.com) -->
<!-- Web Site: http://plaza.v-wave.com/dotcom -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function unObfuscateURL(frm) {
strURL = unescape(frm.txtURL.value.replace(/\s/g,""));
strURLInitial = strURL;

numHTTP = strURL.toLowerCase().indexOf("http://");
numHTTPS = strURL.toLowerCase().indexOf("https://");
numFTP = strURL.toLowerCase().indexOf("ftp://");

if (numHTTP >= 0) numStart = numHTTP + 7;
else if (numHTTPS >= 0) numStart = numHTTPS + 8;
else if (numFTP >= 0) numStart = numFTP + 6;
else numStart = 0;

// ignore everything after the #
numPound = strURL.indexOf("#", numStart);
if (numPound >= 0) strURL = strURL.substring(0, numPound);

// if @ before a /, ignore everything up to the @
numAt = strURL.indexOf("@", numStart);
numSlash = strURL.indexOf("/", numStart);
if (numAt >= 0) {
if ( (numSlash >=0 && numAt < numSlash) || numSlash < 0 ) {
strURL = strURL.substring(0, numStart)
+ strURL.substring(numAt+1, strURL.length);
}
}

frm.txtURLInitial.value = strURLInitial;
frm.txtURLFinal.innerText = strURL;
}

function clearURL(frm) {
frm.txtURL.value = "";
frm.txtURLInitial.value = "";
frm.txtURLFinal.value = "";
frm.txtURL.focus();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=frmURL>
<table border=0 cellpadding=0 cellspacing=3>
<tr>
<td valign=top rowspan=2 bgcolor="#e0e0e0">Кодированный URL</td>
<td><textarea name=txtURL cols=50 rows=5>http://www.angelfire.com%40%77w%77%2e%63yb%65%72%67atew%61%79%2e%6e%65%74/s%70%61%6d%6d%65r/%69%6Ed%65%78.%68%74m%6C#3491382728/%32c%72%65%64%69%74c/%69%6Ed%65%78.%68%74m%6C</textarea></td>
</tr>
<tr>
<td>
<input type=button value="Привести в удобочитаемый вид" onClick="unObfuscateURL(this.form)">
<input type=button value="Сброс" onClick="clearURL(this.form)"><br>
</td>
</tr>
<tr>
<td valign=top bgcolor="#e0e0e0">Начальная дескодировка</td>
<td><input type=text size=65 name=txtURLInitial></td>
</tr>
<tr>
<td valign=top bgcolor="#e0e0e0">Конечный результат</td>
<td><input type=text size=65 name=txtURLFinal></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security16

Кодировать - раскодировать ( ASCII )
Простой, но симпатичный кодировщик. Для серьезного кодирования, конечно, не годится, но как игрушка вполне соответствует!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: David Salsinha (david.salsinha@popsi.pt) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function Encrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
rnd = Math.round(Math.random() * 122) + 68;
Temp[i] = theText.charCodeAt(i) + rnd;
Temp2[i] = rnd;
}
for (i = 0; i < TextSize; i++) {
output += String.fromCharCode(Temp[i], Temp2[i]);
}
return output;
}
function unEncrypt(theText) {
output = new String;
Temp = new Array();
Temp2 = new Array();
TextSize = theText.length;
for (i = 0; i < TextSize; i++) {
Temp[i] = theText.charCodeAt(i);
Temp2[i] = theText.charCodeAt(i + 1);
}
for (i = 0; i < TextSize; i = i+2) {
output += String.fromCharCode(Temp[i] - Temp2[i]);
}
return output;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=encform onsubmit="return false;">
<textarea name=box1 rows=5 cols=35>Бери больше, кидай дальше, отдыхай пока летит!</textarea>
<p>
<input type=button value="Закодировать Форма1--> Форма2" style="width:270" onClick="this.form.box2.value=Encrypt(this.form.box1.value);">
<p>
<textarea name=box2 rows=5 cols=35></textarea>
<p>
<input type=button value="Раскодировать Форма2 --> Форма3" style="width:270" onClick="this.form.box3.value=unEncrypt(this.form.box2.value);">
<p>
<textarea name=box3 rows=5 cols=35></textarea>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security17

Кодировщик - раскодировщик (ЦИФРЫ)

Оригинальный текст | Закодированный текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike McGrath (mike_mcgrath@lineone.net) -->
<!-- Web Site: http://website.lineone.net/~mike_mcgrath/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var str_in;
var str_out = "";
var num_in;
var num_out = "";
var e = "Введите текст!";

function str_to_num(form) {
num_out = "";
if(form.input.value == "") alert(e);
else {
str_in = escape(form.input.value);
for(i = 0; i < str_in.length; i++) {
num_out += str_in.charCodeAt(i) - 23;
}
form.output.value = num_out;
form.input.value = "";
}
}

function num_to_str(form) {
str_out = "";
if(form.output.value == "") alert(e)
else {
num_out = form.output.value;
for(i = 0; i < num_out.length; i += 2) {
num_in = parseInt(num_out.substr(i,[2])) + 23;
num_in = unescape('%' + num_in.toString(16));
str_out += num_in;
}
form.input.value = unescape(str_out);
form.output.value = "";
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=encryptform>
<table style="width:95%">
<tr>
<td align=center>Оригинальный текст</td>
<td> </td>
<td align=center>Закодированный текст</td>
</tr>
<tr>
<td align=center style="width:45%"><input name=input style="width:95%" type=text size=40 value="Каков стол, таков и стул..."></td>
<td align=center>
<input type=button value="" onClick="javascript:num_to_str(this.form)" style="background-image: url('arrowl.gif'); width: 22; height: 22"><br>
<input type=button value="" onClick="javascript:str_to_num(this.form)" style="background-image: url('arrowr.gif'); width: 22; height: 22">
</td>
<td align=center style="width:50%"><input name=output style="width:95%" type=text></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security18

Генератор кода для парольно-защищенной сираницы
(для конкретных лиц)

По действенности, это наилучшая на сегодняшний день JavaScript парольная защита. Но, честно говоря, разобраться в этом скрипте до конца не удалось:(

Пользователь:
Пароль: <-- Должно быть точно 8 знаков
Имя страницы: .html<-- Должно быть точно 8 знаков

Код для самого генератора

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center><table border=1 bgcolor="#808080"><tr><td><table>
<tr><form name=members></font><td rowspan=4>
<font size="3" color="#FFFFFF">
<select name=memlist size=10 onChange="showmem(this.form)">

<!-- Original: Dion -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- "member name | password | destination pagename |" -->
<option selected value="John Smith|password|mainpage|">John Smith
<option value="Peter Jones|theirpwd|endpages|">Peter Jones
<option value="Sue Brown|asdfvcxz|nowheres|">Sue Brown
<option value="Sally West|zaqxswde|logintop|">Sally West
</select></font></td>
<td align=right>
<font size="3" color="#FFFFFF">
Пользователь:</font></td><td>
<font size="3" color="#FFFFFF">
<input type=hidden value="0" name=entry>
<input type=text name=memname size=8 value=""></font></td></tr>
<tr><td align=right>
<font size="3" color="#FFFFFF">
Пароль:</font></td><td><font color="#FFFFFF">
<font size="3">
<input type=text name=password size=8 maxlength=8><font size="-1"><--
</font></font><font size="-1">Должно быть
точно 8 знаков</font></font></td></tr>
<tr><td align=right>
<font size="3" color="#FFFFFF">
Имя страницы:
</font>
</td><td><font color="#FFFFFF">
<font size="3">
<input type=text name=pagename size=8 maxlength=8><b>.html</b><font size="-1"><--
</font>
</font>
<font size="-1">Должно быть точно 8
знаков</font></font></td></tr>
<tr><td colspan=2 align=center>
<font size="3" color="#FFFFFF">
<input type=button value="Новый пользователь" onclick="addnew(this.form);">
<input type=button value="Удалить пользователя" onclick="delthis(this.form);">
<input type=button value="Обновить/показать код" onclick="update(this.form); create(this.form);"></font></td></tr>
<tr><td colspan=3 align=center>
<font size="3" color="#FFFFFF">
<input type=text size=60 name=message value="Пароль/Название страницы должны быть точно 8 знаков! (a-z)">
<input type=hidden name=num value=1></font></td>
<font size="3" color="#000000">
</form></tr>
</table>
<hr size=2 width=75%>
<form name=js><textarea cols=75 rows=10 name=scrpt wrap=virtual>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
function check(form) {
which=form.memlist.selectedIndex;
choice = form.memlist.options[which].value+"|";
if (choice=="x|") {
alert("Please Select Your Name From The List");
return;
}
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
h1=makehash(form.pass.value,3);
h2=makehash(form.pass.value,10)+" ";
if (h1!=params[1]) {
alert("Incorrect Password!"); return; };
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1)
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a-=(h2.substring(i,i+1)*1);
if (a<0) a+=26;
page+=alpha.substring(a,a+1); };
top.location=page.toLowerCase()+".html";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</textarea>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var script=document.js.scrpt.value;
document.js.scrpt.value="Заполните форму сверху для создания базы данных пользователей и их паролей, а также страницы назначения. Затем кликните \"Показать код\" для получения кода, который следует поместить на Вашу парольно-защищеную страницу. Если у Вас возникнут вопросы по поводу применения этого скрипта обращайтесь непосредственно к автору (на английском!): dion@mailhub.omen.com.au";
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
showmem(document.members);
function showmem(form) {
document.members.num.value=document.members.memlist.length;
var which=form.memlist.selectedIndex;
splt(form.memlist[which].value);
form.entry.value=which+1;
for (i=2;i<5;i++) {
form.elements[i].value=params[i-2]; };
}
function splt(choice) {
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
}
function addnew(form) {
newmem=getfields(form);
var who=prompt("New User's Name:","");
form.memlist[form.memlist.length] = new Option(who, newmem, false, true);
if (navigator.appName=="Netscape") {
document.js.scrpt.value=script;
history.go(0);
}
else {
showmem(document.members);
}
}
function getfields(form) {
newmem="";
for (i=2;i<5;i++) {
newmem+=form.elements[i].value+"|"; };
for (i=3;i<5;i++) {
a=form.elements[i];
for (k=0;k<8;k++) {
}
}
return(newmem);
}
function delthis(form) {
if (confirm("Delete "+form.memname.value+"?")) {
form.memlist.options[form.entry.value-1]=null;
form.message.value=form.memname.value+" Deleted";
form.memlist.selectedIndex=0;
if (navigator.appName=="Netscape") {
document.js.scrpt.value=script;
history.go(0);
}
else {
showmem(document.members);
}
}
}
function update(form) {
msg="no";
a=form.elements[i];
for (k=0;k<8;k++) {
b=a.value.substring(k,k+1);
c=b.toUpperCase();
form.memlist[form.entry.value-1].value=getfields(form);
form.message.value=form.memname.value+"'s record was updated";
}
}
function create(form) {

var html="<center><form name=login>\n";
html+="<table border=1 cellpadding=3>\n\n";
html+="<!-- Original: Dion -->\n";
html+="<!-- Web Site: http://www.iinet.net.au/~biab/ -->\n";
html+="<!-- This script and many more are available free online at -->\n";
html+="<!-- The JavaScript Source!! http://javascript.internet.com -->\n\n";
html+='<tr><td colspan=2 align=center><font size="+2">';
html+='<b>Members-Only Area!</b></font></td></tr>\n';
html+="<tr><td>Username:</td><td><select name=memlist>\n<option value='x'>";
for (j=0;j<form.memlist.length;j++) {
splt(form.memlist.options[j].value);
h1=makehash(params[1],3);
h2=makehash(params[1],10)+" ";
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1);
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a+=(h2.substring(i,i+1)*1);
page+=alpha.substring(a,a+1);
}
html+="\n<option value='"+params[0]+"|"+h1+"|"+page+"'>"+params[0];
};
html+="\n</select></td></tr>\n";
html+="<tr><td>Password:</td><td><input type=password size=10 maxlength=8 name=pass></td></tr>\n";
html+='<tr><td colspan=2 align=center><input type=button value="Login" onclick="check(this.form)"></td>\n';
html+="</tr>\n</table>\n</form>\n";
document.js.scrpt.value=html+script+"</center>";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</font>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security20

Парольный доступ (множественный)
Отличительной чертой этого скрипта является невероятная его простота и, в тоже время, возможность задавать множество паролей и имен пользователей для доступа на разные парольно-защищенные страницы. Как и большинство подобных скриптов, этот скрипт имеет один очень серьезный недостаток - достаточно посмотреть источник страницы и все пароли оказываются открытыми, не говоря уже об имени файла парольно-защищенной страницы! Поэтому, хотя бы для минимальной защиты, следует сделать страницу с этим скриптом открываемой в виде pop-up, без панелей инструментов и меню, с запретом на меню правого клика (это тоже защита только от "чайника", так что особенно на это не полагайтесь!).

Только члены профсоюза!

Имя:
Пароль:

Белым цветом в таблице отмечено имя пользователя, голубым - пароль, желтым - страница назначения. Пароль и имя пользователя должны быть написаны прописными буквами.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function Login(){
var done=0;
var username=document.login.username.value;
username=username.toLowerCase();
var password=document.login.password.value;
password=password.toLowerCase();
if (username=="рыба" && password=="селедка") { window.location="home.htm"; done=1; }
if (username=="рак" && password=="лебедь") { window.location="another.htm"; done=1; }
if (username=="кит" && password=="телега") { window.location="Link.htm"; done=1; }
// и так далее...
if (done==0) { alert("Невеный пароль или имя
      пользователя!"); }
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=login>
<table width=225 border=1 cellpadding=3 bgcolor="#808080">
<tr><td colspan=2>
<p align="center"><b><font color="#FFFFFF" size="3">Только члены
профсоюза!</font></b></p>
</td></tr>
<tr><td>
<font size="3" color="#FFFFFF">
Имя:
</font>
</td><td>
<font size="3" color="#FFFFFF">
<input type=text name=username>
</font>
</td></tr>
<tr><td>
<font size="3" color="#FFFFFF">
Пароль:
</font>
</td><td>
<font size="3" color="#FFFFFF">
<input type=text name=password>
</font>
</td></tr>
<tr><td colspan=2 align=center>
<font size="3" color="#FFFFFF">
<input type=button value="Войти!" onClick="Login()">
</font>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security19

Парольный доступ (множественный, запрос JavaScript)
Простота скрипта и, в тоже время, возможность задавать множество паролей и имен пользователей для доступа на разные парольно-защищенные страницы обеспечивают этому скрипту определенную популярность. Однако, как и большинство подобных скриптов, этот скрипт имеет один очень серьезный недостаток - достаточно посмотреть источник страницы и все пароли оказываются открытыми, не говоря уже об имени файла парольно-защищенной страницы! Поэтому, хотя бы для минимальной защиты, следует сделать страницу с этим скриптом открываемой в виде pop-up, без панелей инструментов и меню, с запретом на меню правого клика (хотя, это тоже защита только от "чайника", так что особенно на это не полагайтесь!).

Белым цветом в таблице отмечено имя пользователя, голубым - пароль, желтым - страница назначения. Пароль и имя пользователя должны быть написаны прописными буквами.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function LogIn(){
loggedin=false;
username="";
password="";
username=prompt("Username:","");
username=username.toLowerCase();
password=prompt("Password:","");
password=password.toLowerCase();
if (username=="коклюш" && password=="ветрянка") {
loggedin=true;
window.location="home.htm";
}
if (username=="коклюш2" && password=="ветрянка2") {
loggedin=true;
window.location="another.htm";
}
// и так далее...
if (loggedin==false) {
alert("Неверный пароль или имя пользователя!");
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form><input type=button value="Войти!" onClick="LogIn()"></form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Security22

Три попытки
Из названия понятно, что три попытки для ввода неверного пароля - это предел, после которого что-то случиться... Правильно! Вас без предупреждения препроводят туда откуда Вы пришли! Скрипт, находящийся на странице содержит в себе и пароль, и имя файла защищенной страницы. Но вся прелесть в том, что добраться до скрипта обычным способом невозможно, так как при появлении Запроса Javascript браузер перестает быть активным и не реагирует ни на какие манипуляции со стороны мыши или клавиатуры. Для достижения этого эффекта необходимо поместить в тэг <BODY> Onload event password(), то есть тэг должен выглядеть так <BODY Onload="password()">. В таком случае эта страница становиться лишь переходной: при правильном пароле Вы будете отправлены на защищенную страницу, при неправильном - назад, откуда пришли. Безусловно, есть способы залезть "внутрь" и этой переходной страницы, и даже совсем несложные (см. скрипт "Просмотр источника без загрузки страницы в браузер" раздел "Разное"). Поэтому не особенно полагайтесь и на этот скрипт.

Белым цветом отмечен пароль, желтым - "секретная" страница.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function password() {
var testV = 1;
var pass1 = prompt('Введите пароль','Подсказка: пароль - библиотека');
while (testV < 3) {
if (!pass1)
history.go(-1);
if (pass1 == "библиотека") {
alert('Пароль верный!');

window.open('home.htm');
break;
}
testV+=1;
var pass1 =
prompt('Доступ запрещен - Неверный пароль. Повторите попытку','Подсказка: библиотека');
}
if (pass1!="библиотека" & testV ==3)
history.go(-1);
return " ";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<input type="button" value="Вход на закрытую страницу" onClick="password()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen8

Генератор кода HTML страницы

Инструкция:

  1. Заполните таблицу данными, которые должны быть отображены нв странице.
  2. Нажмите Сненерировать код.
  3. При необходимости откорректируйте данные в текстовом поле.
  4. Нажмите кнопку Посмотреть для просмотра создаваемой страницы
  5. Для сохранения документа в файле скопируйте код и сохраните текстовом или HTML редакторе.
Page Title:
Ваш E-Mail адрес(*):
Ваши любимые сайты:(*)
URL: Title:
Body(*):

(*=дополнительно)

Код для самого Генератора

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function View(form) {
msg=open("","DisplayWindow","status=1,scrollbars=1");
msg.document.write(form.Text2.value);
}
function Generate(form) {
var txt="<html><HEAD> <TITLE>"+form.Name.value+"</TITLE></HEAD>\r\n";
txt+=
"<CENTER><h1> <font color=red>"+form.Name.value+"</font> </h1></CENTER><hr>\r\n";
txt+="<body><font size=4>\r\n";
if(form.Text1.value)
txt+=form.Text1.value+"\r\n";    if(form.Fav1URL. value||form.Fav2URL.
      value||form.Fav3URL.value||form.Fav4URL. value||form.Fav5URL.value||form.Fav6URL.value) {
txt+="<hr><font>Some of my favorite links:<BR> <ul>\r\n<LI><a href=http://javashelp.cjb.net>JavaScript Help</a><BR>\r\n";
if(form.Fav1URL.value)
txt+="<LI><a href=
      "+form.Fav1URL.value+">"+form.Fav1Title.value+" </a><BR>\r\n";
if(form.Fav2URL.value)
txt+="<LI><a href=
      "+form.Fav2URL.value+">"+form.Fav2Title.value+" </a><BR>\r\n";
if(form.Fav3URL.value)
txt+="<LI><a href=
      "+form.Fav3URL.value+">"+form.Fav3Title.value+" </a><BR>\r\n";
if(form.Fav4URL.value)
txt+="<LI><a href=
      "+form.Fav4URL.value+">"+form.Fav4Title.value+" </a><BR>\r\n";
if(form.Fav5URL.value)
txt+="<LI><a href=
      "+form.Fav5URL.value+">"+form.Fav5Title.value+" </a><BR>\r\n";
if(form.Fav6URL.value)
txt+="<LI><a href=
      "+form.Fav6URL.value+">"+form.Fav6Title.value+" </a><BR>\r\n";
txt+="</ul></font>";
}
if(form.EMail.value){
txt+="<hr>Вопросы? Комментарии? Пишите:\r\n";
txt+="<address><a href= mailto:"+form.EMail.value+">"+form.EMail.value+"
      </address>\r\n";
}
txt+="</font></body></html>";
form.Text2.value=txt;
}
function AddText(form, Action){
var AddTxt="";
var txt="";
if(Action==1){
txt=prompt("Текст для заголовка h1.","Text");
if(txt!=null)
AddTxt="<h1>"+txt+"</h1>\r\n";
}
if(Action==2){
txt=prompt("Текст для заголовка h2.","Text");
if(txt!=null)
AddTxt="<h2>"+txt+"</h2>\r\n";
}
if(Action==3){
txt=prompt("Текст для заголовка h3.","Text");
if(txt!=null)
AddTxt="<h3>"+txt+"</h3>\r\n";
}
if(Action==4) {
txt=prompt("Текст с жирным шрифтом.","Text");
if(txt!=null)
AddTxt="<b>"+txt+"</b>";
}
if(Action==5) {
txt=prompt("Текст курсивом","Text");
if(txt!=null)
AddTxt="<i>"+txt+"</i>";
}
if(Action==6) AddTxt="\r\n<p>";
if(Action==7) AddTxt="<BR>\r\n";
if(Action==8) AddTxt="<hr>\r\n";
if(Action==9) {
txt=prompt("URL для линка.","http://");
if(txt!=null){
AddTxt="<a href="+txt+">";
txt=prompt("Текст для линка","Text");
AddTxt+=txt+"</a>\r\n";
}
}
if(Action==10) {
txt=prompt("URL для рисунка","URL");
if(txt!=null)
AddTxt="<img src="+txt+">\r\n";
}
form.Text1.value+=AddTxt;
}
function ResetPage(form) {
if(confirm("Удалить код?")) {
form.Text1.value="";
form.Text2.value="";
form.Name.value="";
form.EMail.value="";
form.Fav1URL.value="";
form.Fav1Title.value="";
form.Fav2URL.value="";
form.Fav2Title.value="";
form.Fav3URL.value="";
form.Fav3Title.value="";
form.Fav4URL.value="";
form.Fav4Title.value="";
form.Fav5URL.value="";
form.Fav5Title.value="";
form.Fav6URL.value="";
form.Fav6Title.value="";
}
}

// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<P>Инструкция:<OL>
<LI>Заполните таблицу данными, которые должны быть отображены нв странице.
<LI>Нажмите Сненерировать код.
<LI>При необходимости откорректируйте данные в текстовом поле.
<LI>Нажмите кнопку Посмотреть для просмотра создаваемой страницы
<LI>Для сохранения документа в файле скопируйте код и сохраните текстовом или HTML редакторе.</OL>
<HR>
</font>
<FORM ACTION="">
<TABLE border=1 bgcolor="#808080">
<TR><TD>
<font size="3" color="#FFFFFF">
Page Title:
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Name" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD>
<font size="3" color="#FFFFFF">
Ваш E-Mail адрес(*):
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="EMail" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD colspan=2>
<font size="3" color="#FFFFFF">
Ваши
любимые сайты:(*)
</font>
<TR><TD>
<font size="3" color="#FFFFFF">
URL:
</font>
<TD>
<font size="3" color="#FFFFFF">
Title:
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav1URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav1Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav2URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav2Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav3URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav3Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav4URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav4Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav5URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav5Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav6URL" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TD align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="Fav6Title" size=23 style="background-color: #DDDDDD; border-style: solid; border-width: 0">
</font>
<TR><TD colspan=2>
<font size="3" color="#FFFFFF">
Body(*):
</font>
<TR align=center><TD colspan=2>
<font size="3" color="#FFFFFF">
<input type="Button" value="Header1" onClick="AddText(this.form,1);">
<input type="Button" value="Header2" onClick="AddText(this.form,2);">
<input type="Button" value="Header3" onClick="AddText(this.form,3);">
<input type="button" value="Bold" onClick="AddText(this.form,4);">
<input type="button" value="Italic" onClick="AddText(this.form,5);">
<BR><input type="button" value="Paragraph" onClick="AddText(this.form,6);">
<input type="button" value="Break" onClick="AddText(this.form,7);">
<input type="button" value="Line" onClick="AddText(this.form,8);">
<input type="button" value="Link" onClick="AddText(this.form,9);">
<input type="button" value="Graphic" onClick="AddText(this.form,10);">
<BR>
<textarea name="Text1" Rows=5 Cols=42 style="background-color: #DDDDDD; border-style: solid; border-width: 0"></textarea>
</font>
<TR align=center><TD colspan=2>
<font size="3" color="#FFFFFF">
<input type="button" value="Сгенерировать код" onClick="Generate(this.form);">
</font>
<TR align=center><TD colspan=2>
<font size="3" color="#FFFFFF">
<input type="button" value="Сброс" onClick="ResetPage(this.form);">
<input type="button" value="Просмотр" onClick="View(this.form);">
<br>
<textarea name="Text2" rows=10 Cols=42 style="background-color: #14BAD8"></textarea>
</font>
<caption>(*=дополнительно)</caption>
</TABLE>
&nbsp;<BR>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen4

Генератор кода для MouseOver эффекта
Генерируется код, который, прежде всего, позволяет осуществлять предварительную загрузку рисунков для MoseOver эффекта, а также выполняет сам этот эффект. Введите в поле "Рисунок" имя файла рисунка ( с URL адресом, конечно!), который будет загружаться как основной, то есть MouseOut рисунок, затем в поле "MouseOver рисунок" введите имя файла (опять же, с адресом!) рисунка, который будет воспроизводится при наведении мыши на основной рисунок. И последнее, введите в поле "таргет URL" адрес страницы, которая будет открываться при клике по рисунку. Теперь можете нажимать кнопку "Сгенерировать код" и получить код для размещения его на странице.

Генератор MouseOver эффекта
Рисунок 1
MouseOver рисунок 1
таргет URL 1
Рисунок 2
MouseOver рисунок 2
таргет URL 2
Рисунок 3
MouseOver рисунок 3
таргет URL 3
Рисунок 4
MouseOver рисунок 4
таргет URL 4
Рисунок 5
MouseOver рисунок 5
таргет URL 5

В таблицах приведен код для самого Генератора Кода

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function generate(form){

var txt = '<!-- ДВА ШАГА ДЛЯ УСТАНОВКИ КОДА: -->\r\n\r\n'
+ ' <!-- 1. Поместить часть кода в HEAD вашего HTML документа -->\r\n'
+ ' <!-- 2. Поместить другую часть кода в BODY вашего HTML документа -->\r\n\r\n'
+ '<!-- ШАГ ПЕРВЫЙ: вставьте эту часть кода в HEAD вашего HTML документа -->\r\n\r\n'
+ '\r\n\r\n<SCRIPT LANGUAGE="JavaScript">\r\n\r\n'
+ '<!-- Begin\r\n\r\n';

for (var i=1;i<6;i++) {
var use = eval(eval("document.form.imageMOI" + i + ".value") != "");
if (use) {
txt += 'image' + i + ' = new Image();\r\nimage' + i + '.src = "';
txt += eval('document.form.imageMOI' + i + '.value') + '";\r\n\r\n';
}
}

txt += '/\/ End -->\r\n<\/script>\r\n';
txt += '\r\n\r\n';
txt += '<!-- ШАГ ВТОРОЙ: вставьте эту часть кода в BODY вашего HTML документа -->\r\n\r\n';
txt += '\r\n\r\n';

for (var i=1;i<6;i++) {
var use = eval(eval("document.form.image" + i + ".value") != "");
if (use) {
txt += '<a hr' + 'ef=' + '\"' + eval('document.form.URL' + i + '.value') + '\" ';
txt += 'onmouseover=\"image'+i+'.src=';
txt += '\''+ eval('document.form.imageMOI'+i+'.value') +'\';\"\r\n';
txt += 'onmouseout=\"image'+i+'.src=';
txt += '\''+eval('document.form.image'+i+'.value')+'\';\">\r\n';
txt += '<i' + 'mg name=\"image'+i+'\" ';
txt += 'src=\"'+eval('document.form.image'+i+'.value')+'\" ';
txt += 'border=0></a>\r\n\r\n';
}
}
txt += '\r\n\r\n';
document.mail.source.value=txt;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="form" action="">
<table bgcolor="#808080" border="2" cellpadding="4" width=375>
<tr>
<td colspan=2 width="317">
<p align="center"><b><font face="arial" color="#FFFFFF" size="4">Генератор
MouseOver эффекта</font></b></p>
</td>
</tr>
<tr>
<td width=147 align="center"><b>
<font size="3" color="#FFFFFF">
<font face="arial">Рисунок&nbsp;</font></font></b><font size="3" color="#FFFFFF"><b><font size="3" face="arial">
1</font></b></font></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="image1" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font face="arial" size="2" color="#FFFFFF">MouseOver
рисунок 1</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="imageMOI1" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font size="3" face="arial" color="#FFFFFF">таргет
URL 1</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="URL1" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b>
<font size="3" color="#FFFFFF">
<font face="arial">Рисунок&nbsp;</font></font></b><font size="3" color="#FFFFFF"><b><font size="3" face="arial">
2</font></b></font></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="image2" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font color="#FFFFFF"><font face="arial" size="2">MouseOver
рисунок 2</font></font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="imageMOI2" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font size="3" face="arial" color="#FFFFFF">таргет
URL 2</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="URL2" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b>
<font size="3" color="#FFFFFF">
<font face="arial">Рисунок&nbsp;</font></font></b><font size="3" color="#FFFFFF"><b><font size="3" face="arial">
3</font></b></font></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="image3" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font color="#FFFFFF"><font face="arial" size="2">MouseOver
рисунок 3</font></font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="imageMOI3" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font size="3" face="arial" color="#FFFFFF">таргет
URL 3</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="URL3" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b>
<font size="3" color="#FFFFFF">
<font face="arial">Рисунок&nbsp;</font></font></b><font size="3" color="#FFFFFF"><b><font size="3" face="arial">
4</font></b></font></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="image4" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font color="#FFFFFF"><font face="arial" size="2">MouseOver
рисунок 4</font></font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="imageMOI4" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font size="3" face="arial" color="#FFFFFF">таргет
URL 4</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="URL4" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b>
<font size="3" color="#FFFFFF">
<font face="arial">Рисунок&nbsp;</font></font></b><font size="3" color="#FFFFFF"><b><font size="3" face="arial">
5</font></b></font></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="image5" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font color="#FFFFFF"><font face="arial" size="2">MouseOver
рисунок 5</font></font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="imageMOI5" size=25>
</font>
</td>
</tr>
<tr>
<td width=147 align="center"><b><font size="3" face="arial" color="#FFFFFF">таргет
URL 5</font></b></td>
<td width=198 align="center">
<font size="3" color="#FFFFFF">
<input type="text" name="URL5" size=25>
</font>
</td>
</tr>
<tr>
<td colspan=2 align="center" width="317">
<font size="3" color="#FFFFFF">
<br>
<input type="button" name=done value="Сгенерировать скрипт" onclick="generate(this.form);">
<br><br>
</font>
</td></tr>
</table>
</form>
</center>

<font size="3" color="#000000">
<p>
<center>
<form name="mail">
<table bgcolor="dedfdf" border="2" cellpadding="4" width=378>
<tr><td align=center width="360">
<div align=left>
&nbsp;
<input type=button value="Выделить все" onClick="javascript:this.form.source.focus();this.form.source.select();">&nbsp;&nbsp;&nbsp;&nbsp;
</div><br>
<textarea name="source" rows=12 cols=40 style="background-color: #14BAD8"></textarea><br>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC43

Генератор JavaScript кода для pop-up окна

Позволяет создавать любые типы pop-up окна и даже нескольких, одновременно открываемых.! Вам следует лишь ввести начальные условия и нажать кнопку "Сгенерировать". Генератор не умеет создавать только две вещи: кнопку, открывающую pop-up - создается обычный линк и бесфреймовое pop-up окно. Последнее рассмотрено в одном из скриптов этого раздела, а что касается кнопки, то обратитесь к скриптам, посвященным кнопкам, ознакомьтесь с устройством их кодов и по аналогии примените к этому скрипту, в конце концов, кнопка - это просто форма!. В следующих выпусках JS Library подобным "мелким тонкостям" будет уделено больше внимания.

URL страницы в окне
Имя окна (не заголовок!)
Ширина
Высота
Прокрутки
Адресная строка
Ссылки
Строка состояния
Меню
Кнопки
Растягиваемое
Положение на экране
Сколько открывать окон?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen1

Генератор кода для выпадающего меню

Выберите нужные опции для Вашего меню, введите текст и URL для каждого топика и нажмите кнопку "Сгенерировать код".

Генератор выпадающего меню
Использование кнопки ПЕРЕЙТИ:
Загружать выбранную страницу сразу Использовать кнопку Рисунок для кнопки (url=)
Вводные данные для выпадающего меню:
Текст | URL

КОД ДЛЯ ВАШЕГО МЕНЮ:

В таблицах приведен код для самого Генератора Кода.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function generate(form){
var txt ='<!-- Поместите этот код в Ваш HTML документ между тэгами <BODY> и </BODY> -->\r\n\r\n'
+ '<!-- Original: Ricocheting (ricocheting@hotmail.com) -->\r\n'
+ '<!-- Web Site: http://free.prohosting.com/~ric -->\r\n\r\n'

if (document.jump.go[0].checked) {
txt += "<form name=\"jump\">\n<select name=\"menu\" onChange=\"location=document.jump.menu.options[document.jump.menu.selectedIndex].value;\" value=\"GO\">\n";
}
if (document.jump.go[1].checked) {
txt += "<form name=\"jump\">\n<select name=\"menu\">\n";
var Button = "<input type=\"button\" onClick=\"location=document.jump.menu.options[document.jump.menu.selectedIndex].value;\" value=\"ПЕРЕЙТИ\">\n";
}
if (document.jump.go[2].checked) {
txt += "<form name=\"jump\">\n<script>\nfunct" +
"ion jumpMenu(){\nlocation=document.jump.menu.options[document.jump.menu.selectedIndex].value;\n}\n" +
"</sc" + "ript>\n<select name=\"menu\">\n";
var Button = "<a href=\"Javascript:jumpMenu()\">"+
"<IMG SRC=\""+document.jump.image.value+"\" border=0></a>\n";
}
for (jig = 5; jig <= 24; jig = jig + 2) {
if (form[jig].value)
{
txt += "<option";
if (form[jig+1].value)
{
txt += " value=\""+form[jig+1].value+"\"";
}
else
{
txt += " value=\"#\"";
}
txt += ">"+form[jig].value+"</option>\n";
}

}

if (document.jump.go[0].checked) {
txt += "</select>\n</form>\n";
}
if (document.jump.go[1].checked) {
txt += "</select>\n"+Button+"</form>\n";
}
if (document.jump.go[2].checked) {
txt += "</select>\n"+Button+"</form>\n";
}
document.mail.source.value=txt;

}

function View(text) {
msg=open("","DisplayWindow","menubar=1,width=300,height=100");
msg.document.write(text);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="jump">
<table border="0"><tr><td width=332>
<table border="1" width="353"><tr>
<td align="center" colspan=2 width="343" bgcolor="#808080">
<font size="+2" color="#FFFFFF">Генератор выпадающего
меню</font>
</td></tr>
<font size="3" color="#000000">
<tr>
<td colspan=2 height=5 width="343" bgcolor="#808080"></td>
</tr>
</font>
<tr align="center">
<td colspan=2 align=center width="343" bgcolor="#808080">
<b>
<font size="3" color="#FFFFFF">
Использование кнопки ПЕРЕЙТИ:</font></b></td>
</tr>
<tr>
<td colspan=2 align=left width="343" bgcolor="#808080">
<font color="#FFFFFF">
<input type="radio" name="go" checked>Загружать выбранную
страницу сразу<br>
<input type="radio" name="go">Использовать кнопку <input type="button" value="Перейти"><br>
<input type="radio" name="go">Рисунок для кнопки (url=)
<input type="text" name="image" value="http://" size="17" style="background-color: #DEDFDF; border-style: solid; border-width: 1">
</font>
</td>
</tr>
<tr align="center">
<td colspan=2 height=5 width="343" bgcolor="#808080"></td>
</tr>
<tr align="center">
<td colspan=2 align=center width="343" bgcolor="#808080">
<b><font color="#FFFFFF">Вводные данные для выпадающего меню:</font></b></td>
</tr>
<tr align="center">
<td width=156 bgcolor="#808080">
<strong><font color="#FFFFFF">Текст</font></strong></td>
<td width=181 bgcolor="#808080">
<strong><font color="#FFFFFF">URL</font></strong></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text1" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url1" size="20" value="http://" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text2" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url2" size="20" value="http://" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text3" size="20"style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url3" size="20" value="http://" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text4" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url4" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text5" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url5" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text6" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url6" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text7" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url7" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text8" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url8" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text9" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url9" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr align="center">
<td bgcolor="#808080" width="156">
<input type="text" name="text10" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
<td bgcolor="#808080" width="181">
<input type="text" name="url10" size="20" style="background-color: #DEDFDF; border-style: solid; border-width: 1"></td>
</tr>
<tr>
<td colspan="2" align="center" height=33 width="343" bgcolor="#808080">
<input type="button" class="button" value="Сгенерировать код" onClick="generate(this.form)">
<input type="reset" class="button" value="Сброс">
</td>
</tr>
</table>
</td>
</tr>
</table>
<br><br>
<b>
КОД&nbsp; ДЛЯ&nbsp; ВАШЕГО&nbsp; МЕНЮ:</b>
</form>
</center>

<p>
<center>
<form name="mail">
<table bgcolor="#DEDFDF" border="2" cellpadding="4" width=360>
<tr><td align=center>
<input type="button" class="button" value="Показать получившееся меню!" name="DOC" onClick="View(this.form.source.value);">
<p>
<DIV align="left">
&nbsp;&nbsp;&nbsp;
<input type=button value="Выделить все" onClick="javascript:this.form.source.focus();this.form.source.select();">&nbsp;&nbsp;&nbsp;&nbsp;
</DIV>
<textarea name="source" rows=15 cols=35 style="background-color: #14BAD8"></textarea><br>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


gen11

Генератор кода границ страницы

Определите параметры границ миниокна
Толщина

Стиль :

Цвет :

TECT

Когда вы получите желаемый результат поместите код прямо под тэгом <body>

Выделить

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
function cs(){
if (document.all){
with (document.cstyle){
temp='border:'+cstyle1.value+' '+cstyle2.value+' '+cstyle3.value
document.body.style.cssText='cursor:wait'
setTimeout('document.body.style.cssText=temp','500')
document.gc.gc1.value='<script language="JavaScript1.2">\n\n/*\nDocument frame Script-\n© Dynamic Drive (www.dynamicdrive.com)\nFor full source code, installation instructions,\n100\'s more free DHTML scripts, and Terms Of\nUse, visit dynamicdrive.com\n*/\n\nif (document.all)\ndocument.body.style.cssText="'+temp+'"\n<\/script>'
}
}
}
</script>
<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2"><!------ПОМЕСТИТЕ ЭТО СРАЗУ ПОСЛЕ ТЭГА <BODY>----->
if (document.all)
document.body.style.cssText="border:25 ridge red"
function show(){
test.style.display =""
}
function hidit(){
test.style.display ="none"
}
</script>
<!--------ОТСЮДА МОЖЕТ ИДТИ ЛЮБОЙ ТЕКСТ, В ТОМ ЧИСЛЕ И ОСТАВШИЙСЯ НИЖЕ КОД---->

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<caption align="left">
<p align="center"><strong><font face="Verdana"><small>Определите
параметры границ миниокна</small></font></strong></caption>
<tr>
<td width="100%">
<form method="POST" name="cstyle">
<div align="center">
<center><table border="0" cellspacing="0"
cellpadding="0">
<tr>
<td width="34%" valign="middle" align="left"><font size="3" color="#000000"><strong><font face="Verdana"><small>Толщина&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</small></font></strong>
<input type="text" name="cstyle1" size="5" value="25"></font>
<p><strong><font face="Verdana"><small>Стиль :</small></font></strong><font face="Verdana"><strong>&nbsp;&nbsp;
</strong></font><select name="cstyle2" size="1">
<option value="dotted">dotted</option>
<option value="dashed">dashed</option>
<option value="solid">solid</option>
<option value="double">double</option>
<option value="groove">groove</option>
<option selected value="ridge">ridge</option>
<option value="inset">inset</option>
<option value="outset">outset</option>
</select></p>
<p><font size="3" color="#000000"><strong><font face="Verdana"><small>Цвет :&nbsp;&nbsp;&nbsp;&nbsp;
</small></font></strong><input type="text" name="cstyle3" size="9" value="red">
</font>
</p>
</td>
</tr>
<tr>
<td width="34%" valign="middle" align="left"><center><p><br>
<input type="button" value="Сгенерировать!" name="B1"
style="font-weight: bold; font-family: Verdana; font-size: 8pt" onClick="cs();show()"><br><br>
<div id="test" style="position:relative; display:none"><a href="javascript:highlight(0);hidit()" onMouseover="window.status='';return true">TECT</a><div>
</center>
</div>
</div>
</td>
</tr>
</table>
</center>
</div>
</form>
</td>
</tr>
</table>
<form name="gc">
<p align="center"><font face="Verdana"><small>Когда вы получите
желаемый результат поместите код прямо под
тэгом &lt;body&gt;</small></font></p>

<p align="center">

<script>
<!--
function highlight(x){
document.forms[x].elements[0].focus()
document.forms[x].elements[0].select()
}
//-->
</script>
<a href="javascript:highlight(1)" onMouseover="window.status='';return true">Выделить</a><br>
<textarea rows="8" name="gc1" cols="45" wrap="virtual" style="width:95%"></textarea>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen12

Генератор кода для "Горячих" клавиш.
Введите какую-нибудь букву (литинская или кириллица значения не имеет) и нажмите "Сгенерировать". В полученном коде замените ваш_сайт.com на адрес нужного вам сайта (страницы) и поместите код в HEAD. Горячая клавиша готова. Она будет срабатывать только на ту букву, которая введена Вами (или кириллица или латинская буква). Код самого генератора приведен ниже в таблице.

Выделить

 Код самого генератора

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form method="POST" name="key1">
<p><input type="text" name="key2" size="5" onFocus="travel=false" onBlur="travel=true"> <input
type="button" value="Сгенерировать" name="B1" onClick="generatecode()"></p>
</form>
<p align="left"><font face="Verdana">
<script language="JavaScript1.2">
var thecode=''

function step1(){
document.final1.final2.value='Генерирование кода.... Подождите.'
setTimeout("step2()",1000)
}

function step2(){
document.final1.final2.value='<script language="JavaScript1.2">\n\n'
document.final1.final2.value+='\/*\nHome Hot Key Script- \n© Dynamic Drive (www.dynamicdrive.com)\nFor full source code, installation instructions,\n100\'s more DHTML scripts, and Terms Of\nUse, visit dynamicdrive.com\n*\/\n\n'
document.final1.final2.value+='\\\\Горячая клавиша - буква \"'+document.key1.key2.value+'\"\n\nvar hotkey='+thecode+'\nvar destination="http://www.ваш_сайт.com"\nif (document.layers)\ndocument.captureEvents(Event.KEYPRESS)\nfunction backhome(e){\nif (document.layers){\nif (e.which==hotkey)\nwindow.location=destination\n}\nelse if (document.all){\nif (event.keyCode==hotkey)\nwindow.location=destination\n}\n}\ndocument.onkeypress=backhome\n\n<\/script>'
}

function generatecode(){
if (document.key1.key2.value.length==1){
if (document.layers)
thecode=document.key1.key2.value.charCodeAt(0)
step1()
}
else
alert("Нельзя вводит более одной буквы или не вводить ничего!")
}

function generatecode2(){
thecode=event.keyCode
event.cancelBubble=true
}
if (document.all)
document.key1.key2.onkeypress=generatecode2

</script>
<form method="POST" name="final1">
<script>
<!--
function highlight(x){
document.forms[x].elements[0].focus()
document.forms[x].elements[0].select()
}
//-->
</script><a href="javascript:highlight(1)" onMouseover="window.status='';return true">Выделить</a><br>
<center><textarea rows="8" name="final2" cols="45" wrap="virtual" style="width:98%"></textarea></center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen13

Генератор кода для изменения линка при наведении мыши
Неплохая идея, не правда ли? Если Вас действительно интересует подобный генератор, то можете отправить мне email. Я и так немного переделал этот буржуйский рог изобилия, но вполне мог бы добавить еще пару-тройку функций для линка при наведении, а также для пасссивного и посещенного. Короче, будет заинтересованность - отработаем до мелочей.

Я хочу, чтобы:
Изменялся цвет на: | Введите цвет
Шрифт становился жирным: |
Шрифт становился курсивом: |
Станов. подчеркнутым и надчеркн.: |
Буквы становились заглавными: |
Изменялся размер букв: | Введите размер (px или %)
У линка появлялся фон: | Введите цвет фона
Когда нажмете "сделано" наведите мышь на линк:

Пример

(Все линки на странице изменились по Вашему желанию! Проверьте, если найдете...)

Скопируйте и поместите код в <HEAD> Вашей страницы.

ВЫДЕЛИТЬ

 КОД САМОГО ГЕНЕРАТОРА

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: blue;}
a:hover { text-decoration: none; color: red; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><font face="Verdana"><strong><small>Я хочу,
чтобы</small></strong></font><strong><small><font face="Verdana">:</font></small></strong></td>
</tr>
<tr>
<td width="100%"><form name="linkeffect">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="32%" valign="top" align="left" bgcolor="#F0F0F0"><font face="Verdana"><small>Изменялся
цвет на</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%" bgcolor="#F0F0F0"><font face="Verdana"><input type="checkbox"
name="thestyles" value="ON"
onClick="document.linkeffect.colorvalue.disabled=!(this.checked)"></font></td>
<td width="60%" valign="top" align="left" bgcolor="#F0F0F0"><input type="text"
name="colorvalue" size="8"> Введите цвет</td>
</tr>
<tr>
<td width="32%" valign="top" align="left"><font face="Verdana"><small>Шрифт
становился жирным</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%"><font face="Verdana"><input type="checkbox" name="thestyles" value="ON"></font></td>
<td width="60%" valign="top" align="left"></td>
</tr>
<tr>
<td width="32%" valign="top" align="left" bgcolor="#F0F0F0"><font face="Verdana"><small>Шрифт
становился курсивом</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%" bgcolor="#F0F0F0"><font face="Verdana"><input type="checkbox"
name="thestyles" value="ON"></font></td>
<td width="60%" valign="top" align="left" bgcolor="#F0F0F0"></td>
</tr>
<tr>
<td width="32%" valign="top" align="left"><font face="Verdana"><small>Станов. подчеркнутым
и надчеркн.</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%"><font face="Verdana"><input type="checkbox" name="thestyles" value="ON"></font></td>
<td width="60%" valign="top" align="left"></td>
</tr>
<tr>
<td width="32%" valign="top" align="left" bgcolor="#F0F0F0"><font face="Verdana"><small>Б</small><small>уквы
становились заглавными</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%" bgcolor="#F0F0F0"><font face="Verdana"><input type="checkbox"
name="thestyles" value="ON"></font></td>
<td width="60%" valign="top" align="left" bgcolor="#F0F0F0"></td>
</tr>
<tr>
<td width="32%" valign="top" align="left" bgcolor="#FFFFFF"><font face="Verdana"><small>Изменялся
размер букв</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%" bgcolor="#FFFFFF"><font face="Verdana"><input type="checkbox"
name="thestyles" value="ON"
onClick="document.linkeffect.sizevalue.disabled=!(this.checked)"></font></td>
<td width="60%" valign="top" align="left" bgcolor="#FFFFFF"><font face="Verdana"><input
type="text" name="sizevalue" size="8"><small> Введите
размер (px или %)</small></font></td>
</tr>
<tr>
<td width="32%" valign="top" align="left" bgcolor="#F0F0F0"><font face="Verdana"><small>У
линка появлялся фон</small></font><small><font face="Verdana">:</font></small></td>
<td width="8%" bgcolor="#F0F0F0"><font face="Verdana"><input type="checkbox"
name="thestyles" value="ON"
onClick="document.linkeffect.highlightvalue.disabled=!(this.checked)"></font></td>
<td width="60%" valign="top" align="left" bgcolor="#F0F0F0"><font face="Verdana"><input
type="text" name="highlightvalue" size="8"> <small>Введите
цвет фона</small></font></td>
</tr>
<tr>
<td width="32%" valign="top" align="left"></td>
<td width="8%"></td>
<td width="60%" valign="top" align="left"><font face="Verdana"><input type="button"
value="Сделано!" name="B1"
style="background-color: rgb(240,240,240); font-weight: bold; font-family: Verdana; font-size: smaller"
onClick="applysheet()"></font></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td width="100%"><font face="Verdana"><strong><small>Когда
нажмете &quot;сделано&quot; наведите мышь
на линк:</small><script>

function stoperror(){
return true
}
window.onerror=stoperror
var checkarray=new Array(6)
checkarray[1]="font-weight:bold; "
checkarray[2]="font-style:italic; "
checkarray[3]="text-decoration:underline \+ overline; "
checkarray[4]="text-transform:uppercase; "

document.linkeffect.colorvalue.value=''
document.linkeffect.sizevalue.value=''
document.linkeffect.highlightvalue.value=''

for (i=0;i<6;i++)
document.linkeffect.thestyles[i].checked=false
function applysheet(){
if (!document.all){
alert("Вам необходим как минимум IE 4.x для использования этого генератора!")
return
}
checkarray[0]="color:"+document.linkeffect.colorvalue.value+"; "
checkarray[5]="font-size:"+document.linkeffect.sizevalue.value+"; "
checkarray[6]="background-color:"+document.linkeffect.highlightvalue.value+"; "
thesheet=''
for (i=0;i<7;i++){
if (document.linkeffect.thestyles[i].checked==true)
thesheet+=checkarray[i]
}

document.styleSheets[0].removeRule(1)
document.styleSheets[0].addRule("a:hover",thesheet)
}

function generatecss(){
document.csscode.csscode2.value='<!--onMouseover Link CSS Script-© Dynamic Drive '
+'\n(www.dynamicdrive.com). For full source code, '
+'\ninstallation instructions, 100\'s more DHTML '
+'\nscripts, and Terms Of Use, visit dynamicdrive.com-->'
+'\n<style><!--a:link, a:visited, a:active { text-decoration: none; color: blue;}'
+'\na:hover{'+thesheet+'}--></style>'
}
</script>
</strong></font><p
align="center"><font face="Verdana"><a href="#top">Пример</a></font></p>
<p align="center"><font face="Verdana"><small>(Все линки на
странице изменились по Вашему желанию!
Проверьте, если найдете...)</small></font></p>
<form method="POST" <div
align="left"><p><input type="button" value="Сгенерировать код!" name="B1"
onClick="generatecss()"></p>
</form>
</td>
</tr>
</table>
<hr size="1">
<p align="left"><font face="Verdana"><strong><small>Скопируйте и
поместите код в &lt;HEAD&gt; Вашей страницы</small></strong><small><strong>.</strong></small></font></p>
<form method="POST" name="csscode">
<script>
<!--
function highlight(x){
document.forms[x].elements[0].focus()
document.forms[x].elements[0].select()
}
//-->
</script><a href="javascript:highlight(2)" onMouseover="window.status='';return true">ВЫДЕЛИТЬ</a><br>
<textarea rows="8" name="csscode2" cols="45" wrap="virtual" style="width:98%">
</textarea>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen10

Генератор Логотипа из текстовых символов
Как понятно из названия, слова будут состоять из черточек и скобочек. Ограничения: слова должны быть написаны латинскими буквами; всего букв и знаков должно быть не более десяти в одной строке, переход на другую строку осуществляется с помощью \n; рисунок вставляется прямо в код страницы между тэгами <pre> и </pre>, которые Вы пишите сами. Код самого генератора возьмите прямо из источника, не забыв указать charset=windows-1251 иначе, при некоторых других кодировках, вместо знаков запросто получите закорючки - иероглифы!


Gen7

Генератор Лабиринта

Ширина лабиринта (5-20)
Высота лабиринта (5-20)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Darren Latham -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function buildMaze(width, height) {
document.write("<html><style type=\"text/css\">.b { background:black;color:black} ");
document.write(".w { color:white;background:white }</style><body>");
var error = 0;
if ( (parseInt(width) < 5) || (parseInt(height) > 20) ) {
document.write("<p>The width entered ("+width+") must be between 5 and 20. Hit back to try again.</p>");
error=1;
}
if ( (parseInt(height) < 5) || (parseInt(height) > 20) ) {
document.write("<p>The height entered ("+height+") must be between 5 and 20. Hit back to try again.</p>");
error=1;
}
if (error == 0) {
var Maze = new Object();
Maze.height = height;
Maze.width = width;
createMaze(Maze);
displayMaze(Maze);
}
else document.write("<p>Use the browsers back button to try again.</p>");
document.write("</body></html>");
}
function createMaze(Maze) {
Maze.length = parseInt(Maze.height) * parseInt(Maze.width);
Maze.visited = Maze.length - 1;
Maze.currentX = 0; // Current x position in maze
Maze.currentY = 0; // Current y position in maze
Maze.choices = 2; // Number of directions available to move
Maze.directions = 6 // Directions can move in 1 = North, 2 = East, 4 = South, 8 = West
Maze.direction = 0; // Direction to move in (1 = north, 2 east, 3 south, 4 west)
Maze.data = new Array( Maze.length ); // Actual maze data
Maze.scanXstart = 0;
Maze.scanYstart = 0;
for (i = 0; i < Maze.length; i++)
Maze.data[i] = 0;
while (Maze.visited > 0) {
if (parseInt(Maze.choices) == 0) {
jumpToNewPos(Maze);
}
selectDirection(Maze);
moveInDirection(Maze);
investigateCurrentPosition(Maze);
Maze.visited--;
}
}
function jumpToNewPos(Maze) {
for (y = Maze.scanYstart; y < Maze.height; y++) {
for(x = Maze.scanXstart; x < Maze.width; x++) {
Maze.currentX = x;
Maze.currentY = y;
investigateCurrentPosition(Maze);
if ( (locationVisited( Maze, 0, 0 ) != 0) && (Maze.choices > 0) ) {
Maze.scanXstart = x;
return;
}
}
Maze.scanXstart = 0;
Maze.scanYstart = y+1;
}
document.write("<p>All locations visited and nowhere to go</p>");
Maze.visited = 0;
}
function moveInDirection(Maze) {
var offset = getOffset(Maze, Maze.currentX, Maze.currentY);
if (Maze.direction == 1) {
Maze.data[offset] |= 1;
Maze.currentY--;
offset = getOffset(Maze, Maze.currentX, Maze.currentY);
Maze.data[offset] |= 4;
}
else if (Maze.direction == 2) {
Maze.data[offset] |= 2;
Maze.currentX++;
offset = getOffset(Maze, Maze.currentX, Maze.currentY);
Maze.data[offset] |= 8;
}
else if (Maze.direction == 3) {
Maze.data[offset] |= 4;
Maze.currentY++;
offset = getOffset(Maze, Maze.currentX, Maze.currentY);
Maze.data[offset] |= 1;
}
else if (Maze.direction == 4) {
Maze.data[offset] |= 8;
Maze.currentX--;
offset = getOffset(Maze, Maze.currentX, Maze.currentY);
Maze.data[offset] |= 2;
}
else
document.write("no direction selected : Maze.direction = "+Maze.direction+"<br>");
}
function investigateCurrentPosition(Maze) {
// Determine the number of directions we can move in and what they are
Maze.directions = 0;
Maze.choices = 0;
Maze.direction = 0;
// Check north direction
if ( (Maze.currentY > 0) && (!locationVisited(Maze, 0, -1)) ) {
Maze.choices++;
Maze.directions |= 1;
}
// Check east direction
if ( (Maze.currentX < (Maze.width-1)) && (!locationVisited(Maze, 1, 0)) ) {
Maze.choices++;
Maze.directions |= 2;
}
// Check south direction
if ( (Maze.currentY < (Maze.height-1)) && (!locationVisited(Maze, 0, 1)) ) {
Maze.choices++;
Maze.directions |= 4;
}
// Check west direction
if ( (Maze.currentX > 0) && (!locationVisited(Maze, -1, 0)) ) {
Maze.choices++;
Maze.directions |= 8;
}
// document.write("("+Maze.currentX+","+Maze.currentY+") - choices = "+Maze.choices+" - directions = "+Maze.directions+"<br>");
}
function locationVisited(Maze, xdiff, ydiff) {
if (Maze.data[ getOffset(Maze, Maze.currentX+xdiff, Maze.currentY + ydiff) ] != 0)
return true;
else
return false;
}
function getOffset(Maze, x, y) {
return ((Maze.width*y) + x);
}
function selectDirection(Maze) {
// Generate a number between 0 and Maze.choices - 1
// e.g. parseInt( Math.random() * 5 ) gives numbers between 0 and 4
var dirList = new Array( Maze.choices );
var pos = 0;
if ((Maze.directions&1) != 0) {
dirList[pos] = 1;
pos++;
}
if ((Maze.directions&2) != 0) {
dirList[pos] = 2;
pos++;
}
if ((Maze.directions&4) != 0) {
dirList[pos] = 3;
pos++;
}
if ((Maze.directions&8) != 0) {
dirList[pos] = 4;
pos++;
}
if (pos != Maze.choices)
document.write("Exits counted ("+pos+") is != exit choices ("+Maze.choices+"<br>");
var pos = parseInt( Math.random() * Maze.choices );
Maze.direction = dirList[pos];
}
function displayMaze(Maze) {
document.write("<code><p>");
var line = "";
for (y = 0; y < Maze.height; y++) {
line = "";
for(x = 0; x < Maze.width; x++) {
var offset = getOffset(Maze, x, y);
if ( Maze.data[offset]&1 != 0 )
line += "<span CLASS=\"b\">&nbsp</span><span CLASS=\"w\">#</span>";
else
line += "<span CLASS=\"b\">&nbsp&nbsp</span>";
}
line += "<span CLASS=\"b\">&nbsp</span>";
document.write( line + "<br>");
line = "";
for(x = 0; x < Maze.width; x++) {
var offset = getOffset(Maze, x, y);
if ((Maze.data[offset]&8) != 0)
line += "<span class=\"w\">##</span>";
else
line += "<span CLASS=\"b\">#</span><span CLASS=\"w\">#</span>";
}
line += "<span CLASS=\"b\">#</span>";
document.write( line + "<br>");
}
for (x = 0; x < Maze.width; x++)
document.write("<span CLASS=\"b\">##</span>");
document.write("<span CLASS=\"b\">#</span><br></code></p>");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=setsize method=get action="javascript:buildMaze(document.setsize.width.value, document.setsize.height.value);">
<table>
<tr><td>Ширина лабиринта (5-20)</td>
<td><input type=text name=width size=4></td>
</tr>
<tr>
<td>Высота лабиринта (5-20)</td>
<td><input type=text name=height size=4></td>
</tr>
</table>
<input type=submit value="Построить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen2

Генератор кода для Счетчика Времени
(счетчик отсчитывает оставшееся время до определенной даты)

Генератор кода для Счетчика Времени

Выберите дату, до которой следует отсчитывать время:

В таблицах приведен код для самого Генератора Кода

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function generate(form){

for (var q = 0; q < 12; q++) {
if (document.me.m. options[document.me.m.selectedIndex].value == q) {
var m2 = q+1
}

var txt = '<!-- ТРИ ШАГА ДЛЯ УСТАНОВКИ СЧЕТЧИКА:\r\n\r\n'
+ ' 1. Вставить код между <HEAD> и </HEAD>\r\n'
+ ' 2. Вставить тэг Oload в тэг <BODY>\r\n'
+ ' 3. Вставить код между <BODY> и </BODY> -->\r\n\r\n'
+ '<!-- ШАГ ПЕРВЫЙ: вставьте эту часть кода между <HEAD> и </HEAD> -->\r\n\r\n'
+ '<SCRIPT LANGUAGE="JavaScript">\r\n\r\n'
+ '<!-- Begin\r\n'
+ 'var Temp2;\n'
+ 'var timerID = null;\n'
+ 'var timerRunning = false;\n'
+ 'function arry() {\n'
+ 'this.length = 12;\n'
+ 'this[0] = 31;\n'
+ 'this[1] = 28;\n'
+ 'this[2] = 31;\n'
+ 'this[3] = 30;\n'
+ 'this[4] = 31;\n'
+ 'this[5] = 30;\n'
+ 'this[6] = 31;\n'
+ 'this[7] = 31;\n'
+ 'this[8] = 30;\n'
+ 'this[9] = 31;\n'
+ 'this[10] = 30;\n'
+ 'this[11] = 31;\n'
+ '}\n'
+ 'var date = new arry();\n'
+ '\n'
+ 'function stopclock() {\n'
+ 'if(timerRunning)\n'
+ 'clearTimeout(timerID);\n'
+ 'timerRunning = false;\n'
+ '}\n'
+ '\n'
+ 'function startclock() {\n'
+ 'stopclock();\n'
+ 'showtime();\n'
+ '}\n'
+ '\n'
+ 'function showtime() {\n'
+ 'now = new Date();\n'
+ 'var CurMonth = now.getMonth();\n'
+ 'var CurDate = now.getDate();\n'
+ 'var CurYear = now.getFullYear();\n'
+ 'now = null;\n'
+ 'if ('+document.me.d. options[document.me.d.selectedIndex].value+' < CurDate) {\n'
+ 'CurDate -= date[CurMonth]; CurMonth++;\n'
+ '}\n'
+ 'if ('+document.me.m. options[document.me.m. selectedIndex].value+' < CurMonth) {\n'
+ 'CurMonth -= 12; CurYear++;\n'
+ '}\n'
+ '\n'
+ 'var Yearleft = '+document.me.y. options[document.me.y.selectedIndex].value+' - CurYear;\n'
+ 'var Monthleft = '+document.me.m. options[document.me.m.selectedIndex].value+' - CurMonth;\n'
+ 'var Dateleft = '+document.me.d. options[document.me.d.selectedIndex].value+' - CurDate;\n'
+ '\n'
+ 'document.dateform.a.value = Yearleft;\n'
+ 'document.dateform.b.value = Monthleft;\n'
+ 'document.dateform.c.value = Dateleft;\n'
+ '\n'
+ 'timerID = setTimeout("showtime()",1000);\n'
+ 'timerRunning = true;\n'
+ '}\n'
+ '/\/ End -->\r\n<\/script>\r\n\r\n\r\n'
+ '<!-- ШАГ ВТОРОЙ: Вставьте тэг Oload в тэг <BODY> -->\r\n\r\n'
+ '<BO' + 'DY Onload="startclock()">\r\n\r\n'
+ '<!-- ШАГ ТРЕТИЙ: вставьте эту часть кода между <BODY> и </BODY> -->\r\n\r\n'
+ '<form name=dateform><b><tt>Только \n'
+ '<input type=text name=a size=2 style=\"background-color: #C0C0C0; border-style: solid; border-width: 0\" value=""> лет\(года\), \n'
+ '<input type=text name=b size=2 style=\"background-color: #C0C0C0; border-style: solid; border-width: 0\" value=""> месяц\(ев\), и \n'
+ '<input type=text name=c size=2 style=\"background-color: #C0C0C0; border-style: solid; border-width: 0\" value=""> дней осталось до '
+ m2+'/'+document.me.d. options[document.me.d.selectedIndex].value+'/'
+ document.me.y. options[document.me.y.selectedIndex]. value+'</tt></b></fo'+'rm>\r\n\r\n'
;
}

document.mail.source.value=txt;

}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
</font>
<form name="me">
<table width="359" bgcolor="#808080" border="2">
<tr>
<td width="351">
<p align="center"><font color="#FFFFFF" size="4"><b>Генератор кода для Счетчика Времени</b></font>
</td>
</tr>
<tr>
<td width="351">
<p align="center">
<font size="3" color="#FFFFFF">
Выберите дату, до которой следует
отсчитывать
время:
</font>
<font size="3" color="#000000">
<p>&nbsp; <select name="m">
<option value="0">Январь
<option value="1">Февраль
<option value="2">Март
<option value="3">Апрель
<option value="4">Май
<option value="5">Июнь
<option value="6">Июль
<option value="7">Август
<option value="8">Сентябрь
<option value="9">Октябрь
<option value="10">Ноябрь
<option value="11">Декабрь
</select> <select name="d">
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6">6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31
</select>
<select name="y">
<option value="2001">2001
<option value="2002">2002
<option value="2003">2003
<option value="2004">2004
<option value="2005">2005
<option value="2006">2006
<option value="2007">2007
<option value="2008">2008
<option value="2009">2009
<option value="2010">2010
<option value="2011">2011
</select>
<br><br>
&nbsp;
<input type="button" onclick="generate()" value="Сгенерировать код">
</p>
</font>
</td>
</tr>
</table>
</form>
</center>

<p>
<center>
<form name="mail">
<table bgcolor="dedfdf" border="2" cellpadding="4" width=363>
<tr><td align=center width="345">
<input type=button value="Выделить все" onClick= "javascript:this.form.source.focus();this.form.source.select();">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
</td></tr>
<tr><td align=center width="345"><textarea name="source" rows=13 cols=38 style="background-color: #17BFBF"></textarea><br>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen3

Генератор кода для страницы с FAQ
Введите наиболее часто встречаемые вопросы и ответы к ним в соответствующие поля. Дайте название Вашему FAQ (необязательно, но смотрится лучше). Затем нажмите кнопку "Сгенерировать код" и полученный код поместите на страницу с FAQ. Перед этим можете воспользоваться кнопкой "Показать FAQ" для просмотра страницы FAQ со вставленным кодом.

FAQ мэйкер
Название FAQ:
Наиболее частые вопросы и ответы к ним:
Вопрос 1
Ответ 1
Вопрос 2
         Ответ 2
Вопрос 3
         Ответ 3
Вопрос 4
         Ответ 4
Вопрос 5
         Ответ 5
Вопрос 6
         Ответ 6
Вопрос 7
         Ответ 7
Вопрос 8
         Ответ 8
Вопрос 9
         Ответ 9
Вопрос 10
         Ответ 10

Код для Вашей страницы с FAQ

В таблицах приведен код для самого Генератора Кода

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function generate(form) {
var txt = '<' + '!-- ДВА ШАГА ДЛЯ УСТАНОВКИ КОДА: --' + '>\r\n\r\n'
+ ' <' + '!-- 1. Поместить код в HEAD вашего HTML документа --' + '>\r\n';
txt = txt + ' <' + '!-- 2. Поместить код в BODY вашего HTML документа --' + '>\r\n\r\n'
+ '<' + '!-- ШАГ ПЕРВЫЙ: Поместите эту часть кода в HEAD вашего HTML документа --' + '>\r\n\r\n'
+ '\r\n\r\n'
+ '<SCR' + 'IPT LANG' + 'UAGE="JavaS' + 'cript">\r\n'
+ '<!-- Original: Ronnie T. Moore, Managing Editor -->\r\n'
+ '<!-- Web Site: http://javascript.internet.com -->\r\n\r\n'
+ '<!' + '-- Begin\r\n'
+ 'func' + 'tion show' + 'FAQ(form) ' + '{\r\n'
+ 'form.' + 'answer.value = form.' + 'question.options[form.question.'
+ 'selectedIndex].value;\r\n' + '}' + '\r\n/' + '/ End --' + '>\r\n'
+ '</SCR' + 'IPT>\r\n\r\n\r\n'
+ '<!-- ШАГ ВТОРОЙ: Поместите эту часть кода в BODY вашего HTML документа -->\r\n\r\n'
+ '\r\n\r\n<center>\r\n<fo' + 'rm name=faqform>\r\n'
+ '<table border=1 cellspacing=0 cellpadding=5>\r\n';

if (document.faqgen.faqtitle.value != "") {
txt = txt + '<tr bgcolor="#000099">\t\n<td align=center><font face="verdana,arial" size="-1" '
+ 'color="#ffffff">\r\n<b>' + document.faqgen.faqtitle.value + '</b></font></td>\r\n</tr>\r\n';
}

txt = txt + '<tr bgcolor="#ffffcc"><td><font face="verdana,arial" size="-1"><br>\r\nОзнакомьтесь с часто '
+ 'задаваемыми вопросами и кликните по любому для получения ответа.\r\n<p>\r\n<ul>'
+ '<select size=10 name=question onChange="java' + 'script:showFAQ(this.form);">\r\n';

for (var i = 1; i <= 10; i++) {
q = eval('document.faqgen.q' + i + '.value');
a = eval('document.faqgen.a' + i + '.value');
if (q!="" && a!="") {
txt = txt + '<option value="' + a + '">&nbsp;&nbsp;&nbsp;-->&nbsp;&nbsp;' + q + '\r\n';
}
else {
break;
}
}

txt = txt + '</select>\r\n'
+ '</ul>\r\n'
+ '<p>\r\n'
+ 'Ответ на вопрос:\r\n'
+ '<p>\r\n'
+ '<ul>\r\n'
+ '<textarea name="answer" rows=15 cols=50 wrap=virtual></textarea>\r\n'
+ '</ul>\r\n'
+ '</font>\r\n'
+ '</td>\r\n'
+ '</tr>\r\n'
+ '</table>\r\n'
+ '</form>\r\n'
+ '</center>';

document.mail.source.value=txt;

}

function View(text) {
msg=window.open("","DisplayWindow");
msg.document.write(text);
msg.document.write("</body></html>");
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=faqgen>
<table border=2 bgcolor="#808080" width="370">
<tr>
<td colspan=2 width="358"><h2 align="center">
<font color="#FFFFFF" size="6"><b>
FAQ мэйкер</b></font></h2></td>
</tr>
<tr>
<td colspan=2 align=center width="358">
<font color="#FFFFFF">
<font size="2">
Название&nbsp; FAQ:&nbsp; <input type=text name=faqtitle size=25 value="" style="background-color: #DEDFDF; border-style: solid; border-width: 0">
&nbsp;</font></font>
</td>
</tr>
<tr align=center>
<td colspan=2 align=center width="358">
<b>
<font size="3" color="#FFFFFF">
Наиболее частые вопросы и ответы к ним:
</font>
</b></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
Вопрос 1
</font>
</strong>
<font size="3" color="#FFFFFF">
<br>
<textarea name=q1 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
Ответ 1
</font>
</strong>
<font size="3" color="#FFFFFF">
<br>
<textarea name=a1 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 2</strong><br>
<textarea name=q2 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
2</strong><br>
<textarea name=a2 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 3</strong><br>
<textarea name=q3 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
3</strong><br>
<textarea name=a3 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 4</strong><br>
<textarea name=q4 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
4</strong><br>
<textarea name=a4 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 5</strong><br>
<textarea name=q5 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
5</strong><br>
<textarea name=a5 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 6</strong><br>
<textarea name=q6 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
6</strong><br>
<textarea name=a6 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 7</strong><br>
<textarea name=q7 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
7</strong><br>
<textarea name=a7 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 8</strong><br>
<textarea name=q8 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
8</strong><br>
<textarea name=a8 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 9</strong><br>
<textarea name=q9 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
9</strong><br>
<textarea name=a9 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr align=center>
<td width="177" valign=middle>
<strong>
<font size="3" color="#FFFFFF">
<font size="3">
Вопрос
</font>
</font>
</strong>
<font size="3" color="#FFFFFF">
<strong> 10</strong><br>
<textarea name=q10 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea>
</font>
</td>
<td width="177" valign=middle>
<strong><font size="3" color="#FFFFFF">Ответ&nbsp;</font></strong><font size="3" color="#FFFFFF"><strong>
10</strong><br>
<textarea name=a10 rows=3 cols=17 style="background-color: #DEDFDF; border-style: solid; border-width: 0"></textarea></font></td>
</tr>

<tr>
<td colspan=2 align=center height=33 width="358">
<font size="3" color="#FFFFFF">
<input type=button value="Сгенерировать код!" onClick="generate(this.form)">
<input type=reset value="Сброс">
</font>
</td>
</tr>
</table>
<font size="3" color="#000000">
<br><br>
</font>
<font size="3">
<b>Код для Вашей страницы с FAQ</b>
</font>
</form>
</center>

<font size="3" color="#000000">

<p>
<center>
<form name="mail">
<table bgcolor="dedfdf" border="2" cellpadding="4" width=371>
<tr><td align=center width="383">
<input type="button" class="button" value="Показать FAQ!" name="DOC" onClick="View(this.form.source.value);">
<p>
<div align=left>
&nbsp;
<input type=button value="Выделить все" onClick="javascript:this.form.source.focus(); this.form.source.select();">&nbsp;&nbsp;&nbsp;&nbsp;
</div>
<textarea name="source" rows=12 cols=40 style="background-color: #14BAD8"></textarea><br>
<input type="hidden" name="source2"></td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen5

Генератор кода для поисковой машины на 8 страниц!
Инструкции все на английском. Если есть время, можете перевести самостоятельно. Самый главный момент: в поле для ключевых слов можно скопировать содержание всей страницы (а зачем мелочитьтся!), поэтому процесс ввода данных занимает, буквально, секунды. Дальше следуйте Pop-up инструкциям - они не позволят совершать ошибки.

Для начала нажмите "Старт" или "Инструкции".

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<b><font face="arial, helvetica" size="-1" color="#000000">Для начала
нажмите &quot;Старт&quot;
или &quot;Инструкции&quot;.</font></b>
<font size="3" color="#000000">
<br>
<SCRIPT TYPE="text/javascript">
var nVer = navigator.appVersion;
var fullVersion = parseFloat(nVer);
if (fullVersion < 4) { document.write("<DIV ALIGN=\"CENTER\"><BR><BR>Your Browser is not new enough to utilize this Script.<BR>You should upgrade your Browser to a newer Version.<BR>Click on one of the Links below, they will contact you with<BR><BR><A HREF='http://www.microsoft.com/msdownload/iebuild/ie501_win32/en/ie501_win32.htm?FinishURL=%2Fdownloads%2Frelease%2Easp%3FReleaseID%3D15568%26redirect%3Dno'target=_blank><B>MICROSOFT</B></A><BR><BR>or with<BR><BR><A HREF='http://home.netscape.com/computing/download/index.html?cp=hom03p1'target=_blank><B>NETSCAPE</B></A><BR><BR>You can download there the newest Versions for free.</DIV>")
}
else
{
if(navigator.appName == "Microsoft Internet Explorer")
{
size = 35;
size2 = 76;
size3 = 118;
sea = 40;
tex = 90;
fon = "X-SMALL";
fon2 = "XX-SMALL";
}
else
{
sea = 25;
tex = 80;
fon = "SMALL";
fon2 = "X-SMALL";
size = 26;
size2 = 53;
size3 = 81
}
Basic = true;
Okay = false;
Sayfa = 0;
star = 0;
Generator = 0;
Generator2 = 0;
sifre = 0;
duzen = 0;
document.write("<STYLE TYPE=\"text/css\">BODY{BACKGROUND-COLOR:#E0E0E0}TD{COLOR:#333333;FONT-SIZE:" + fon2 + ";FONT-FAMILY:Ms Sans Serif}A:LINK{COLOR:#000099;TEXT-DECORATION:NONE}A:VISITED{COLOR:#000099;TEXT-DECORATION:NONE}A:ACTIVE,A:HOVER{COLOR:#000000}SPAN.HEA{COLOR:#000000;FONT-FAMILY:VERDANA;FONT-SIZE:LARGE;FONT-STYLE:ITALIC;FONT-WEIGHT:BOLD}SPAN.HEA2{COLOR:#FF0000;FONT-FAMILY:VERDANA;FONT-SIZE:LARGE;FONT-STYLE:ITALIC;FONT-WEIGHT:BOLD}SPAN.VERS{COLOR:#666666;FONT-FAMILY:VERDANA;FONT-SIZE:" + fon + ";FONT-WEIGHT:BOLD}</STYLE></HEAD><BODY>")
document.write("<FORM><TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\" ALIGN=\"CENTER\"><TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\"><SPAN CLASS=\"HEA\">Search Machine&nbsp;&nbsp;</SPAN><SPAN CLASS=\"HEA2\">Generator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN CLASS=\"VERS\">Version: 2.4.8</SPAN></TD></TR><TR><TD COLSPAN=\"3\"><TEXTAREA NAME=\"Machine\" COLS=\"" + tex + "\" ROWS=\"5\"></TEXTAREA></TD></TR><TR><TD><INPUT TYPE=\"BUTTON\" VALUE=\"START\" onClick=\"basla()\"> <INPUT TYPE=\"BUTTON\" VALUE=\"Preview\" onClick=\"Preview()\"> <INPUT TYPE=\"BUTTON\" VALUE=\"Clear\" onClick=\"Clear()\"> <INPUT TYPE=\"BUTTON\" VALUE=\"Undo\" NAME=\"GeriAl\" DISABLED onClick=\"Undo()\"></TD><TD COLSPAN=\"2\" ALIGN=\"RIGHT\">")
if(navigator.appName == "Microsoft Internet Explorer")
{
document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"TEXT\" SIZE=\"20\" NAME=\"SAYFA\" onFocus=\"document.forms[0].Machine.focus();\" style=\"background-color: #E0E0E0; color: #666666; font-family: Ms Sans Serif; font-size: xx-small; font-weight: bold; border: medium solid #E0E0E0\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"TEXT\" SIZE=\"18\" NAME=\"BYTES\" VALUE=\"Total Bytes: \" onFocus=\"document.forms[0].Machine.focus();\" style=\"background-color: #E0E0E0; color: #666666; font-family: Ms Sans Serif; font-size: xx-small; font-weight: bold; border: medium solid #E0E0E0\">&nbsp;")
}
else
{
document.write("&nbsp;")
}
document.write("<INPUT TYPE=\"BUTTON\" VALUE=\"Protect Code\" onClick=\"sifrele();\"></TD></TR><TR><TD HEIGHT=\"45\" VALIGN=\"BOTTOM\"><B>Page - URL:</B><BR><INPUT NAME=\"URL\" SIZE=\"" + size + "\">&nbsp;&nbsp;</TD><TD COLSPAN=\"2\" VALIGN=\"BOTTOM\"><B>Title:</B><BR><INPUT NAME=\"TITLE\" SIZE=\"" + size2 + "\"></TD></TR><TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\" VALIGN=\"BOTTOM\"><B>Description:</B><BR><TEXTAREA NAME=\"DESCRIPTION\" COLS=\"" + tex + "\" ROWS=\"2\"></TEXTAREA></TD></TR></TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\" VALIGN=\"BOTTOM\"><B>Page Keywords (You may paste your HTML code in here):</B><BR><TEXTAREA NAME=\"TEXT\" COLS=\"" + tex + "\" ROWS=\"3\"></TEXTAREA><BR><INPUT TYPE=\"BUTTON\" VALUE=\"Add This Page\" ONCLICK=\"uygula();\"> or... <INPUT TYPE=\"BUTTON\" VALUE=\"Get Title from text field\" ONCLICK=\"tit();\"> <INPUT TYPE=\"BUTTON\" VALUE=\"Remove HTML from text field\" ONCLICK=\"cevir();\"> <INPUT TYPE=\"BUTTON\" VALUE=\"Remove Line Breaks\" ONCLICK=\"hizala();hizala2();\"> </TD></TR><TR><TD VALIGN=\"BOTTOM\"><B>Name of your Site:</B><BR><INPUT NAME=\"ISIM\" SIZE=\"" + size + "\"></TD><TD VALIGN=\"BOTTOM\"><B>E-mail Name:</B> ( will be seen on the page )<BR><INPUT NAME=\"ELINK\" SIZE=\"" + size + "\"></TD><TD HEIGHT=\"45\" VALIGN=\"BOTTOM\"><B>E-mail Link: </B>( your e-mail address ( optional ) )<BR><INPUT NAME=\"MAIL\" SIZE=\"" + size + "\"></TD></TR><TR><TD><B>Detailed Results Page:</B> &nbsp;&nbsp;<SELECT NAME=\"OUT\"><OPTION VALUE=\"false\">No</OPTION><OPTION VALUE=\"true\">Yes</OPTION></SELECT></TD><TD ALIGN=\"CENTER\"><INPUT TYPE=\"BUTTON\" VALUE=\"GENERATE CODE\" onClick=\"generate();\"></TD><TD ALIGN=\"RIGHT\"><INPUT TYPE=\"BUTTON\" VALUE=\"Instructions\" onClick=\"Instruct();\"></TD></TR><TR><TD COLSPAN=\"2\" VALIGN=\"BOTTOM\" HEIGHT=\"40\">")
document.write("</TD><TD ALIGN=\"RIGHT\" VALIGN=\"BOTTOM\">Powered by <A HREF=\"mailto:cenk@yurtseven.com?subject=Posted from Search Machine Web Site.&body=Dear Cenk,\">Cenk Yurtseven</A> &copy;2000</TD></TR></TABLE></FORM>")
function Preview()
{
win = window.open("","","scrollbars=1,menubar=1,status=1,width=710,height=310,left=35,top=110")
win.document.write(document.forms[0].Machine.value)
}
function Favori(){
editor=window.external.AddFavorite("http://www.netchampion.com./", "Search Machine JavaScript Generator")
}
function Clear()
{
if(Basic)
{
Okay = true;
{
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = false;
}
Value1 = document.forms[0].Machine.value;
document.forms[0].Machine.value = "";
document.forms[0].URL.value = "";
document.forms[0].TITLE.value = "";
document.forms[0].DESCRIPTION.value = "";
document.forms[0].TEXT.value = "";
document.forms[0].MAIL.value = "";
document.forms[0].ELINK.value = "";
document.forms[0].ISIM.value = "";
}
}
}
function Undo()
{
if(Basic)
{
if(!Okay)
{
Error()
}
else
{
document.forms[0].Machine.value = Value1;
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = true;
}
}
}
}
function Bytes()
{
document.forms[0].BYTES.value = "Total Bytes: " + document.forms[0].Machine.value.length;
setTimeout("Bytes()","3000")
}
if(navigator.appName == "Microsoft Internet Explorer")
{
Bytes();
}
function Sayfalar()
{
if(Sayfa == 0)
{
Say = "";
sayf = "";
}
else
{
Say = Sayfa
}
if(Sayfa == 1)
{
sayf = "Page was added"
}
if (Sayfa >= 2)
{
sayf = "Pages were added"
}
document.forms[0].SAYFA.value = Say + " " + sayf;
setTimeout("Sayfalar()","1")
}
if(navigator.appName == "Microsoft Internet Explorer")
{
Sayfalar();
}
function basla()
{
if (document.forms[0].Machine.value != "")
{
alert("For a new Start you must delete the current document first !")
}
else
{
var doc = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HTML><HEAD><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset= iso-8859-1\"><TITLE>Search Machine<\/TITLE><SCR"+"IPT TYPE=\"text\/javascript\">Cy=new Array();";
document.forms[0].Machine.value += doc;
document.forms[0].Machine.focus();
document.forms[0].GeriAl.disabled = true;
{
if (star == 0)
{
confirm("C O N G R A T U L A T I O N S !\n\nThe Basics were added.\n\nFrom now on, fill in the fields an press the GET CODE button !")
}
star += 1;
Generator = 0;
Generator2 = 0;
Sayfa = 0;
sifre = 0;
}
}
}
function tit()
{
if (document.forms[0].TITLE.value != "")
{
return false;
}
else
{
Donus = document.forms[0].TEXT.value;
DONUS = document.forms[0].TEXT.value.toUpperCase();
Begin = DONUS.indexOf("<TITLE>");
Ende = DONUS.indexOf("</TITLE>");
Son = Donus.substring((Begin+7),Ende);
document.forms[0].TITLE.value = Son;
document.forms[0].TITLE.focus();
}
}
function cevir()
{
if(Basic)
{
Okay = true;
{
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = true;
}
Prova = window.document.forms[0].elements['TEXT'].value;
Provabit = Taglar(Prova);
window.document.forms[0].elements['TEXT'].value = Provabit;
}
}
}
function Taglar(DOk)
{
Cy = DOk.indexOf("<");
cY = DOk.indexOf(">");
Taglar2 = DOk.length;
Cc = DOk.substring(0, Cy);
if(cY == -1)
cY = Cy;
cC = DOk.substring((cY + 1), Taglar2);
Son1 = Cc + cC;
CccY = Son1.indexOf("<");
if(CccY != -1)
Son1 = Taglar(Son1);
return Son1;
}
function hizala()
{
var Metin = "";
var tus;
var uzluk = document.forms[0].TEXT.value.length;
for(var i = 0; i < uzluk; i++)
{
tus = document.forms[0].TEXT.value.charAt(i);
if( tus <= " ")
{
if( document.forms[0].TEXT.value.charAt(i+1) != " ")
Metin += " ";
}
else if( tus == "\"" )
{
i++;
Metin += "&quot;";
}
else if( tus == "<" )
{
i++;
Metin += "&lt;";
}
else if( tus == ">" )
{
i++;
Metin += "&gt;";
}
else
{
Metin += document.forms[0].TEXT.value.charAt(i);
}
}
document.forms[0].TEXT.value = Metin;
}
function hizala2()
{
var Metin = "";
var tus;
var uzluk = document.forms[0].TEXT.value.length;
for(var i = 0; i < uzluk; i++)
{
tus = document.forms[0].TEXT.value.charAt(i);
if( tus <= " ")
{
if( document.forms[0].TEXT.value.charAt(i+1) != " ")
Metin += " ";
}
else if( tus == "\"" )
{
i++;
Metin += "&quot;";
}
else if( tus == "<" )
{
i++;
Metin += "&lt;";
}
else if( tus == ">" )
{
i++;
Metin += "&gt;";
}
else
{
Metin += document.forms[0].TEXT.value.charAt(i);
}
}
document.forms[0].TEXT.value = Metin;
}
function sifrele()
{
if (sifre >= 1 && Generator >= 1 )
{
alert ("This function works only once !")
}
if (Generator == 0 )
{
confirm ("PROTECT CODE function works only when the complete code is generated.")
}
Value1 = document.forms[0].Machine.value;
if (Generator == 1 && sifre == 0 )
{
if(Basic)
{
Okay = true;
if (confirm ("This function of Search Machine protects the code completely.\n\nBut it is nearly impossible to edit the code then !\n\nUse this option only when you do not want to make any more changes to the code."))
{
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = false;
}
Code = escape(document.forms[0].Machine.value)
document.forms[0].Machine.value = "<SCRIPT LANGUAGE=\"JavaScript\">\n<!--\nCodeCY = \"" + Code + "\";\ndocument.write(unescape(CodeCY));\n//-->\n</S" + "CRIPT>";
document.forms[0].Machine.focus();
sifre += 1;
alert("haaaaaaaaaahhhhhhhhhh ............\n\nYour Code is completely protected now.\n\nYou may restore the normal version by using the UNDO button.")
}
else
{
document.forms[0].Machine.focus();
}
}
}
}
function bosluk()
{
if (document.forms[0].Machine.value.length < 222 && star == 0)
{
return false
}
else
{
var tit = "";
var desc = "";
var Metin = "";
var tus1;
var tus2;
var tus3;
var uzluk1 = document.forms[0].TITLE.value.length;
var uzluk2 = document.forms[0].DESCRIPTION.value.length;
var uzluk3 = document.forms[0].TEXT.value.length;
for(var i1 = 0; i1 < uzluk1; i1++)
{
tus1 = document.forms[0].TITLE.value.charAt(i1);
if( tus1 <= " ")
{
if( document.forms[0].TITLE.value.charAt(i1+1) != " ")
tit += " ";
}
else if( tus1 == "\"" )
{
i1++;
tit += "&quot;";
}
else if( tus1 == "<" )
{
i1++;
tit += "&lt;";
}
else if( tus1 == ">" )
{
i1++;
tit += "&gt;";
}
else
{
tit += document.forms[0].TITLE.value.charAt(i1);
}
}
document.forms[0].TITLE.value = tit;
for(var i2 = 0; i2 < uzluk2; i2++)
{
tus2 = document.forms[0].DESCRIPTION.value.charAt(i2);
if( tus2 <= " ")
{
if( document.forms[0].DESCRIPTION.value.charAt(i2+1) != " ")
desc += " ";
}
else if( tus2 == "\"" )
{
i2++;
desc += "&quot;";
}
else if( tus2 == "<" )
{
i2++;
desc += "&lt;";
}
else if( tus2 == ">" )
{
i2++;
desc += "&gt;";
}
else
{
desc += document.forms[0].DESCRIPTION.value.charAt(i2);
}
}
document.forms[0].DESCRIPTION.value = desc;
for(var i3 = 0; i3 < uzluk3; i3++)
{
tus3 = document.forms[0].TEXT.value.charAt(i3);
if( tus3 <= " ")
{
if( document.forms[0].TEXT.value.charAt(i3+1) != " ")
Metin += " ";
}
else if( tus3 == "\"" )
{
i3++;
Metin += "&quot;";
}
else if( tus3 == "<" )
{
i3++;
Metin += "&lt;";
}
else if( tus3 == ">" )
{
i3++;
Metin += "&gt;";
}
else
{
Metin += document.forms[0].TEXT.value.charAt(i3);
}
}
document.forms[0].TEXT.value = Metin;
}
}
function uygula()
{
if (document.forms[0].Machine.value.length < 222 )
{
alert("Please, click the START button before adding pages!")
}
else if ( Generator > 0 )
{
alert (" IT 's ALLREADY DONE !\n\nThe Code can be generated only once,\n\nUse the PREVIEW button to view your new page.")
}
else if (Sayfa >= 8)
{
alert ("Sorry ....!!! This Demo Version of Search Machine,\n\ngenerates up to 8 pages only !")
}
else if ((document.forms[0].URL.value == "")||(document.forms[0].URL.value == "http://"))
{
alert("Please fill in the URL Address field !\n\nInclude \" http:// \" for external links only !")
}
else if (document.forms[0].TITLE.value == "")
{
alert("Please fill in the TITLE field !")
}
else if (document.forms[0].DESCRIPTION.value == "")
{
alert("Please fill in the DESCRIPTION field !")
}
else if (document.forms[0].TEXT.value == "")
{
alert("Please fill in the TEXT field !")
}
else
{
if(Basic)
{
Okay = true;
if (confirm (("Page # ") + (Sayfa + 1) + (" will be added.")))
{
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = true;
}
Sayfa += 1;
var say = ("Cy[" + Sayfa + "]=new Array(\""); var ur=document.forms[0].URL.value; var url=("" + ur + "\",\""); var titl=document.forms[0].TITLE.value; var title = ("\",\"") + titl; var descript = document.forms[0].DESCRIPTION.value; var description = ("\",\"") + descript; var bod=document.forms[0].TEXT.value; var TeXt = ("\",\"" + bod + "\");");
Value1 = document.forms[0].Machine.value;
document.forms[0].URL.value = "";
document.forms[0].TITLE.value = "";
document.forms[0].DESCRIPTION.value = "";
document.forms[0].TEXT.value = "";
document.forms[0].Machine.value += say + url + titl + description + TeXt;
document.forms[0].Machine.focus();
}
else
{
document.forms[0].Machine.focus();
}
}
}
}
function generate()
{
var C = "\\";
var dt = document.forms[0].OUT.value
var mail = document.forms[0].MAIL.value;
var name = document.forms[0].ISIM.value;
var elink = document.forms[0].ELINK.value;
var CONT = "<B><SMALL><A HREF=" + C + "\"mailto:" + mail + "?subject=Posted from " + name + " Web Site.&body=Dear " + elink + "," +C + "\"><SPAN CLASS=" + C + "\"Cyxz" + C + "\">" + elink + "</SPAN></A></SMALL></B>";
var cont = "<A HREF=\"mailto:" + mail + "?subject=Posted from " + name + " Web Site.&body=Dear " + elink + "," + "\"><SPAN CLASS=\"Cyxz\">"+ elink + "</SPAN></A>";
if (document.forms[0].Machine.value.length < 222)
{
alert("Please, beginn with the START button !")
}
else if (Generator > 0)
{
alert (" IT 's ALLREADY DONE !\n\nThe Code can be generated only once,\n\nUse the PREVIEW button to view your new page.")
}
else if (Sayfa == 0)
{
alert("Please, fill in the fields for your page !")
}
else if (name == "")
{
alert("Please enter the name of your site in the form then submit again.")
}
else
{
if(Basic)
{
Okay = true;
if (confirm ("The FINAL CODE will be created."))
{
if(navigator.appName == "Microsoft Internet Explorer")
{
document.forms[0].GeriAl.disabled = true;
}
if (mail == "")
{
cont = "";
CONT = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
}
if (mail == "" && elink != "")
{
cont = "<SPAN CLASS=\"Cyxz\">"+ elink + "</SPAN>";
CONT = "<SPAN CLASS=" + C + "\"Cyxz" + C + "\">" + elink + "</SPAN>";
}
Generator += 1;
Generator2 += 1;
document.forms[0].Machine.value += "var V0=0;var Va=1;var Vb=2;var Vc=3;var Vd=4;var Ve=5;var Vf=6;var Vg=7;var Vh=8;var gS;var va;var vb;var vc;var Ak;var g1=true;var v1=1;var v2=2;var v3=3;var v4=4;var DT=" + dt + ";var G2=true;var ln=\"<SPAN CLASS=" + C + "\"Cyxz" + C + "\">Powered by </SPAN><A HREF=" + C + "\"http://www.netchampion.com/" + C + "\"><SPAN CLASS=" + C + "\"Cyxz" + C + "\">Cenk Yurtseven</SPAN></A><SPAN CLASS=" + C + "\"Cyxz" + C + "\">&nbsp;&copy; 2000</SPAN>\";var fn=\"Do not remove this! Powered by Cenk Yurtseven*&copy; 2000 http://www.netchampion.com/SearchMachine/\";function F1(A1){if((A1>=\"a\"&&A1<=\"z\")||(A1==\"&\")||(A1>=\"A\"&&A1<=\"Z\")||(A1>=\"0\"&&A1<=\"9\")){return true;}else{return false;}}function F2(A2,A3,A4){var A5=Cy[A2][A3].toUpperCase();var A6,A7,A8;var A9=0;Cy[A2][Ve]=0;A6=A5.indexOf(A4);while(A6>=0){A9=A9+A6+1;if((vb==-2)||(vb==-5)){A7=false;}else{if(A6==0){A7=false;}else{A7=F1(A5.charAt(A6-1));}}if((vb==-3)||(vb==-5)){A8=false;}else{if(A5.length-A6==A4.length){A8=false;}else{A8=F1(A5.charAt(A6+A4.length));}}if(!A7&&!A8){Cy[A2][Vh+Cy[A2][Ve]]=A9-1;Cy[A2][Ve]++;}A5=A5.substring(A6+1,A5.length);while(F1(A5.charAt(0))&&A5.length>0){A5=A5.substring(1,A5.length);A9++;}A6=A5.indexOf(A4);}}function F3(A2,A4){var A3=-1,B1;Cy[A2][Vd]=-1;while(++A3<=Vc&&Cy[A2][Vd]==-1){B1=A3==0?Va:(A3==1?V0:(A3==2?Vb:Vc));F2(A2,B1,A4);if(Cy[A2][Ve]>0){Cy[A2][Vd]=B1;}}}function F4(){var A2,A3,B2,B3;for(A2=1;A2<Cy.length;A2++){Cy[A2][Vg]=A2;}if(g1){for(A2=1;A2<Cy.length;A2++){if(Cy[A2][Vd]==Va){Cy[A2][Vf]=45000;}else if(Cy[A2][Vd]==Vb){Cy[A2][Vf]=30000;}else if(Cy[A2][Vd]==V0){Cy[A2][Vf]=15000;}else{Cy[A2][Vf]=Cy[A2][Ve];}}for(A2=2;A2<Cy.length;A2++){B2=Cy[A2][Vf];B3=Cy[A2][Vg];for(A3=A2;A3>1&&B2>Cy[A3-1][Vf];A3--){Cy[A3][Vf]=Cy[A3-1][Vf];Cy[A3][Vg]=Cy[A3-1][Vg];}Cy[A3][Vf]=B2;Cy[A3][Vg]=B3;}}}function F5(A2){var B4=Cy[A2][Ve]==1?\"\":\"s\";gS+=\"<BR><SPAN CLASS=" + C + "\"GRAY" + C + "\">\";gS+=\"(\"+Cy[A2][Ve]+\" quote\"+B4+\")\";gS+=\"</SPAN>\";}function F6(A2,B5){var B6;var B7;var B8=false;var B9=Cy[A2][Vh+B5-1];B6=B9<30?B6=0:B6=B9-30;B7=(B9+30>Cy[A2][Vc].length)?B7=Cy[A2][Vc].length:B7=B9+30;while((B6>=0)&&!B8){if(F1(Cy[A2][Vc].charAt(B6))){B6--;}else{B8=true;}}B6++;B8=false;while((B7>B9)&&!B8){if(F1(Cy[A2][Vc].charAt(B7))){B7--;}else{B8=true;}}gS+=\"<BR>&quot;...\"+Cy[A2][Vc].substring(B6,B9);gS+=\"<B><SPAN CLASS=" + C + "\"RED" + C + "\">\"+Cy[A2][Vc].substring(B9,B9+va.length)+\"</SPAN></B>\";gS+=Cy[A2][Vc].substring(B9+va.length,B7)+\"...&quot;\";}function F7(A2){if(DT){for(var A3=1;A3<=Cy[A2][Ve];A3++){F6(A2,A3);}}else{F6(A2,1);}if(G2){F5(A2);}}function F8(A5,B9){gS+=A5.substring(0,B9);gS+=\"<B>\"+A5.substring(B9,B9+va.length)+\"</B>\";gS+=A5.substring(B9+va.length,A5.length);}function F9(A2,C1){gS+=\"<DL><DT><B>\"+C1+\".\";gS+=\"<A HREF=" + C + "\"\"+Cy[A2][V0]+\"" + C + "\" TARGET=" + C + "\"_BLANK" + C + "\">\"+Cy[A2][Va]+\"</A></B><DD><SPAN CLASS=" + C + "\"Cyxz" + C + "\">\";gS+=\"URL:</SPAN>&nbsp;&nbsp;<SPAN CLASS=" + C + "\"Cyxb" + C + "\">\";{gS+=Cy[A2][V0]+\"</SPAN>\";}if(Cy[A2][Vd]==Vb){gS+=\"<BR>\";F8(Cy[A2][Vb],Cy[A2][Vh]);}else{if(Cy[A2][Vb].length>0){gS+=\"<BR>\"+Cy[A2][Vb];}else{}}if(Cy[A2][Vd]==Vc){F7(A2);}else{gS+=\"\";}gS+=\"</DD></DL>\";};function F10(){var C1=0;if(!(vc)){if((Cy.length<10)&&(ln.length==(Vd*Ve*Vh+Vb))&&(fn.length==(Vc*Vh*Vd+3))){for(var A2=1;A2<Cy.length;A2++){if(Cy[Cy[A2][Vg]][Ve]>0){F9(Cy[A2][Vg],++C1);}}}}else{if(vb==-4){gS+=\"<BR><BR><B><SPAN CLASS=" + C + "\"RED" + C + "\">Ooops:</SPAN></B>&nbsp;The Asterisk (*) character must be at the beginning or end of the text.\";}}}function F11(){gS+=\"<!DOCTYPE HTML PUBLIC " + C + "\"-//W3C//DTD HTML 4.0 Transitional//EN" + C + "\"><HTML><HEAD><META HTTP-EQUIV=" + C + "\"Content-Type" + C + "\"CONTENT=" + C + "\"text/html;charset=iso-8859-9" + C + "\"><TITLE>Searching for &quot;\"+Ak+\"&quot;</TITLE><META NAME=" + C + "\"author" + C + "\"CONTENT=" + C + "\"" + elink + "" + C + "\"><STYLE TYPE=" + C + "\"text/css" + C + "\">BODY{BACKGROUND-COLOR:#FFFFF6;COLOR:#000066}TD{FONT-SIZE:" + fon + ";FONT-FAMILY:Verdana}A:LINK{COLOR:#000FFF}A:VISITED{COLOR:#800FFF}A:ACTIVE,A:HOVER{COLOR:#FF0000}SPAN.RED{COLOR:#FF0000;FONT-WEIGHT:BOLD}SPAN.Cyxz{FONT-SIZE:" + fon2 + "}SPAN.Cyxb{FONT-SIZE:" + fon2 + ";FONT-WEIGHT:BOLD}SPAN.GRAY{COLOR:#999999;FONT-SIZE:" + fon2 + "}SPAN.HEADER{COLOR:#FFFFFF;FONT-SIZE:X-LARGE;FONT-STYLE:ITALIC}</STYLE></HEAD><BODY><TABLE WIDTH=" + C + "\"100%" + C + "\" BORDER=" + C + "\"0" + C + "\" CELLPADDING=" + C + "\"0" + C + "\" CELLSPACING=" + C + "\"0" + C + "\"><TR><TD COLSPAN=" + C + "\"4" + C + "\" BGCOLOR=" + C + "\"#99FFFF" + C + "\"></TD><TD ROWSPAN=" + C + "\"2" + C + "\" BGCOLOR=" + C + "\"#0066CC" + C + "\"></TD></TR><TR><TD BGCOLOR=" + C + "\"#99FFFF" + C + "\"></TD><TD COLSPAN=" + C + "\"3" + C + "\" BGCOLOR=" + C + "\"#33CCFF" + C + "\" ALIGN=" + C + "\"CENTER" + C + "\"><BR><BR><B><SPAN CLASS=" + C + "\"HEADER" + C + "\">" + name + "</SPAN></B><BR><BR></TD></TR><TR><TD COLSPAN=" + C + "\"5" + C + "\" BGCOLOR=" + C + "\"#0066CC" + C + "\"></TD></TR><TR><TD ROWSPAN=" + C + "\"3" + C + "\" BGCOLOR=" + C + "\"#CCCCCC" + C + "\"></TD><TD ALIGN=" + C + "\"CENTER" + C + "\" VALIGN=" + C + "\"BOTTOM" + C + "\" BGCOLOR=" + C + "\"#BBEEFF" + C + "\" NOWRAP>&nbsp;&nbsp;" + CONT + "&nbsp;&nbsp;<BR><BR></TD><TD>&nbsp;&nbsp;&nbsp;&nbsp;</TD><TD><BR><BR>\";gS+=\"Searching for: <B><SPAN CLASS=" + C + "\"RED" + C + "\">\"+Ak+\"</SPAN></B>\";}function F12(){var C2=0;if(!(vc)){for(var A2=1;A2<Cy.length;A2++){if(Cy[A2][Ve]>0){C2++;}}}if(C2==0){gS+=\"<br><br>Sorry, no pages matched your search.&nbsp;&nbsp;\";}else{var B4=C2==1?\"\":\"s\";gS+=\"<BR>\"+C2+\" Web Page\"+B4+\" listed.&nbsp;&nbsp;\";}gS+=\"<A HREF=" + C + "\"javascript:history.go(-1)" + C + "\"><B>Search again</B></A><BR><BR><BR></TD><TD BGCOLOR=" + C + "\"#808080" + C + "\"></TD></TR><TR><TD COLSPAN=" + C + "\"4" + C + "\" BGCOLOR=" + C + "\"#0099CC" + C + "\"></TD></TR><TR><TD COLSPAN=" + C + "\"3" + C + "\" ALIGN=" + C + "\"RIGHT" + C + "\"><BR>\";gS+=ln.substring(0,162)+\"&nbsp;&nbsp;<BR><BR></TD><TD BGCOLOR=" + C + "\"#808080" + C + "\"></TD></TR><TR><TD COLSPAN=" + C + "\"5" + C + "\" BGCOLOR=" + C + "\"#808080" + C + "\"></TD></TR></TABLE></BODY></HTML>\"}function F13(){var C3=gS;document.open();document.write(C3);document.close();}function F14(A5){var C4=\"\";for(var A2=0;A2<A5.length;A2++){if(A5.charAt(A2)==\"<\"){C4+=\"&lt;\";}else if(A5.charAt(A2)==\">\"){C4+=\"&gt;\";}else if(A5.charAt(A2)==\"" + C + "\"\"){C4+=\"&quot;\";}else{C4+=A5.charAt(A2);}}return (C4);}function F15(){vb=va.indexOf(fn.substring((Vf*Vc*2+(2*Vd+1)),ln.length/3-8));if(vb==0){vb=-2;vc=false;}else if(vb==va.length-1){vb=-3;vc=false;}else if(vb>0){vb=-4;vc=true;}else{vc=false;}if(va.indexOf(fn.substring((Vh*5+5),ln.length/3-8))!=va.lastIndexOf(fn.substring((Vf*Vc*2+(2*Vd+1)),ln.length/Vc-Vh))){if(vb==-2){if(va.lastIndexOf(fn.substring((Vf*Vc*2+(2*Vd+1)),ln.length/Vc-Vb*Vd))==va.length-1){vb=-5;}else{vb=-4;vc=true;}}}if((vb==-2)||(vb==-5)){va=va.substring(1,va.length);}if((vb==-3)||(vb==-5)){va=va.substring(0,va.length-1);}}function geronimo(){var A4;va=document.forms[0].MACHINE.value;if(va.length>0){gS=\"\";Ak=va;va=F14(va);F15();A4=va.toUpperCase();if(!(vc)){for(var A2=1;A2<Cy.length;A2++){F3(A2,A4);}F4();}F11();F10();F12();F13();}}\n<\/SCR"+"IPT><STYLE TYPE=\"text/css\">BODY{BACKGROUND-COLOR:#FFFFF6;COLOR:#000066;FONT-SIZE:" + fon + ";FONT-FAMILY:Verdana}SPAN.Cyxz{FONT-SIZE:" + fon2 + "}SPAN.HEADER{COLOR:#000FFF;FONT-SIZE:X-LARGE;FONT-STYLE:ITALIC}<\/STYLE><\/HEAD><BODY><DIV ALIGN=\"center\"><B><SPAN CLASS=\"HEADER\">" + name + "<\/SPAN><\/B><BR><BR>The Search will find pages on this entire Site.<FORM ACTION=\"javascript:geronimo()\/\/\"><INPUT TYPE=\"text\" NAME=\"MACHINE\" SIZE=\"" + sea + "\">&nbsp;<INPUT TYPE=\"SUBMIT\" VALUE=\"Search\"><BR><\/FORM>For detailed Search type two words or a phrase.<BR><BR>Use an asterisk (*) as a wildcard character.<\/DIV><BR><BR><BR>" + cont + "<\/BODY><\/HTML>"
document.forms[0].Machine.focus();
document.mail.source.value = document.forms[0].Machine.value;
document.mail.source2.value = document.forms[0].Machine.value;
document.mail.source.focus();
uncode();
}
}
}
}
function Instruct()
{
win = window.open("","","scrollbars=1,width=600,height=450,left=100,top=100")
win.document.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"><HTML><HEAD><TITLE>Search Machine Generator - Instructions</TITLE><META NAME=\"Author\" CONTENT=\"Cenk Yurtseven\"><STYLE TYPE=\"text/css\">BODY {background-color: #FFFFF9; font-family: Verdana; font-size: " + fon + "; color: #333333}span.header1{font-family: Verdana; font-style: italic; font-size: large; font-weight: bold; color: #0000CC}span.header2{font-family: Verdana; font-style: italic; font-size: large; font-weight: bold; color: #CC0000}span.sm{font-family: Verdana; font-size: " + fon + "; font-weight: bold; color: #0000CC}span.cp{font-family: Verdana; font-size: " + fon2 + "; color: #666666}span.sr{font-family: Verdana; font-size: " + fon + "; font-weight: bold; color: #000000; text-decoration: underline}span.sr{font-family: Verdana; font-size: " + fon + "; font-weight: bold; color: #000000; text-decoration: underline}A:LINK,A:VISITED{text-decoration: none; color: #000099}A:HOVER{text-decoration: none; color: #FF0000}</STYLE>\n<SCR"+"IPT TYPE=\"text\/javascript\">\nfunction Favori(){editor=window.external.AddFavorite(\"http:\/\/www.netchampion.com\", \"Search Machine Online Generator\")}\n</SCR"+"IPT></HEAD><BODY><DIV ALIGN=\"CENTER\"><SPAN CLASS=\"header1\">Search Machine&nbsp;&nbsp;</SPAN><SPAN CLASS=\"header2\">Online Generator</SPAN><BR><B>Tutorial</B><BR><BR><BR></DIV><DL><DT><B>With this Editor,</B><DD> you can generate your own <B><SPAN CLASS=\"sm\">Search Machine</SPAN></B> ( Site - Search - Engine ).</DD></DL><DL><DT><B>Easy to use,</B><DD>press the<SPAN CLASS=\"sm\"> &quot; Start &quot; </SPAN>button and fill in the forms required.</DD></DL><DL><DT><B>The more excactly</B><DD> you fill in the forms, the more beautyfull will be the Results Page.<BR><BR><SMALL>Use &quot; <B>http://</B>...... &quot; in the URL Address field when you index pages with external Urls in the World Wide Web.</SMALL></DD></DL><DL><DT><B>Clean Up</B><DD> all your pages to be indexed, by pressing the <SPAN CLASS=\"sm\"> &quot;Clean Up&quot;</SPAN> button before you add them to the code. You save space and the code is cleaned up from unuseable characters.</DD></DL><DL><DT><B>After adding</B><DD> all your pages to the index, press the <SPAN CLASS=\"sm\"> &quot;Generate Code&quot;</SPAN> button.<BR><BR><SMALL>Accidentaly deleted codes, can be taken back by pressing the <B>&quot; Undo &quot;</B> button.<BR>If the <B>Undo</B> button is <B>enabled</B> it will restore the previous document.</SMALL></DD></DL><DL><DT><B>Detailed Results</B><DD>This option gives you the chance to choose whether your <SPAN CLASS=\"sm\"> &quot;Search Machine&quot;</SPAN> shall have a detailed Results Page or not.</DD></DL><DL><DT><B>Finish</B><DD> your work by saving the generated page as a <B>htm</B> or <B>html</B> file in the same directory of the pages you have indexed.<BR>You <SPAN CLASS=\"sm\">can not</SPAN> save your work by using the <SPAN CLASS=\"sm\">&quot;Save As&quot;</SPAN> option in your Browser. You must <SPAN CLASS=\"sm\">copy</SPAN> the document from the <SPAN CLASS=\"sm\">&quot;Generated Text Area&quot;</SPAN> with Right-Click and save it in your HTML-Editor or in Notepad as a <SPAN CLASS=\"sm\">HTML</SPAN> or <SPAN CLASS=\"sm\">HTM</SPAN> File.<BR><SMALL><B>Netscape Browsers:</B> in the Preview window the Search works only once or may be not. So you need to save your work.<BR>If you don't see anything in the Preview Window, don't worry! Save your work as a <B>htm</b> or <B>html</B> file first. It will work then.</SMALL></DD></DL><BR><B><SPAN CLASS=\"sr\">Advantages of Search Machine:</SPAN></B><DL><DT><B><SPAN CLASS=\"sm\">Search Machine</SPAN></B>,<DD> scans the indexes in less than 1 second and prints out the Results immediately.</DD></DL><DL><DT><SPAN CLASS=\"sm\">Search Machine</SPAN>,<DD> works even on Servers without CGI Support.</DD></DL><DL><DT><SPAN CLASS=\"sm\">Search Machine </SPAN><DD> has an integrated <SPAN CLASS=\"sm\">&quot; Clean up Source &quot; </SPAN> function. This function cleans up the Source from empty spaces and characters which may damage the JavaScript code.</DD></DL><DL><DT><SPAN CLASS=\"sm\">Search Machine </SPAN><DD> also has an <SPAN CLASS=\"sm\">&quot; HTML Extractor &quot;</SPAN>. Thanks this function, you don't have to type the Text of your <B>HTML</B> page in the Text-Field. Just copy the whole <B>HTML-File</B> as it is and paste it into the Text-Field. Press the <SPAN CLASS=\"sm\">&quot; Extract HTML &quot; </SPAN> button and <SPAN CLASS=\"sm\">Search Machine </SPAN>will extract all HTML Tags and format it to a <B>Text-File</B>.<BR><BR><SMALL>Don't worry, if your Computer does not respond for a while when you use this function. Large files need some more time to be converted. </SMALL></DD></DL><DL><DT><SPAN CLASS=\"sm\">Search Machine </SPAN><DD> further has a <SPAN CLASS=\"sm\">&quot; Protect Code &quot; </SPAN> function. This function protects the Source Code of your generated page in a very special way. But it's heavy to make any changes to the code later. After protecting the code, you may restore the normal version by using the <SPAN CLASS=\"sm\">&quot; Undo &quot; </SPAN> button.<BR>So, be carefull with this function. It is recommended only when you do not want to make any more changes to the code.<BR>Even JavaScript programmers have difficulties to edit a protected code.<BR><BR><SMALL><B>Note:</B> protecting the Code will increase the Document Weight more than 50%.</SMALL></DD></DL><DL><DT><SPAN CLASS=\"sm\">Search Machine</SPAN>,<DD>itself is a 100% pure JavaScript. And even the Results Page is<BR><B>HTML 4.0 Transitional</B> without any faults<BR>This document itself is pure <B>XHTML 1.0 Transitional.</B><BR><BR>Inspected and certified by: &nbsp;&nbsp;<A HREF=\"http://validator.w3.org/check/referer?uri=http%3A%2F%2Fvalidator.w3.org%2Fcheck%2Freferer \"><B> validator.w3.org &nbsp;&nbsp;&nbsp;&nbsp;</B><IMG SRC=\"http://validator.w3.org/images/vxhtml10\" ALT=\"Valid XHTML 1.0!\" HEIGHT=\"31\" WIDTH=\"88\" BORDER=\"0\"></A></DD></DL><BR><BR><DL><DT><SMALL><B>This Free Version</B></SMALL><DD><SMALL> of <B>Search Machine</B>, indexes up to 8 pages. The &quot;Powered by Cenk Yurtseven&quot; letters cannot be deleted.<BR>If deleted or changed, the program stops working any more.</SMALL></DD></DL><DL><DT><SMALL><B>The Full Version</B></SMALL><DD><SMALL>of <B>Search Machine</B>, generates up to unlimited numbers of pages, is available for $ 20.<BR>With the Full Version, <BR>you can chose the Colors and Fonts and there is no Copyright sentence.</SMALL></DD></DL><DL><DT><DD><FORM><SPAN CLASS=\"sm\">Search Machine </SPAN>is a frequently developing JavaScript Generator.<BR><BR>")
win.document.write("<SPAN CLASS=\"cp\">Powered by <A HREF=\"mailto:cenk@yurtseven.com?subject=Posted from Search Machine Web Site.&body=Dear Cenk,\">Cenk Yurtseven</A> &copy;2000</SPAN></DD></DL><DIV ALIGN=\"CENTER\"><FORM><INPUT TYPE=\"BUTTON\" VALUE=\" OK \" ONCLICK=\"self.close()\"></FORM></DIV></BODY></HTML>")
}
}
</SCRIPT>
</center>

<p>
<center>
<form name="mail">
<table bgcolor="dedfdf" border="2" cellpadding="4" width=400>
<tr><td align=center>
<textarea name="source" rows=12 cols=80></textarea><br>
<input type="hidden" name="source2"></td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen9

Генератор кода для парольно-защищенной страницы
(для конкретных лиц)

По действенности, это наилучшая на сегодняшний день JavaScript парольная защита. Но, честно говоря, разобраться в этом скрипте до конца не удалось:(

Пользователь:
Пароль: <-- Должно быть точно 8 знаков
Имя страницы: .html<-- Должно быть точно 8 знаков

Код самого генератора

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center><table border=1 bgcolor="#808080"><tr><td><table>
<tr><form name=members></font><td rowspan=4>
<font size="3" color="#FFFFFF">
<select name=memlist size=10 onChange="showmem(this.form)">

<!-- Original: Dion -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- "member name | password | destination pagename |" -->
<option selected value="John Smith|password|mainpage|">John Smith
<option value="Peter Jones|theirpwd|endpages|">Peter Jones
<option value="Sue Brown|asdfvcxz|nowheres|">Sue Brown
<option value="Sally West|zaqxswde|logintop|">Sally West
</select></font></td>
<td align=right>
<font size="3" color="#FFFFFF">
Пользователь:</font></td><td>
<font size="3" color="#FFFFFF">
<input type=hidden value="0" name=entry>
<input type=text name=memname size=8 value=""></font></td></tr>
<tr><td align=right>
<font size="3" color="#FFFFFF">
Пароль:</font></td><td><font color="#FFFFFF">
<font size="3">
<input type=text name=password size=8 maxlength=8><font size="-1"><--
</font></font><font size="-1">Должно быть
точно 8 знаков</font></font></td></tr>
<tr><td align=right>
<font size="3" color="#FFFFFF">
Имя страницы:
</font>
</td><td><font color="#FFFFFF">
<font size="3">
<input type=text name=pagename size=8 maxlength=8><b>.html</b><font size="-1"><--
</font>
</font>
<font size="-1">Должно быть точно 8
знаков</font></font></td></tr>
<tr><td colspan=2 align=center>
<font size="3" color="#FFFFFF">
<input type=button value="Новый пользователь" onclick="addnew(this.form);">
<input type=button value="Удалить пользователя" onclick="delthis(this.form);">
<input type=button value="Обновить/показать код" onclick="update(this.form); create(this.form);"></font></td></tr>
<tr><td colspan=3 align=center>
<font size="3" color="#FFFFFF">
<input type=text size=60 name=message value="Пароль/Название страницы должны быть точно 8 знаков! (a-z)">
<input type=hidden name=num value=1></font></td>
<font size="3" color="#000000">
</form></tr>
</table>
<hr size=2 width=75%>
<form name=js><textarea cols=75 rows=10 name=scrpt wrap=virtual>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
function check(form) {
which=form.memlist.selectedIndex;
choice = form.memlist.options[which].value+"|";
if (choice=="x|") {
alert("Please Select Your Name From The List");
return;
}
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
h1=makehash(form.pass.value,3);
h2=makehash(form.pass.value,10)+" ";
if (h1!=params[1]) {
alert("Incorrect Password!"); return; };
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1)
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a-=(h2.substring(i,i+1)*1);
if (a<0) a+=26;
page+=alpha.substring(a,a+1); };
top.location=page.toLowerCase()+".html";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</textarea>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var script=document.js.scrpt.value;
document.js.scrpt.value="Заполните форму сверху для создания базы данных пользователей и их паролей, а также страницы назначения. Затем кликните \"Показать код\" для получения кода, который следует поместить на Вашу парольно-защищеную страницу. Если у Вас возникнут вопросы по поводу применения этого скрипта обращайтесь непосредственно к автору (на английском!): dion@mailhub.omen.com.au";
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
showmem(document.members);
function showmem(form) {
document.members.num.value=document.members.memlist.length;
var which=form.memlist.selectedIndex;
splt(form.memlist[which].value);
form.entry.value=which+1;
for (i=2;i<5;i++) {
form.elements[i].value=params[i-2]; };
}
function splt(choice) {
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
}
function addnew(form) {
newmem=getfields(form);
var who=prompt("New User's Name:","");
form.memlist[form.memlist.length] = new Option(who, newmem, false, true);
if (navigator.appName=="Netscape") {
document.js.scrpt.value=script;
history.go(0);
}
else {
showmem(document.members);
}
}
function getfields(form) {
newmem="";
for (i=2;i<5;i++) {
newmem+=form.elements[i].value+"|"; };
for (i=3;i<5;i++) {
a=form.elements[i];
for (k=0;k<8;k++) {
}
}
return(newmem);
}
function delthis(form) {
if (confirm("Delete "+form.memname.value+"?")) {
form.memlist.options[form.entry.value-1]=null;
form.message.value=form.memname.value+" Deleted";
form.memlist.selectedIndex=0;
if (navigator.appName=="Netscape") {
document.js.scrpt.value=script;
history.go(0);
}
else {
showmem(document.members);
}
}
}
function update(form) {
msg="no";
a=form.elements[i];
for (k=0;k<8;k++) {
b=a.value.substring(k,k+1);
c=b.toUpperCase();
form.memlist[form.entry.value-1].value=getfields(form);
form.message.value=form.memname.value+"'s record was updated";
}
}
function create(form) {

var html="<center><form name=login>\n";
html+="<table border=1 cellpadding=3>\n\n";
html+="<!-- Original: Dion -->\n";
html+="<!-- Web Site: http://www.iinet.net.au/~biab/ -->\n";
html+="<!-- This script and many more are available free online at -->\n";
html+="<!-- The JavaScript Source!! http://javascript.internet.com -->\n\n";
html+='<tr><td colspan=2 align=center><font size="+2">';
html+='<b>Members-Only Area!</b></font></td></tr>\n';
html+="<tr><td>Username:</td><td><select name=memlist>\n<option value='x'>";
for (j=0;j<form.memlist.length;j++) {
splt(form.memlist.options[j].value);
h1=makehash(params[1],3);
h2=makehash(params[1],10)+" ";
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1);
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a+=(h2.substring(i,i+1)*1);
page+=alpha.substring(a,a+1);
}
html+="\n<option value='"+params[0]+"|"+h1+"|"+page+"'>"+params[0];
};
html+="\n</select></td></tr>\n";
html+="<tr><td>Password:</td><td><input type=password size=10 maxlength=8 name=pass></td></tr>\n";
html+='<tr><td colspan=2 align=center><input type=button value="Login" onclick="check(this.form)"></td>\n';
html+="</tr>\n</table>\n</form>\n";
document.js.scrpt.value=html+script+"</center>";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</font>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 1

Дата открытия страницы
(месяц прописью)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function GetMonth(intMonth){
var MonthArray = new Array("января", "февраля", "марта",
"апреля", "мая", "июня",
"июля", "августа", "сентября",
"октября", "ноября", "декабря")
return MonthArray[intMonth]
}
function getDateStr(){
var today = new Date()
var year = today.getYear()
if(year<1000) year+=1900
var todayStr = today.getDate() + " " + GetMonth(today.getMonth())
todayStr + = ", " + year
return todayStr
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write('Сегодня ' + getDateStr() + ' года')
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 2

Дата открытия страницы
(месяц и день недели прописью)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function GetDay(intDay){
var DayArray = new Array("воскресенье", "понедельник",
"вторник", "среда", "четверг", "пятница", "суббота")
return DayArray[intDay]
}

function GetMonth(intMonth){
var MonthArray = new Array("января", "февраля", "марта",
"апреля", "мая", "июня",
"июля", "августа", "сентября",
"октября", "ноября", "декабря")
return MonthArray[intMonth]
}
function getDateStr(){
var today = new Date()
var year = today.getYear()
if(year<1000) year+=1900
var todayStr = GetDay(today.getDay()) + ", "
todayStr += today.getDate() + " " + GetMonth(today.getMonth())
todayStr += ", " + year
return todayStr
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write('Сегодня ' + getDateStr() + ' года')
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 3

Дата открытия страницы
(краткая форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var year = today.getYear()
if(year<1000) year+=1900

document.write((today.getMonth()+1) + "/" +
today.getDate() + "/" + (year+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 4

Дата открытия страницы
(краткая форма, но полный год)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var year = today.getYear()
if(year<1000) year+=1900

document.write((today.getMonth()+1) + "/" +
today.getDate() + "/" + year)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 5

Дата открытия страницы
(краткая форма, но с нулями)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var month = today.getMonth()+1
var year = today.getYear()
var day = today.getDate()
if(day<10) day = "0" + day
if(month<10) month= "0" + month
if(year<1000) year+=1900

document.write(month + "/" + day +
"/" + (year+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 6

Дата открытия страницы
(краткая форма, но с нулями и полный год)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var month = today.getMonth()+1
var year = today.getYear()
var day = today.getDate()
if(day<10) day = "0" + day
if(month<10) month= "0" + month
if(year<1000) year+=1900

document.write(month + "/" + day +
"/" + year)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 7

Дата открытия страницы
(европейская форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var year = today.getYear()
if(year<1000) year+=1900

document.write(today.getDate() + "." +
(today.getMonth()+1) + "." + (year+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 8

Дата открытия страницы
(стандартная международная форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
document.write(curDateTime)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 9

Дата открытия страницы
(24-часовая форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
document.write(curDateTime.toLocaleString())
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 10

Дата открытия страницы
(исчерпывающая форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
document.write(curDateTime.toGMTString())
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


DT20

Дата в титульной строке браузера

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
<!--hide

//date in title by Randall Smith copyright 1999
//Permission given to Dynamicdrive.com to feature it in it's DHTML archive
//Script modified by Dynamicdrive.com to make it cross browser friendly. Visit Dynamicdrive.com for more DHTML scripts
//please visit me on the web at http://members.xoom.com/u4rstunzd/
var isnMonth = new
Array("января", "февраля", "марта",
      "апреля", "мая", "июня", "июля",
      "августа", "сентября", "октября",
      "ноября", "декабря");
var isnDay = new
Array("воскресенье", "понедельник",
      "вторник","среда", "четверг",
      "пятница", "суббота", "воскресенье");
today = new Date () ;
Year=today.getYear();
if (Year < 1000)
Year+=1900
Date=today.getDate();
if (document.all)
document.title="Здравствуйте. Сегодня "+isnDay[today.getDay()]+", "+Date+" "+isnMonth[today.getMonth()]+",
      "+Year+" года"
//--hide-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 11

Время открытия страницы
(12-часовая форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
var curHour = curDateTime.getHours()
var curMin = curDateTime.getMinutes()
var curSec = curDateTime.getSeconds()
var curAMPM = " AM"
var curTime = ""
if (curHour >= 12){
curHour -= 12
curAMPM = " PM"
}
if (curHour == 0) curHour = 12
curTime = curHour + ":"
+ ((curMin < 10) ? "0" : "") + curMin + ":"
+ ((curSec < 10) ? "0" : "") + curSec
+ curAMPM
document.write(curTime)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 12

Время открытия страницы
(24-часовая форма)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
var curHour = curDateTime.getHours()
var curMin = curDateTime.getMinutes()
var curSec = curDateTime.getSeconds()
var curTime =
((curHour < 10) ? "0" : "") + curHour + ":"
+ ((curMin < 10) ? "0" : "") + curMin + ":"
+ ((curSec < 10) ? "0" : "") + curSec
document.write(curTime)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 13

Время открытия страницы
(для определенного часового пояса)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var  TimezoneOffset = -8  // Настройте
       для своего часового пояса
var localTime = new Date()
var ms = localTime.getTime()
+ (localTime.getTimezoneOffset() * 60000)
+ TimezoneOffset * 3600000
var time =  new Date(ms)
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var curTime = "" + ((hour > 12) ? hour - 12 : hour)
if(hour==0) curTime = "12"
curTime += ((minute < 10) ? ":0" : ":") + minute
curTime += ((second < 10) ? ":0" : ":") + second
curTime += (hour >= 12) ? " PM" : " AM"
document.write(curTime + "- США Тихоокеанское время")
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Время для определеного часового пояса в настоящий момент установлено для Тихоокеанского Часового пояса Соединенных Штатов. Это может быть легко скорректировано простым изменением величины TimezoneOffset (выделено белым цветом). Текущая величина этого значения -8 относительно Гринвичского мередиана. Поменяйте это значение на соответствующее Вашему часовому поясу. (Не включайте в значение знак +, если Ваше время опережает GMT. Например, если Ваше время опережает GMT на 3 часа, то значение будет равно 3, а не +3).


Date Time 14

Время открытия страницы
(относительно Гринвичского меридиана)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
var curHour = curDateTime.getHours()
+ curDateTime.getTimezoneOffset()/60
if (curHour > 24) curHour -= 24
if (curHour < 0) curHour += 24
var curMin = curDateTime.getMinutes()
var curSec = curDateTime.getSeconds()
var curTime =
((curHour < 10) ? "0" : "") + curHour + ":"
+ ((curMin < 10) ? "0" : "") + curMin + ":"
+ ((curSec < 10) ? "0" : "") + curSec
document.write(curTime + " GMT")
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 15

Время открытия страницы
(задержка (опережение)
относительно Гринвичского меридиана)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var curDateTime = new Date()
document.write("Ваш часовой пояс отстоит от Гринвичского на ")
document.write(-(curDateTime.getTimezoneOffset()/60))
document.write(" часа/ов")
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Date Time 16

Время открытия страницы
(количество дней до определенной даты)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var  targetDate = new Date("01/01/3000")  //указывать
       полный год
var timeBeforeTarget = Math.floor(( targetDate.getTime()
- today.getTime()) / 86400000)
var msg = "<B>Осталось всего "  + (timeBeforeTarget +1)
+ " дней до 3000 года.</B>"
document.write(msg)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Скрипт "Количество дней до 3000 года" может быть использован для отсчета дней до любой необходимой даты простым изменением даты, указанной в targetDate (выделено белым цветом). Важно для Y2K совместимости указывать год в полной форме - 2000, а не 00.


Date Time 17

Время открытия страницы
(количество дней после определенной даты)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var today = new Date()
var  targetDate = new Date("12/31/2000")
       //указывайте полный год
var timeAfterTarget = Math.floor(( today.getTime() - targetDate.getTime() ) / 86400000)
var msg = "Прошло " + timeAfterTarget + " дней/дня с конца прошлого века."
document.write(msg)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Скрипт "Количество дней после определенной даты" может быть использован для отсчета дней от любой выбранной даты простым изменением даты, указанной в targetDate (выделено белым цветом). Важно для Y2K совместимости указывать год в полной форме - 2000, а не 00.


Mod Date 6

Дата последнего
обновления страницы
(европейский вид)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
var modYear = modDate.getYear()
if(modYear<1000) modYear+=1900

document.write("Updated: " + modDate.getDate() + "." +
(modDate.getMonth()+1) + "." + (modYear+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Mod Date 1

Дата и Время последнего
обновления страницы
(только цифры)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write("Updated: " + document.lastModified)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mod Date 2

Дата последнего
обновления страницы
(только цифры)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
var modYear = modDate.getYear()
if(modYear<1000) modYear+=1900

document.write("Updated: " + (modDate.getMonth()+1) + "/" +
modDate.getDate() + "/" + (modYear+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mod Date 4

Дата последнего
обновления страницы
(краткая форма с нулями)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
var modMonth = modDate.getMonth()+1
var modYear = modDate.getYear()
var modDay = modDate.getDate()
if(modDay<10) modDay = "0" + modDay
if(modMonth<10) modMonth= "0" + modMonth
if(modYear<1000) modYear+=1900

document.write("Updated: " + modMonth + "/" + modDay +
"/" + (modYear+"").substring(2,4))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Mod Date 3

Дата последнего
обновления страницы
(полный год)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
var modYear = modDate.getYear()
if(modYear<1000) modYear+=1900

document.write("Updated: " + (modDate.getMonth()+1) + "/" +
modDate.getDate() + "/" + modYear)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mod Date 5

Дата последнего
обновления страницы
(краткая форма с нулями, полный год)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
var modMonth = modDate.getMonth()+1
var modYear = modDate.getYear()
var modDay = modDate.getDate()
if(modDay<10) modDay = "0" + modDay
if(modMonth<10) modMonth= "0" + modMonth
if(modYear<1000) modYear+=1900
document.write("Updated: " + modMonth + "/" + modDay + "/" + modYear+"")
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


sound1

Фоновая музыка для ЛЮБЫХ браузеров
Тэги, написанные для воспроизведения background звука, для разных браузеров отличаются и воспроизведение BG музыки в MSIE почти всегда означает ее отсутствие для NN; предлагаемый скрипт пишет тэг для BG музыки предварительно определив тип браузера.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Kipp W. Shinabarger (kipps@bigfoot.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var MSIE=navigator.userAgent.indexOf("MSIE");
var NETS=navigator.userAgent.indexOf("Netscape");
var OPER=navigator.userAgent.indexOf("Opera");
if((MSIE>-1) || (OPER>-1)) {
document.write("<BGSOUND SRC=COSMOS.mid LOOP=INFINITE>");
} else {
document.write("<EMBED SRC=COSMOS.mid AUTOSTART=TRUE ");
document.write("HIDDEN=true VOLUME=100 LOOP=TRUE>");
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

COSMOS.mid


Sound7

Holiday Jukebox
Довольно заумно написанный скрипт. То есть, все можно было сделать гораздо проще и даже компактнее, обойдясь простым HTML... Для ръяных почитателей JavaScript.

P.S. По каким-то своим, плохо-понятным причинам, скрипт, к тому же, не работает из файла справки.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers

var ls="sndsotdffnccsfagtbmcafha";
var ls1="Silent Night|The Draydl Song|O Tannenbaum|O Du Froehliche|"
+"The First Noel|A Child Comes|Snow's Fallen|Amazing Grace|Town"
+" of Bethlehem|Midnight Clear|Adeste Fideles|Herald Angels| ";
var ctr=0;

function bgnIt(){
document.write('<TABLE BORDER=0 WIDTH=486 CELLPADDING=0'
+' CELLSPACING=0 BGCOLOR="lightgreen"><TR>');
for (var i=0;i<3;i++){
document.write('<TD><IMG SRC="f.gif" WIDTH=162 HEIG'
+'HT=1 BORDER=0></TD>');
}
rptIt();
document.write('<TD ALIGN=CENTER><IMG SRC="hol.gif"'
+' WIDTH=65 HEIGHT=30 BORDER=0></TD><TD ALIGN=CENTER><'
+'B>Season\'s Greetings!</B></TD><TD ALIGN=CENTER><IMG'
+' SRC="hol.gif" WIDTH=65 HEIGHT=30 BORDER=0></TD>');
stepIt();
}

function stepIt(){
if (ctr<10){
stepIt1();
}
else{
document.write('<TR><TD COLSPAN=3><BR><DIV ALIGN=CEN'
+'TER><B>Holiday Jukebox Инструкции:</B></DIV><BR>'
+'Выберите песню и нажмите кнопку "ON"'
+'. Мелодия будет повторяться до тех пор, пока Вы не нажмете кнопку "off".'
+' Не нажимайте более чем на одну кнопку "ON" сразу! Мелодии будут проигрываться одновременно!'
+'</TD></TR></TABLE><P>'
+'<HR NOSHADE WIDTH=484><P>');
}
}

function stepIt1(){
rptIt();
for (var i=0;i<3;i++){
pos=ls1.indexOf("|");
nm=ls1.substring(0,pos);
ls1=ls1.substring(pos+1,ls1.length);
document.write('<TD VALIGN=TOP ALIGN=CENTER><FONT SIZE=1 FACE=HELVETICA><B>'
+nm+'</B></FONT></TD>');
}
rptIt();
for (var i=0;i<3;i++){
document.write('<TD VALIGN=TOP ALIGN=CENTER><EMBED SRC="'
+ls.substring(ctr*2,(ctr*2)+2)+'.mid" WIDTH=84 HEIGHT=45 C'
+'ONTROLS="smallConsole" AUTOSTART=FALSE LOOP=TRUE PLUGINSP'
+'AGE="http://quicktime.apple.com"></TD>');
ctr++;
}
rptIt();
for (var i=0;i<3;i++){
document.write('<TD align=center><FONT SIZE=1>&nbsp;&nbsp;&nbsp;On&nbsp;'
+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Off&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</FONT></TD>');
}
rptIt();
stepIt();
}

function rptIt(){
document.write('</TR><TR>');
}

// End Hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
bgnIt();
// End Hiding -->
</SCRIPT>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки и mid файлы, использованные в примере: bcjuk.zip

tb.mid ag.mid cc.mid df.mid ds.mid fn.mid ha.mid jw.mid mc.mid odf.mid ot.mid af.mid sf.mid sn.mid


RC29

Pop-up Jukebox при загрузке страницы

Внимательно ознакомьтесь со
СПРАВКОЙ

В файле справки POP-UP JukeBox работать не будет - не может, бедненький, определить location...
Тем ни менее, внешний вид и принцип работы Вы в состоянии оценить.

Содержимое этой таблицы поместите между <HEAD> и </HEAD> исходной страницы

<SCRIPT>
/*written by The Omega
// http://www.geocities.com/Area51/
Corridor/4381
// the_omega@geocities.com
*/
window.open("select.htm", "OmegaMidiPlayerWin","width=180, height=80")
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY> в файле select.htm

 <body onLoad="setdone()">

 <SCRIPT>
<!-- written by The Omega
//   http://www.geocities.com/Area51/Corridor/4381
var qmid=new Array();
var qname=new Array();
var qtime=new Array();
qtime[0]=.1 // Do NOT change this line

numsongs=2   // Количетво музыкальных файлов
qmid[1]="COSMOS.mid"      // Имя файла для первой композиции
qname[1]="Космос" // Имя первой композиции
qtime[1]=100             // Время первой композиции (в секундах)
qmid[2]="A_znaesh.mid"      //  ...для второй композиции
qname[2]="А знаешь..."
qtime[2]=120
/* Добавьте сколько угодно композиций
простым повтором последних трех линий. Не забудьте также
изменить количество файлов в NUMSONGS */

function rndsong(){
var today=new Date();
today=today.getTime()/10;
today=(today%numsongs)+1;
location.href="select.htm?"+today+"x0"}

function playsong(today){
window.location.href="select.htm?"+today+"x0"}

function continuous(){
var today=new Date();
today=today.getTime()/10;
today=(today%numsongs)+1;
document.location="select.htm?0x"+today}

function nextsong(){
if(!done){
window.setTimeout("nextsong()",100)}
else{
var today=new Date();
today=today.getTime()/10;
today=(today%numsongs)+1;
document.location= "select.htm?"+song2+"x"+today}}
function fastforward(){
if(done)
nextsong()}
function setdone(){
done=true}

done=false;
song1=0;song2=0;
param=location.search;
if(param.length>3){
n=param.substring(1,param.length);
p=n.indexOf("x");
song1=parseInt(n.substring(0,p));
song2=parseInt(n.substring(p+1,n.length))}
player='<CENTER><NOBR><EMBED SRC="'+qmid[song1]+'" WIDTH=144 HEIGHT=60 AUTOSTART=TRUE><BR>';
stopbut='<A HREF="select.htm" onMouseOver=\'window.status="Stop Song";return true\' onMouseOut=\'window.status="";return true\'><IMG SRC="stopsong.gif" WIDTH=15 HEIGHT=13 BORDER=0 ALIGN=RIGHT ALT="Stop Song"></A>';
songname='<FONT SIZE=1>'+qname[song1]+'</FONT> </NOBR></CENTER>';
ffbut='<A HREF="javascript:;" onClick="fastforward();return false" onMouseOver=\'window.status=
 "Next Song";return true\' onMouseOut=\'window.status="";return true\'><IMG SRC="nextsong.gif" WIDTH=15 HEIGHT=13 BORDER=0 ALIGN=RIGHT ALT="Next Song"></A>';
cacher='<EMBED SRC="'+qmid[song2]+'" HIDDEN=true AUTOSTART=false>';
if(song2==0){
ffbut='';
cacher=''}
if(song1==0){
player='<CENTER>Loading file<BR> Please wait...<BR><FONT SIZE=2>Script by <A
 HREF="mailto:the_omega@geocities.com"> The&nbsp;Omega</A></CENTER>';
ffbut='';
stopbut='';
songname=''}

if((song1==0)&&(song2==0)){
document.writeln('<FORM NAME="songs"> <NOBR>Choose a song:<BR><SELECT NAME="song">')
for(i=1;i<=numsongs;document.writeln ("<OPTION>"+qname[i++]));
document.writeln('</SELECT><BR> <A HREF="javascript:playsong
 (document.songs.song.selectedIndex+1);" onClick="playsong(document.songs.
 song.selectedIndex+1);return false;" onMouseOver=\'window.status="Play Song\";return true\' onMouseOut=\'window.status="";return true\'><IMG SRC="playsong.gif" WIDTH=50 HEIGHT=30 BORDER=0 ALT="Play Song"></A><A HREF="javascript:rndsong();" onClick="rndsong();return false;" onMouseOver=\'window.status="Random Song";return true\' onMouseOut=\'window.status=
 "";return true\'><IMG SRC="randsong.gif" WIDTH=50 HEIGHT=30 BORDER=0 ALT="Random Song"></A><A HREF="javascript:continuous();" onClick="continuous();return false;" onMouseOver=\'window.status="Continous Play";return true\' onMouseOut=
 \'window.status="";return true\'><IMG SRC="contplay.gif"  WIDTH=50 HEIGHT=30 BORDER=0 ALT="Continuous Play"></A></NOBR>')}
else{
document.writeln (player+ffbut+stopbut+cacher+songname)}
if(song2!=0){
window.setTimeout ("nextsong()",qtime[song1]*1000)}
//-->
</SCRIPT>
<NOSCRIPT>Извините, но JukeBox не работает без
поддержки JavaScript</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, которые использованы в этом примере.

contplay.gif
nextsong.gif
playsong.gif
randsong.gif
stopsong.gif


muz1

Звуковой эффект при наведении мыши на линк

Наведите курсор мыши на линк, чтобы заиграла музыка

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript"><!--
// Preload and play audio files with event handler (MouseOver sound)
// designed by JavaScript Archive, (c)1999

var aySound = new Array();
// Будет загружен музыкальный файл:
aySound[0] = "COSMOS.mid";

document.write('<BGSOUND ID="auIEContainer">')
IE = (navigator.appVersion.indexOf ("MSIE")!=-1 && document.all)? 1:0;
NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
ver4 = IE||NS? 1:0;
onload=auPreload;

function auPreload() {
if (!ver4) return;
if (NS) auEmb = new Layer(0,window);
else {
Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
document.body.insertAdjacentHTML ("BeforeEnd",Str);
}
var Str = '';
for (i=0;i<aySound.length;i++)
Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
if (IE) auEmb.innerHTML = Str;
else {
auEmb.document.open();
auEmb.document.write(Str);
auEmb.document.close();
}
auCon = IE? document.all.auIEContainer:auEmb;
auCon.control = auCtrl;
}
function auCtrl(whSound,play) {
if (IE) this.src = play? aySound[whSound]:'';
else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
}
function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="popdemo.htm" onMouseOver="playSound(0)"
onMouseOut="stopSound(0)">Наведите курсор мыши на линк, чтобы заиграла музыка</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sound6

Звуковой эффект при наведении мыши 2

Композиция первая

Композиция вторая

Композиция третья

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<bgsound src="#" id=music loop=1 autostart="true">

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<a href="#" onMouseOver="document.all.music.src= 'COSMOS.mid'">Композиция первая</a><p>
<a href="#" onMouseOver="document.all.music.src= 'A_znaesh.mid'">Композиция вторая</a><p>
<a href="#" onMouseOver="document.all.music.src= '104.mid'">Композиция третья</a><p>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sound5

Музыка из выпадающнго меню
(замените музыкальные файлы на свои, добавьте файлов без ограничения)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nicholas Loar -->
<!-- Web Site: http://www.cass.net/~anarchy -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
songNum = new Array();
songNum[0] = "#";
songNum[1] = "A_znaesh.mid";
songNum[2] = "COSMOS.mid";
songNum[3] = "104.mid";

var music = null;
var track = 0;
var ver = navigator.appName;
function audioCheck(plugName) {
for (var i = 0; i < navigator.plugins.length; i++) {
if (navigator.plugins[i].name.toLowerCase() == plugName.toLowerCase()) {
for (var j = 0; j < navigator.plugins[i].length; j++) {
if (navigator.plugins[i][j].enabledPlugin) {
return true;
}
}
return false;
}
}
return false;
}
function chooseSong(s) { // ie
track = s.options[s.selectedIndex].value;
if (ver == "Microsoft Internet Explorer") {
document.all.music.src = songNum[track];
} else {
songPlay('play');
}
}
function songPlay(cmd) { // netscape
if (audioCheck("LiveAudio")) {
if (cmd == 'play') {
document.musicSource.play(false, songNum[track]);
}
} else {
alert("You Do Not Have The Correct Plugin");
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<form name=choose>
<select size=1 name=track onChange="chooseSong(this);" style="background-color: #FFFFFF; font-family: MS Sans Serif,Arial; font-size: 10pt; font-weight: bold">
<option value="0">Выберите композицию</option>
<option value="1">А знаешь...</option>
<option value="2">Композиция 2</option>
<option value="3">Композиция 3</option>
</select>
<input type=button onClick="chooseSong(document.choose.track)" value="" style="background-image: url('ball.gif'); width: 37; height: 35">
</form>

<script language="JavaScript">
<!-- Begin
var ver = navigator.appName;
if (ver == "Microsoft Internet Explorer") {
document.write('<bgsound src="#" ID=music loop=1 AUTOSTART=true>');
} else {
document.write('<embed type="audio/midi" src="A_znaesh.mid"
 AUTOSTART=false hidden=true VOLUME="90" name="musicSource"
 MASTERSOUND></EMBED>');
}
// End -->
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC31

Проигрыватель случайно выбранной background music

(поместите свои музыкальные файлы вместо выделенных белым цветом)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
//By George Chiang (http://www.abstract.simplenet.com)
var sound1="A_znaesh.mid"
var sound2="COSMOS.mid"
var sound3="104.mid"
var x=Math.random()*10
if (x<=3) x=sound1
else if (x<=6) x=sound2
else
x=sound3
if (navigator.appName=="Microsoft Internet Explorer")
document.write('<bgsound src='+'"'+x+'"'+' loop="infinite">')
else
document.write('<embed src='+'"'+x+'"'+'hidden="true" border="0" width="20" height="20" autostart="true" loop="true">')
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game6

Зрительная память

Сконцентрируйтесь, и найдите все пары одинаковых рисунков! Только открытые подряд два одинаковых рисунка не закроются через пол-секунды. Счетчик времени внизу может быть обнулен простым нажатием, но и картинки тоже закроются! А в следующий раз на этих местах будут уже совсем другие рисунки.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site: http://www.bgaudiodr.iwarp.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var pics = new Array();
for (i = 0; i <= 18; i++) {
pics[i] = new Image();
pics[i].src = 'image' + i + '.gif';
}
var map=new Array(1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18);
var user = new Array();
var temparray = new Array();
var clickarray = new Array(0, 0);
var ticker, sec, min, ctr, id, oktoclick, finished;
function init() {
clearTimeout(id);
for (i = 0; i <= 35 ;i++) {
user[i] = 0;
}
ticker = 0;
min = 0;
sec = 0;
ctr = 0;
oktoclick = true;
finished = 0;
document.f.b.value = "";
scramble();
runclk();
for (i = 0; i <= 35; i++) {
document.f[('img'+i)].src = "image0.gif";
}
}
function runclk() {
min = Math.floor(ticker/60);
sec = (ticker-(min*60))+'';
if(sec.length == 1) {sec = "0"+sec};
ticker++;
document.f.b.value = min+":"+sec;
id = setTimeout('runclk()', 1000);
}
function scramble() {
for (z = 0; z < 5; z++) {
for (x = 0; x <= 35; x++) {
temparray[0] = Math.floor(Math.random()*36);
temparray[1] = map[temparray[0]];
temparray[2] = map[x];
map[x] = temparray[1];
map[temparray[0]] = temparray[2];
}
}
}
function showimage(but) {
if (oktoclick) {
oktoclick = false;
document.f[('img'+but)].src = 'image'+map[but]+'.gif';
if (ctr == 0) {
ctr++;
clickarray[0] = but;
oktoclick = true;
} else {
clickarray[1] = but;
ctr = 0;
setTimeout('returntoold()', 600);
}
}
}
function returntoold() {
if ((clickarray[0] == clickarray[1]) && (!user[clickarray[0]])) {
document.f[('img'+clickarray[0])].src = "image0.gif";
oktoclick = true;
} else {
if (map[clickarray[0]] != map[clickarray[1]]) {
if (user[clickarray[0]] == 0) {
document.f[('img'+clickarray[0])].src = "image0.gif";
}
if (user[clickarray[1]] == 0) {
document.f[('img'+clickarray[1])].src = "image0.gif";
}
}
if (map[clickarray[0]] == map[clickarray[1]]) {
if (user[clickarray[0]] == 0&&user[clickarray[1]] == 0) { finished++; }
user[clickarray[0]] = 1;
user[clickarray[1]] = 1;
}
if (finished >= 18) {
alert('You did it in '+document.f.b.value+' !');
init();
} else {
oktoclick = true;
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="init()">

<form name="f">
<table cellpadding="0" cellspacing="0" border="0">
<script language="javascript">
<!-- Begin
for (r = 0; r <= 5; r++) {
document.write('<tr>');
for (c = 0; c <= 5; c++) {
document.write('<td align="center">');
document.write('<a href="javascript:showimage('+((6*r)+c)+')" onClick="document.f.b.focus()">');
document.write('<img src="image0.gif" name="img'+((6*r)+c)+'" border="0">');
document.write('</a></td>');
}
document.write('</tr>');
}
// End -->
</script>
</table>
<br><br>
<input type="button" value=" " name="b" onClick="init()">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: memo.zip


Game31

Саймон сэз
Очень полезная игра! Точное определение возможностей Вашей зрительной памяти.

Ваш уровень

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site: http://www.bgaudiodr.iwarp.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var image_directory = ""; //Директория (адрес) рисунков
var ok = false;
var pcbusy = false;
var userturn = true;
var butdown = false;
var stage = 1;
var cnt = 1;
var pcclicks = new Array();
var userclicks = new Array();
var pos;
var tst = true;
var msg = "Нажмите ВПЕРЕД!";
btn1 = new Image();
btn1.src = image_directory + "purple.gif";
btn2 = new Image();
btn2.src = image_directory + "yellow.gif";
function updown(isdn) {
if (isdn) {
document.f[('pl'+pos)].src = image_directory + 'yellow.gif';
}
else {
document.f[('pl'+pos)].src= image_directory + 'purple.gif';
}
}
function dopc() {
document.f.st.value = stage;
if (cnt <= stage) {
pcbusy = true;
userturn = false;
document.f.s.value = "Очередь Саймона";
setTimeout("pos=Math.floor((Math.random()*8)+1); updown(true)",500);
setTimeout("updown(false) ; pcclicks[cnt]=pos; cnt++; dopc()",1200);
}
else {
userclicks = new Array();
cnt = 1;
document.f.s.value = "Ваша очередь";
pcbusy = false;
userturn = true;
document.f.b.focus();
}
}
function testclicks() {
tst = true;
for(i = 1;cnt > i; i++) {
if (pcclicks[i] == userclicks[i]) {
tst = true && tst;
}
else {
tst = false && tst;
}
}
if(tst) {
setTimeout("stage++ ; document.f.st.value=stage ; alert('ПРАВИЛЬНО! Переход на следующий уровень....'); document.f.s.value=msg ; document.f.b.focus()",300);
}
else {
setTimeout("stage=1 ; cnt=1 ; pcclicks=new Array() ; document.f.st.value=stage ; alert('ОШИБКА!. Вам прийдется начать новую игру.') ; document.f.s.value=msg",300);
}
cnt = 1;
}
function testclk(downflag, pos) {
if (userturn&&(!pcbusy)) {
if (downflag) {
document.f[('pl'+pos)].src = image_directory + 'yellow.gif';
}else{
document.f[('pl'+pos)].src = image_directory + 'purple.gif';
}
if (ok && !downflag) {
userclicks[cnt] = pos;
cnt++;
if (pcclicks.length == userclicks.length) {
testclicks();
}
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="f">
<table cellspacing="20" cols="5" width="600">
<tr height="60">
<td colspan="5" align="center"><img src="purple.gif" name="pl1" onMousedown="testclk(true,1)" onMouseup="testclk(false,1)"></td>
</tr>
<tr height="60">
<td width="20%"> </td>
<td align="center" width="20%"><img src="purple.gif" name="pl2" onMousedown="testclk(true,2)" onMouseup="testclk(false,2)"></td>
<td width="20%" align="center">Ваш уровень<font size="3"><br>&nbsp;&nbsp;&nbsp;&nbsp;
</font><input type="text" size="2" value="1" name="st" readonly style="color: #800000; font-weight: bold; border-style: solid; border-width: 0"></td>
<td align="center" width="20%"><img src="purple.gif" name="pl3" onMousedown="testclk(true,3)" onMouseup="testclk(false,3)"></td>
<td width="20%"> </td>
</tr>
<tr height="60">
<td align="center"><img src="purple.gif" name="pl4" onMousedown="testclk(true,4)" onMouseup="testclk(false,4)"></td>
<td align="center" colspan="3"><input type="text" name="s" value="Нажмите ВПЕРЕД!" readonly size="20" style="color: #800000; border-style: solid; border-width: 0"></td>
<td align="center"><img src="purple.gif" name="pl5" onMousedown="testclk(true,5)" onMouseup="testclk(false,5)"></td>
</tr>
<tr height="60">
<td> </td>
<td align="center"><img src="purple.gif" name="pl6" onMousedown="testclk(true,6)" onMouseup="testclk(false,6)"></td>
<td align="center"><input type="button" value="ВПЕРЕД!" name="b" onClick="ok=true ; if(!pcbusy) dopc()" style="color: #FF0000"></td>
<td align="center"><img src="purple.gif" name="pl7" onMousedown="testclk(true,7)" onMouseup="testclk(false,7)"></td>
<td> </td>
</tr>
<tr height="60">
<td colspan="2" align="left"></td>
<td align="center"><img src="purple.gif" name="pl8" onMousedown="testclk(true,8)" onMouseup="testclk(false,8)"></td>
<td colspan="2" align="right"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

purple.gif
yellow.gif


Game58

Зрительная память на числа
После нажатия кнопки "Начать тест", в поле "Случайное число" появится 9-значное число. Оно будет воспроизводиться в течение 5 секунд, затем Вы должны впечатать то, что запомнили, в поле "Впишите то, что запомнили" и нажать кнопку "Ввести". В большом текстовом поле появиться оригинальное число и то, что Вы ввели. Но не отвлекайтесь, потому, что в это время уже воспроизводится следующее случайное число. Так будет повторяться 5 раз, затем Вам будет показан результат. Тогда же Вы сможете сравнить оригинальные и Ваши числа.

Количество раундов
Случайное число

Впишите то, что запомнили

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--

function init() {
attempts = 0; nul ="";end= "";
diff = 5000; correct = 0;
document.forms[0].input.value=nul;
document.forms[0].output.value=nul;
document.forms[0].count.value=attempts;
document.forms[0].text.value=nul;
}

function rand(form) {
today = new Date();
num1 = today.getTime()
num1 = (num1)*10000000000000 % 999999999
document.forms[0].output.value = num1;
setTimeout("document.forms[0].output.value = nul", diff);
document.forms[0].input.value=nul;
setTimeout("document.forms[0].input.focus()", diff);
}
function check() {
if(document.forms[0].input.value == "") return;
test = document.forms[0].input.value;
if(parseInt(test)==0) {
init();
return;
}
if(num1 == document.forms[0].input.value) {
correct++;
document.forms[0].output.value=nul;
document.forms[0].input.value=nul;
}

end=end+num1+" "+test+"\r\n";
document.forms[0].text.value=end;
attempts++;
document.forms[0].count.value=attempts;
if(attempts == 5) {
num1="correct: "+ correct;
alert("Из пяти попыток, правильных "+correct+ ".");
return;
}
rand();
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="init()">

<center>
<table width =300 bgcolor="#808080" border="2">
<tr>
<td width = 60% align=center>
<form>
<textarea name="text" rows=5 cols=35 wrap=virtual></textarea>
</font>
<p>
<font size="3" color="#FFFFFF">
<b>
Количество раундов <input type="text" name="count" size=2><br>
Случайное число <input type="text" name="output" onMouseDown="Javascript:{(this.value='Копировать нечестно!');(text.value='С мошенниками не играем!')}">

</b>
</font>

<p>
<font size="3" color="#FFFFFF">
<b>
Впишите то, что запомнили </b>
</font>
<font size="3" color="#000000">
<input type="text" name="input" size=10>
<input type="button" value="Ввести!" onClick="check()">

<p><input type="reset" value="Сброс" onClick="init()">
<input type="button" value="Начать тест!" onClick="init();rand()">
</form>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game59

Зрительная память на числа 2
Внимательно посмотрите на игровое поле и постарайтесь запомнить расположение как можно большего количества пар одинаковых чисел. Затем нажмите кнопку Старт. Кликните по любому чистому квадрату и постарайтесь вспомнить расположение пары к появившемуся числу. Два последовательно открытых одинаковых числа считаются попаданием и остаются открытыми. P.S. Игра не на то, чтобы "завалить" браузер, а на зрительную память. Не забывайте также, что JavaScript - это не С или VB и, даже не Java!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
function loadgame() {
v = -1; g = 0; tries = 0; total = 0
for(var i = 0; i < 6; i++) {
for(var j = 0; j < 6; j++) {
v++
document.write("<input type='button' value='????' style=\"width:70; height:60; font-size: 18pt; font-family: Verdana; font-weight: bold\" "+
"OnClick='button(" +v+ ")'>")
}
document.write("<br>")
}
}

function setBoard() {
v = -1; g = 0; tries = 0; total = 0
document.mem.start.value = "Старт"
for(i=0; i<18; i++) {
Array[i] = i; Array[i+18] = i
}
shuffle();
}

function shuffle() {
for(i=0; i < (rand(300)+200); i++) {
x = 0; y = 0
while(x == y) {
x = rand(36); y = rand(36)
}
temp = Array[x]; Array[x] = Array[y]; Array[y] = temp
}
show(0)
}

function rand(n) {
return Math.floor(Math.random()*n)
}

function show(n) {
if((n && confirm("Вы уверены? ")) || !n) {
for(i=0; i<36; i++) {
document.mem.elements[i].value = Array[i]
}
}
}

function blank() {
for(i=0; i<36; i++) {
document.mem.elements[i].value = ""
}
}

function button(x) {
test = "" +Array[x]
if(test.charAt(0) == "[") return
document.mem.elements[x].value = Array[x]
if(g == 0) {
first = Array[x]
firstx = x;
g++
return
}
if(g == 1) {
second = Array[x]
secondx = x
tries++
g = 0
if(first == second) {
Array[firstx] = "[" +Array[firstx]+ "]"
Array[secondx] = "[" +Array[secondx]+ "]"
total++
document.mem.start.value = "попаданий: "+total+""
if(total == 18) alert("Вы открыли все числа после "+tries+" попыток(попытки)!")
return
}
}
setTimeout("document.mem.elements[firstx].value = ''", 500)
setTimeout("document.mem.elements[secondx].value = ''", 500)
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setBoard()">

<center>
<table border="3" bgcolor="#808080">
<tr><td bgcolor="#808080">
<form name="mem">
<script>
loadgame()
</script>
<p><center>
<input type="button" value="Старт" style="width:100" name="start" OnClick="blank()">
<input type="button" value="Новая игра" OnClick="setBoard()">
<input type="button" value="Сдаюсь!" OnClick="show(1)">
</center></form>
</table>
<hr><p>
<center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game33

Крестики - Нолики
(любимая народная игра, не нуждающаяся в комментариях)

Верх-Лево | Верх-Центр | Верх-Право
Середина-Лево | Середина-Центр | Середина-Право
Низ-Лево | Низ-Центр | Низ-Право
Вы
Компьютер
Ничья

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Maximilian Stocker (maxstocker@reallyusefulcomputing.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var x = "x.jpg";
// Location of where you uploaded your site's x.jpg image

var o = "o.jpg";
// Location of where you uploaded your site's o.jpg image

var blank = "blank.jpg";
// Location of where you uploaded your site's blank.jpg image

var pause = 0;
var all = 0;
var a = 0;
var b = 0;
var c = 0;
var d = 0;
var e = 0;
var f = 0;
var g = 0;
var h = 0;
var i = 0;
var temp="";
var ok = 0;
var cf = 0;
var choice=9;
var aRandomNumber = 0;
var comp = 0;
var t = 0;
var wn = 0;
var ls = 0;
var ts = 0;
function help() {
alert("Добро пожаловать в КРЕСТИКИ-НОЛИКИ! Вы играете Х-ами, а компьютер 0-ями. Для того, чтобы занять квадрат, просто кликните по нему. Вы можете занимать только незанятый квадрат! Первый игрок, который займет три квадрата, пересекаемых одной линией, как по горизонтали и вертикали, так и наискосок, считается победителем. Удачи!!!")
}
function logicOne() {
if ((a==1)&&(b==1)&&(c==1)) all=1;
if ((a==1)&&(d==1)&&(g==1)) all=1;
if ((a==1)&&(e==1)&&(i==1)) all=1;
if ((b==1)&&(e==1)&&(h==1)) all=1;
if ((d==1)&&(e==1)&&(f==1)) all=1;
if ((g==1)&&(h==1)&&(i==1)) all=1;
if ((c==1)&&(f==1)&&(i==1)) all=1;
if ((g==1)&&(e==1)&&(c==1)) all=1;
if ((a==2)&&(b==2)&&(c==2)) all=2;
if ((a==2)&&(d==2)&&(g==2)) all=2;
if ((a==2)&&(e==2)&&(i==2)) all=2;
if ((b==2)&&(e==2)&&(h==2)) all=2;
if ((d==2)&&(e==2)&&(f==2)) all=2;
if ((g==2)&&(h==2)&&(i==2)) all=2;
if ((c==2)&&(f==2)&&(i==2)) all=2;
if ((g==2)&&(e==2)&&(c==2)) all=2;
if ((a != 0)&&(b != 0)&&(c != 0)&&(d != 0)&&(e != 0)&&(f != 0)&&(g != 0)&&(h != 0)&&(i != 0)&&(all == 0)) all = 3;
}
function logicTwo() {
if ((a==2)&&(b==2)&&(c== 0)&&(temp=="")) temp="C";
if ((a==2)&&(b== 0)&&(c==2)&&(temp=="")) temp="B";
if ((a== 0)&&(b==2)&&(c==2)&&(temp=="")) temp="A";
if ((a==2)&&(d==2)&&(g== 0)&&(temp=="")) temp="G";
if ((a==2)&&(d== 0)&&(g==2)&&(temp=="")) temp="D";
if ((a== 0)&&(d==2)&&(g==2)&&(temp=="")) temp="A";
if ((a==2)&&(e==2)&&(i== 0)&&(temp=="")) temp="I";
if ((a==2)&&(e== 0)&&(i==2)&&(temp=="")) temp="E";
if ((a== 0)&&(e==2)&&(i==2)&&(temp=="")) temp="A";
if ((b==2)&&(e==2)&&(h== 0)&&(temp=="")) temp="H";
if ((b==2)&&(e== 0)&&(h==2)&&(temp=="")) temp="E";
if ((b== 0)&&(e==2)&&(h==2)&&(temp=="")) temp="B";
if ((d==2)&&(e==2)&&(f== 0)&&(temp=="")) temp="F";
if ((d==2)&&(e== 0)&&(f==2)&&(temp=="")) temp="E";
if ((d== 0)&&(e==2)&&(f==2)&&(temp=="")) temp="D";
if ((g==2)&&(h==2)&&(i== 0)&&(temp=="")) temp="I";
if ((g==2)&&(h== 0)&&(i==2)&&(temp=="")) temp="H";
if ((g== 0)&&(h==2)&&(i==2)&&(temp=="")) temp="G";
if ((c==2)&&(f==2)&&(i== 0)&&(temp=="")) temp="I";
if ((c==2)&&(f== 0)&&(i==2)&&(temp=="")) temp="F";
if ((c== 0)&&(f==2)&&(i==2)&&(temp=="")) temp="C";
if ((g==2)&&(e==2)&&(c== 0)&&(temp=="")) temp="C";
if ((g==2)&&(e== 0)&&(c==2)&&(temp=="")) temp="E";
if ((g== 0)&&(e==2)&&(c==2)&&(temp=="")) temp="G";
}
function logicThree() {
if ((a==1)&&(b==1)&&(c==0)&&(temp=="")) temp="C";
if ((a==1)&&(b==0)&&(c==1)&&(temp=="")) temp="B";
if ((a==0)&&(b==1)&&(c==1)&&(temp=="")) temp="A";
if ((a==1)&&(d==1)&&(g==0)&&(temp=="")) temp="G";
if ((a==1)&&(d==0)&&(g==1)&&(temp=="")) temp="D";
if ((a==0)&&(d==1)&&(g==1)&&(temp=="")) temp="A";
if ((a==1)&&(e==1)&&(i==0)&&(temp=="")) temp="I";
if ((a==1)&&(e==0)&&(i==1)&&(temp=="")) temp="E";
if ((a==0)&&(e==1)&&(i==1)&&(temp=="")) temp="A";
if ((b==1)&&(e==1)&&(h==0)&&(temp=="")) temp="H";
if ((b==1)&&(e==0)&&(h==1)&&(temp=="")) temp="E";
if ((b==0)&&(e==1)&&(h==1)&&(temp=="")) temp="B";
if ((d==1)&&(e==1)&&(f==0)&&(temp=="")) temp="F";
if ((d==1)&&(e==0)&&(f==1)&&(temp=="")) temp="E";
if ((d==0)&&(e==1)&&(f==1)&&(temp=="")) temp="D";
if ((g==1)&&(h==1)&&(i==0)&&(temp=="")) temp="I";
if ((g==1)&&(h==0)&&(i==1)&&(temp=="")) temp="H";
if ((g==0)&&(h==1)&&(i==1)&&(temp=="")) temp="G";
if ((c==1)&&(f==1)&&(i==0)&&(temp=="")) temp="I";
if ((c==1)&&(f==0)&&(i==1)&&(temp=="")) temp="F";
if ((c==0)&&(f==1)&&(i==1)&&(temp=="")) temp="C";
if ((g==1)&&(e==1)&&(c==0)&&(temp=="")) temp="C";
if ((g==1)&&(e==0)&&(c==1)&&(temp=="")) temp="E";
if ((g==0)&&(e==1)&&(c==1)&&(temp=="")) temp="G";
}
function clearOut() {
document.game.you.value="0";
document.game.computer.value="0";
document.game.ties.value="0";
}
function checkSpace() {
if ((temp=="A")&&(a==0)) {
ok=1;
if (cf==0) a=1;
if (cf==1) a=2;
}
if ((temp=="B")&&(b==0)) {
ok=1;
if (cf==0) b=1;
if (cf==1) b=2;
}
if ((temp=="C")&&(c==0)) {
ok=1;
if (cf==0) c=1;
if (cf==1) c=2;
}
if ((temp=="D")&&(d==0)) {
ok=1;
if (cf==0) d=1;
if (cf==1) d=2;
}
if ((temp=="E")&&(e==0)) {
ok=1;
if (cf==0) e=1;
if (cf==1) e=2;
}
if ((temp=="F")&&(f==0)) {
ok=1
if (cf==0) f=1;
if (cf==1) f=2;
}
if ((temp=="G")&&(g==0)) {
ok=1
if (cf==0) g=1;
if (cf==1) g=2;
}
if ((temp=="H")&&(h==0)) {
ok=1;
if (cf==0) h=1;
if (cf==1) h=2;
}
if ((temp=="I")&&(i==0)) {
ok=1;
if (cf==0) i=1;
if (cf==1) i=2;
}
}
function yourChoice(chName) {
pause = 0;
if (all!=0) ended();
if (all==0) {
cf = 0;
ok = 0;
temp=chName;
checkSpace();
if (ok==1) {
document.images[chName].src = x;
}
if (ok==0)taken();
process();
if ((all==0)&&(pause==0)) myChoice();
}
}
function taken() {
alert("Квадрат уже занят! Вы что слепой?!. Занимайте любой свободный.")
pause=1;
}
function myChoice() {
temp="";
ok = 0;
cf=1;
logicTwo();
logicThree();
checkSpace();
while(ok==0) {
aRandomNumber=Math.random()
comp=Math.round((choice-1)*aRandomNumber)+1;
if (comp==1) temp="A";
if (comp==2) temp="B";
if (comp==3) temp="C";
if (comp==4) temp="D";
if (comp==5) temp="E";
if (comp==6) temp="F";
if (comp==7) temp="G";
if (comp==8) temp="H";
if (comp==9) temp="I";
checkSpace();
}
document.images[temp].src= o;
process();
}
function ended() {
alert("Игра уже закончена! Для начала новой нажмите ХОЧУ ИГРАТЬ.")
}
function process() {
logicOne();
if (all==1){ alert("Вы выйграли!!! Поздравляем!"); wn++; }
if (all==2){ alert("Вот так!!! Я выйграл!"); ls++; }
if (all==3){ alert("Мы сыграли вничью."); ts++; }
if (all!=0) {
document.game.you.value = wn;
document.game.computer.value = ls;
document.game.ties.value = ts;
}
}
function playAgain() {
if (all==0) {
if(confirm("Сейчас произойдет сброс счета и начнется новый тур. OK?")) reset();
}
if (all>0) reset();
}
function reset() {
all = 0;
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
f = 0;
g = 0;
h = 0;
i = 0;
temp="";
ok = 0;
cf = 0;
choice=9;
aRandomNumber = 0;
comp = 0;
document.images.A.src= blank;
document.images.B.src= blank;
document.images.C.src= blank;
document.images.D.src= blank;
document.images.E.src= blank;
document.images.F.src= blank;
document.images.G.src= blank;
document.images.H.src= blank;
document.images.I.src= blank;
if (t==0) { t=2; myChoice(); }
t--;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=game>
<table border=0>
<td>
<table border=1>
<tr>
<td><a href="javascript:yourChoice('A')"><img src="blank.jpg" border=0 height=100 width=100 name=A alt="Верх-Лево"></a></td>
<td><a href="javascript:yourChoice('B')"><img src="blank.jpg" border=0 height=100 width=100 name=B alt="Верх-Центр"></a></td>
<td><a href="javascript:yourChoice('C')"><img src="blank.jpg" border=0 height=100 width=100 name=C alt="Верх-Право"></a></td>
</tr>
<tr>
<td><a href="javascript:yourChoice('D')"><img src="blank.jpg" border=0 height=100 width=100 name=D alt="Середина-Лево"></a></td>
<td><a href="javascript:yourChoice('E')"><img src="blank.jpg" border=0 height=100 width=100 name=E alt="Середина-Центр"></a></td>
<td><a href="javascript:yourChoice('F')"><img src="blank.jpg" border=0 height=100 width=100 name=F alt="Середина-Право"></a></td>
</tr>
<tr>
<td><a href="javascript:yourChoice('G')"><img src="blank.jpg" border=0 height=100 width=100 name=G alt="Низ-Лево"></a></td>
<td><a href="javascript:yourChoice('H')"><img src="blank.jpg" border=0 height=100 width=100 name=H alt="Низ-Центр"></a></td>
<td><a href="javascript:yourChoice('I')"><img src="blank.jpg" border=0 height=100 width=100 name=I alt="Низ-Право"></a></td>
</tr>
</table>
</td>
<td>
<table>
<tr><td><input type=text size=5 name=you></td><td>Вы</td></tr>
<tr><td><input type=text size=5 name=computer></td><td>Компьютер</td></tr>
<tr><td><input type=text size=5 name=ties></td><td>Ничья</td></tr>
</table>
</td>
</table>
<input type=button value="Хочу играть!" onClick="playAgain();">

<input type=button value="Помощь" onClick="help();">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

o.jpg
x.jpg
blank.jpg


Game65

Простые КРЕСТИКИ-НОЛИКИ, кнопочные.
Игра с компьютером

Содержимое этой таблицы поместите между <BODY> и </BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game64

Парные КРЕСТИКИ-НОЛИКИ

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<SCRIPT name = "JavaScript">
function variables(){
t = 1;
change = 1;
empty1 = -1;
empty2 = -1;
empty3 = -1;
empty4 = -1;
empty5 = -1;
empty6 = -1;
empty7 = -1;
empty8 = -1;
empty9 = -1;
return;
whogoesnow = "Ход: Игрок 1"
}

function win(){
if   (empty1==empty2 && empty2==empty3 && empty3==0 ||
empty4==empty5 && empty5==empty6 && empty6==0 ||
empty7==empty8 && empty8==empty9 && empty9==0 ||
empty1==empty4 && empty4==empty7 && empty7==0 ||
empty2==empty5 && empty5==empty8 && empty8==0 ||
empty3==empty6 && empty6==empty9 && empty9==0 ||
empty1==empty5 && empty5==empty9 && empty9==0 ||
empty3==empty5 && empty5==empty7 && empty7==0 ){
alert ("Игрок 1 ПОБЕДИТЕЛЬ !!!");
document.location.reload()
}
if   (empty1==empty2 && empty2==empty3 && empty3==1 ||
empty4==empty5 && empty5==empty6 && empty6==1 ||
empty7==empty8 && empty8==empty9 && empty9==1 ||
empty1==empty4 && empty4==empty7 && empty7==1 ||
empty2==empty5 && empty5==empty8 && empty8==1 ||
empty3==empty6 && empty6==empty9 && empty9==1 ||
empty1==empty5 && empty5==empty9 && empty9==1 ||
empty3==empty5 && empty5==empty7 && empty7==1 ){
alert ("Игрок 2 ПОБЕДИТЕЛЬ !!!");
document.location.reload()
}
}

function turnchange(t){
if (change == 1)  {
if (t == 0){
t = 1;
whogoesnow = "Ход: Игрок " + 1
}
else {
t = 0;
whogoesnow = "Ход: Игрок " + 2
}

}
else {
t = t;
}
change = 1
return (t);
}

function changing(clicked){
if (clicked == 1){
spot = empty1 ;}
if (clicked == 2){
spot = empty2 ;}
if (clicked == 3){
spot = empty3 ;}
if (clicked == 4){
spot = empty4 ;}
if (clicked == 5){
spot = empty5 ;}
if (clicked == 6){
spot = empty6 ;}
if (clicked == 7){
spot = empty7 ;}
if (clicked == 8){
spot = empty8 ;}
if (clicked == 9){
spot = empty9 ;}

if (spot == -1){
if (t == 0){
xo = "  O  " ;
spot = 0
}
else {
xo = "  X  "  ;
spot = 1
}
if (clicked == 1){
empty1 = spot;}
if (clicked == 2){
empty2 = spot ;}
if (clicked == 3){
empty3 = spot ;}
if (clicked == 4){
empty4 = spot ;}
if (clicked == 5){
empty5 = spot ;}
if (clicked == 6){
empty6 = spot ;}
if (clicked == 7){
empty7 = spot ;}
if (clicked == 8){
empty8 = spot ;}
if (clicked == 9){
empty9 = spot ;}
}
else {
if (spot == 0){
xo = "  O  ";}
if (spot == 1){
xo = "  X  ";}
change = 0
}
return (xo) ;
}

function change_b1(form){
clicked = 1;
changing(clicked) ;
t = turnchange(t) ;
form.b1.value = xo;
form.whoseturn.value = whogoesnow
win();
return;
}
function change_b2(form){
clicked = 2;
changing(clicked) ;
form.b2.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b3(form){
clicked = 3;
changing(clicked) ;
form.b3.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b4(form){
clicked = 4;
changing(clicked) ;
form.b4.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b5(form){
clicked = 5;
changing(clicked) ;
form.b5.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b6(form){
clicked = 6;
changing(clicked) ;
form.b6.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b7(form){
clicked = 7;
changing(clicked) ;
form.b7.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b8(form){
clicked = 8;
changing(clicked) ;
form.b8.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}

function change_b9(form){
clicked = 9;
changing(clicked) ;
form.b9.value = xo;
t = turnchange(t) ;
form.whoseturn.value = whogoesnow
win();
return;
}
</SCRIPT>

<SCRIPT name = "JavaScript">
variables();
</SCRIPT>

<FORM>
<table align=center bgcolor="#808080" border="2"><tr><td align=center>
<input type = "button" name = "whoseturn" value = "Ход: Игрок 1">
<br><br><br><br>
<table bgcolor="#14BAD8" border="2">
<tr><td><input type = "button" style="width:30" name = "b1" value = "
 "		 onClick=change_b1(this.form)>
<td><input type = "button" style="width:30" name = "b2" value = "
 "		 onClick=change_b2(this.form)>
<td><input type = "button" style="width:30" name = "b3" value = "
 "		 onClick=change_b3(this.form)>
<tr><td><input type = "button" style="width:30" name = "b4" value = "
 "		 onClick=change_b4(this.form)>
<td><input type = "button" style="width:30" name = "b5" value = "
 "		 onClick=change_b5(this.form)>
<td><input type = "button" style="width:30" name = "b6" value = "
 "		 onClick=change_b6(this.form)>
<tr><td><input type = "button" style="width:30" name = "b7" value = "
 "		 onClick=change_b7(this.form)>
<td><input type = "button" style="width:30" name = "b8" value = "
 " onClick=change_b8(this.form)>
<td><input type = "button" style="width:30" name = "b9" value = "
 "       onClick=change_b9(this.form)>
</table>
<br><br>
<INPUT TYPE="button" VALUE="Новая игра" onClick="document.location.reload()">
</td></tr></table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game45

5-линейные КРЕСТИКИ-НОЛИКИ
(скрипт очень большой - из файла справки возможна задержка загрузки до 30 сек.!)

Для этой игры Вам придется создать целых три! новых документа. Внимательно читайте заголовки таблиц. В таблицах приведены полные коды этих страниц. Сохраните все файлы, в том числе и рисунки (см. внизу страницы) в одной директории. НЕ МЕНЯЙТЕ ИМЕНА ФАЙЛОВ, если не уверены, что сумеете правильно изменить скрипт.

Основной документ ( FRAMSET) Game45.htm (который будет открываться)

<HTML><HEAD><TITLE>Game45a</TITLE>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
</SCRIPT>

<SCRIPT language=JavaScript>
<!--
if (self.location!=top.location) top.location=''+self.location;

ie4=(navigator.appName.indexOf("Microsoft")!=-1 && parseInt(navigator.appVersion)>3)?true:false;
ie3=(navigator.appName.indexOf("Microsoft")!=-1 && parseInt(navigator.appVersion)<4)?true:false;

boardSize=15;
userSq= 1;
machSq=-1;
blinkSq="b-1";
blinkHint="b1";
myTurn=false;
winningMove=9999999;
openFour =8888888;
twoThrees =7777777;

if (document.images) {
uImg=new Image(); uImg.src='s'+userSq+'.gif';
mImg=new Image(); mImg.src='s'+machSq+'.gif';
uIm1=new Image(); uIm1.src='sb1.gif';
mIm1=new Image(); mIm1.src='sb-1.gif';
bImg=new Image(); bImg.src='s0.gif';
}

f=new Array();
s=new Array();
q=new Array();

iMax=new Array();
jMax=new Array();
nMax=0;

for (i=0;i<20;i++) {
f[i]=new Array();
s[i]=new Array();
q[i]=new Array();
for (j=0;j<20;j++) {
f[i][j]=0;
s[i][j]=0;
q[i][j]=0;
}
}

iLastUserMove=0;
jLastUserMove=0;

function clk(iMove,jMove) {
if (myTurn || autoplayOn) return;
hideHint();

if (f[iMove][jMove]!=0) {alert('Этот квадрат не пустой! Выберите другой.'); return; }
f[iMove][jMove]=userSq;
drawSquare(iMove,jMove,userSq);
myTurn=true;
iLastUserMove=iMove;
jLastUserMove=jMove;

dly=(document.images)?10:boardSize*30;

if (winningPos(iMove,jMove,userSq)==winningMove) setTimeout("gameOver=1;alert('Вы выйграли!');",dly);
else setTimeout("machineMove(iLastUserMove,jLastUserMove);",dly);
}

function getBestMachMove() {
maxS=evaluatePos(s,userSq);
maxQ=evaluatePos(q,machSq);

// alert ('maxS='+maxS+', maxQ='+maxQ);

if (maxQ>=maxS) {
maxS=-1;
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
if (q[i][j]==maxQ) {
if (s[i][j]>maxS) {maxS=s[i][j]; nMax=0}
if (s[i][j]==maxS) {iMax[nMax]=i;jMax[nMax]=j;nMax++}
}
}
}
}
else {
maxQ=-1;
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
if (s[i][j]==maxS) {
if (q[i][j]>maxQ) {maxQ=q[i][j]; nMax=0}
if (q[i][j]==maxQ) {iMax[nMax]=i;jMax[nMax]=j;nMax++}
}
}
}
}
// alert('nMax='+nMax+'\niMax: '+iMax+'\njMax: '+jMax)

randomK=Math.floor(nMax*Math.random());
iMach=iMax[randomK];
jMach=jMax[randomK];
}

function getBestUserMove() {
maxQ=evaluatePos(q,machSq);
maxS=evaluatePos(s,userSq);

if (maxS==-1) {
center=Math.floor(boardSize/2);
s[center][center]=1
maxS=1;
}

if (maxS>=maxQ) {
maxQ=-1;
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
if (s[i][j]==maxS) {
if (q[i][j]>maxQ) {maxQ=q[i][j]; nMax=0}
if (q[i][j]==maxQ) {iMax[nMax]=i;jMax[nMax]=j;nMax++}
}
}
}
}
else {
maxS=-1;
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
if (q[i][j]==maxQ) {
if (s[i][j]>maxS) {maxS=s[i][j]; nMax=0}
if (s[i][j]==maxS) {iMax[nMax]=i;jMax[nMax]=j;nMax++}
}
}
}
}

// alert('nMax='+nMax+'\niMax: '+iMax+'\njMax: '+jMax)

randomK=Math.floor(nMax*Math.random());
iHint=iMax[randomK];
jHint=jMax[randomK];
}

function machineMove(iUser,jUser) {
getBestMachMove();
f[iMach][jMach]=machSq;
if (document.images) {
drawSquare(iMach,jMach,blinkSq);
setTimeout("drawSquare(iMach,jMach,machSq)",900);
}
else {
drawSquare(iMach,jMach,machSq);
}
if (winningPos(iMach,jMach,machSq)==winningMove) setTimeout('gameOver=1;alert("Я выйграл! А Вы - проиграли!!!")',900);
else if (drawPos) setTimeout('gameOver=1;alert("Это рисунок!!!")',900);
else setTimeout("myTurn=false;",950);
}

function hasNeighbors(i,j) {
if (j>0 && f[i][j-1]!=0) return 1;
if (j+1<boardSize && f[i][j+1]!=0) return 1;
if (i>0) {
if (f[i-1][j]!=0) return 1;
if (j>0 && f[i-1][j-1]!=0) return 1;
if (j+1<boardSize && f[i-1][j+1]!=0) return 1;
}
if (i+1<boardSize) {
if (f[i+1][j]!=0) return 1;
if (j>0 && f[i+1][j-1]!=0) return 1;
if (j+1<boardSize && f[i+1][j+1]!=0) return 1;
}
return 0;
}

w=new Array(0,20,17,15.4,14,10);
nPos=new Array();
dirA=new Array();

function winningPos(i,j,mySq) {
test3=0;
test4=0;

L=1;
m=1; while (j+m<boardSize && f[i][j+m]==mySq) {L++; m++} m1=m;
m=1; while (j-m>=0 && f[i][j-m]==mySq) {L++; m++} m2=m;
if (L>4) { return winningMove; }
side1=(j+m1<boardSize && f[i][j+m1]==0);
side2=(j-m2>=0 && f[i][j-m2]==0);

if (L==4 && (side1 || side2)) test3++;
if (side1 && side2) {
if (L==4) test4=1;
if (L==3) test3++;
}

L=1;
m=1; while (i+m<boardSize && f[i+m][j]==mySq) {L++; m++} m1=m;
m=1; while (i-m>=0 && f[i-m][j]==mySq) {L++; m++} m2=m;
if (L>4) { return winningMove; }
side1=(i+m1<boardSize && f[i+m1][j]==0);
side2=(i-m2>=0 && f[i-m2][j]==0);
if (L==4 && (side1 || side2)) test3++;
if (side1 && side2) {
if (L==4) test4=1;
if (L==3) test3++;
}

L=1;
m=1; while (i+m<boardSize && j+m<boardSize && f[i+m][j+m]==mySq) {L++; m++} m1=m;
m=1; while (i-m>=0 && j-m>=0 && f[i-m][j-m]==mySq) {L++; m++} m2=m;
if (L>4) { return winningMove; }
side1=(i+m1<boardSize && j+m1<boardSize && f[i+m1][j+m1]==0);
side2=(i-m2>=0 && j-m2>=0 && f[i-m2][j-m2]==0);
if (L==4 && (side1 || side2)) test3++;
if (side1 && side2) {
if (L==4) test4=1;
if (L==3) test3++;
}

L=1;
m=1; while (i+m<boardSize && j-m>=0 && f[i+m][j-m]==mySq) {L++; m++} m1=m;
m=1; while (i-m>=0 && j+m<boardSize && f[i-m][j+m]==mySq) {L++; m++} m2=m;
if (L>4) { return winningMove; }
side1=(i+m1<boardSize && j-m1>=0 && f[i+m1][j-m1]==0);
side2=(i-m2>=0 && j+m2<boardSize && f[i-m2][j+m2]==0);
if (L==4 && (side1 || side2)) test3++;
if (side1 && side2) {
if (L==4) test4=1;
if (L==3) test3++;
}

if (test4) return openFour;
if (test3>=2) return twoThrees;
return -1;
}

function evaluatePos(a,mySq) {
maxA=-1;
drawPos=true;

for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {

// Compute "value" a[i][j] of the (i,j) move

if (f[i][j]!=0) {a[i][j]=-1; continue;}
if (hasNeighbors(i,j)==0) {a[i][j]=-1; continue;}

wp=winningPos(i,j,mySq);
if (wp>0) a[i][j]=wp;
else {
minM=i-4; if (minM<0) minM=0;
minN=j-4; if (minN<0) minN=0;
maxM=i+5; if (maxM>boardSize) maxM=boardSize;
maxN=j+5; if (maxN>boardSize) maxN=boardSize;

nPos[1]=1; A1=0;
m=1; while (j+m<maxN && f[i][j+m]!=-mySq) {nPos[1]++; A1+=w[m]*f[i][j+m]; m++}
if (j+m>=boardSize || f[i][j+m]==-mySq) A1-=(f[i][j+m-1]==mySq)?(w[5]*mySq):0;
m=1; while (j-m>=minN && f[i][j-m]!=-mySq) {nPos[1]++; A1+=w[m]*f[i][j-m]; m++}
if (j-m<0 || f[i][j-m]==-mySq) A1-=(f[i][j-m+1]==mySq)?(w[5]*mySq):0;
if (nPos[1]>4) drawPos=false;

nPos[2]=1; A2=0;
m=1; while (i+m<maxM && f[i+m][j]!=-mySq) {nPos[2]++; A2+=w[m]*f[i+m][j]; m++}
if (i+m>=boardSize || f[i+m][j]==-mySq) A2-=(f[i+m-1][j]==mySq)?(w[5]*mySq):0;
m=1; while (i-m>=minM && f[i-m][j]!=-mySq) {nPos[2]++; A2+=w[m]*f[i-m][j]; m++}
if (i-m<0 || f[i-m][j]==-mySq) A2-=(f[i-m+1][j]==mySq)?(w[5]*mySq):0;
if (nPos[2]>4) drawPos=false;

nPos[3]=1; A3=0;
m=1; while (i+m<maxM && j+m<maxN && f[i+m][j+m]!=-mySq) {nPos[3]++; A3+=w[m]*f[i+m][j+m]; m++}
if (i+m>=boardSize || j+m>=boardSize || f[i+m][j+m]==-mySq) A3-=(f[i+m-1][j+m-1]==mySq)?(w[5]*mySq):0;
m=1; while (i-m>=minM && j-m>=minN && f[i-m][j-m]!=-mySq) {nPos[3]++; A3+=w[m]*f[i-m][j-m]; m++}
if (i-m<0 || j-m<0 || f[i-m][j-m]==-mySq) A3-=(f[i-m+1][j-m+1]==mySq)?(w[5]*mySq):0;
if (nPos[3]>4) drawPos=false;

nPos[4]=1; A4=0;
m=1; while (i+m<maxM && j-m>=minN && f[i+m][j-m]!=-mySq) {nPos[4]++; A4+=w[m]*f[i+m][j-m]; m++;}
if (i+m>=boardSize || j-m<0 || f[i+m][j-m]==-mySq) A4-=(f[i+m-1][j-m+1]==mySq)?(w[5]*mySq):0;
m=1; while (i-m>=minM && j+m<maxN && f[i-m][j+m]!=-mySq) {nPos[4]++; A4+=w[m]*f[i-m][j+m]; m++;}
if (i-m<0 || j+m>=boardSize || f[i-m][j+m]==-mySq) A4-=(f[i-m+1][j+m-1]==mySq)?(w[5]*mySq):0;
if (nPos[4]>4) drawPos=false;

dirA[1] = (nPos[1]>4) ? A1*A1 : 0;
dirA[2] = (nPos[2]>4) ? A2*A2 : 0;
dirA[3] = (nPos[3]>4) ? A3*A3 : 0;
dirA[4] = (nPos[4]>4) ? A4*A4 : 0;

A1=0; A2=0;
for (k=1;k<5;k++) {
if (dirA[k]>=A1) {A2=A1; A1=dirA[k]}
}
a[i][j]=A1+A2;
}
if (a[i][j]>maxA) {
maxA=a[i][j];
}
}
}
return maxA;
}

function drawSquare(par1,par2,par3) {
if (document.images) {
eval('self.f1.document.s'+par1+'_'+par2+'.src="s'+par3+'.gif"');
}
else setTimeout("writeBoard()",50);
}

hintShown=false;
iHint=jHint=6;

function showHint () {
if (myTurn && autoplayOn) return;
if (hintShown) {hideHint();return;}
hintShown=1;
getBestUserMove();

if (document.images) {
drawSquare(iHint,jHint,blinkHint);
}
}

function hideHint() {
hintShown=0;
drawSquare(iHint,jHint,f[iHint][jHint]);
}

function autoplay() {
if (autoplayOn) {
if (myTurn) {
getBestMachMove();
f[iMach][jMach]=machSq;
drawSquare(iMach,jMach,blinkSq);
timerDR=setTimeout("drawSquare(iMach,jMach,machSq);",900);
if (winningPos(iMach,jMach,machSq)==winningMove) setTimeout('gameOver=1;alert("Player O won!")',900);
else if (drawPos) setTimeout('alert("It\'s a draw!")',900);
else { myTurn=false; timerAP=setTimeout("autoplay()",950); }
}
else {
getBestUserMove();
f[iHint][jHint]=userSq;
drawSquare(iHint,jHint,blinkHint);
timerDR=setTimeout("drawSquare(iHint,jHint,userSq)",900);
if (winningPos(iHint,jHint,userSq)==winningMove) setTimeout('gameOver=1;alert("Player X won!")',900);
else { myTurn=true; timerAP=setTimeout("autoplay()",950); }
}
}
}

autoplayOn=0;
timerAP=0;
function setAutoplay() {
if (gameOver) resetGame();
if (autoplayOn) {
if (myTurn) { setTimeout("setAutoplay()",950); return; }
autoplayOn=0;clearTimeout(timerAP);return;
}
if (document.images) setTimeout("hideHint();autoplayOn=1;autoplay();",100);
else alert('Sorry, Autoplay Mode is not supported for your browser!');
}

buf='';

function writeBoard () {
if (parseInt(navigator.appVersion)>3) docID=top.f1.document.open("text/html","replace");
buf+='<html><head><title>Board</title>';
if (navigator.appName=="Netscape") buf+='<base href="'+top.document.location+'">';
buf+='</head><body bgcolor="#CCCCCC"><a name="s"></a><center><pre';
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
buf+='\n><a href="#s" onClick="top.clk('+i+','+j+');if(top.ie4)this.blur();return false;" ><img name="s'+i+'_'+j+'" src="s'+f[i][j]+'.gif" width=16 height=16 border=0></a';
}
buf+='\n><img src="g.gif" width=1 height=16><br';
if (buf.length>10000) {top.f1.document.writeln(buf); buf='';}
}
buf+='\n><img src="g.gif" width='+(boardSize*16+1)+' height=1></pre></center></body></html>';
top.f1.document.writeln(buf);
top.f1.document.close();
buf='';
}

function resetGame() {
if (autoplayOn) {autoplayOn=0;clearTimeout(timerAP);clearTimeout(timerDR);}
drawPos=0;
myTurn=0;
autoplayOn=0;
gameOver=0;

for (i=0;i<20;i++) {
for (j=0;j<20;j++) {
f[i][j]=0;
}
}

if (!top.f1.document) return;
if (document.images) {
if (!top.f1.document.s9_9) return;
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
eval('self.f1.document.s'+i+'_'+j+'.src=bImg.src');
}
}
}
else writeBoard();
}

function init() {
if (autoplayOn) {autoplayOn=0;clearTimeout(timerAP);clearTimeout(timerDR);}
writeBoard();
resetGame();
}

//-->
</SCRIPT>

<SCRIPT language=JavaScript1.2>
<!--
onresize=function(){if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4)setTimeout("writeBoard()",150);}
//-->
</SCRIPT>

<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD><FRAMESET border=0
frameBorder=0 frameSpacing=0 rows=35,*>
<FRAME marginHeight=1 name=fb scrolling=no src="Game45b.htm">
<FRAME marginHeight=10 name=f1 scrolling=no src="Game45c.htm">
</FRAMESET></HTML>

Страница (frame) Game45b.htm

<HTML><HEAD><title>Game45b</title>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
</HEAD>
<BODY bgColor=#CCCCCC>
<FORM name=form1>
<CENTER>
<TABLE border=0 cellPadding=3 cellSpacing=3>
<TBODY>
<TR>
<TD><FONT face=Arial,Helvetica,sans-serif size=2>Размер:</FONT>&nbsp;<SELECT
onchange=top.boardSize= parseInt(this.options[this.selectedIndex].value);top.init()>
<OPTION value=10>10<OPTION value=11>11<OPTION value=12>12<OPTION
value=13>13<OPTION value=14>14<OPTION selected value=15>15<OPTION
value=16>16<OPTION value=17>17<OPTION value=18>18<OPTION
value=19>19<OPTION value=20>20</OPTION></SELECT> </TD>
<TD><FONT face=Arial,Helvetica,sans-serif size=2><INPUT name=hint onclick="setTimeout('top.showHint()',100)" type=button value=Подсказка></FONT>
</TD>
<TD><FONT face=Arial,Helvetica,sans-serif size=2><INPUT name=newgame onclick="setTimeout('top.resetGame()',100)" type=button value="Новая игра"></FONT>
</TD>
<TD><FONT face=Arial,Helvetica,sans-serif size=2><INPUT name=autoplay onclick=top.setAutoplay() type=button value=Авто-игра></FONT>
</TD></TR></TBODY></TABLE> </CENTER></FORM></BODY></HTML>

Страница (frame) Game45c.htm

<HTML><HEAD><TITLE>Game45c</TITLE>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
<BODY bgColor="#CCCCCC" onload="top.init();">
<P><BR>&nbsp;
<P><BR>&nbsp;
<P><BR>&nbsp;
<P><BR>&nbsp;
<P><BR>&nbsp;
<P><BR>&nbsp;
<CENTER><IMG border=0 height=1 src="g.gif" width=1> <IMG border=0
height=1 src="s0.gif" width=1> <IMG border=0 heigh=1
src="s1.gif" width=1> <IMG border=0 height=1 src="s-1.gif"
width=1> <IMG border=0 height=1 src="sb1.gif" width=1> <IMG border=0
height=1 src="sb-1.gi" width=1> <IMG border=0 height=1
src="adimage.gif" width=1> </CENTER></BODY></HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки,использованные в примере: krestiki.zip


Game3

Пятнашки
Любимая народная игра... А играть в нее мы будем не мышкой, а кнопочками с клавиатуры - есть там такие, со стрелочками вверх, вниз, вправо и влево. А перед тем, как их нажимать кликнем разочек по "пятнашкам" для активации игрушки. Вот. собственно, и все. Перемещать "пятнашки" по странице (разумеется, в режиме edit) можно изменяя выделенные белым цветом значения. Только MSIE

8

6

13

11

10

12

1

9

4

2

14

5

7

3

15

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: John Chacko (johns221b@yahoo.com) -->
<!-- Web Site: http://holmes221b.50megs.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var blank_pos = 16, count = 0, pos = new Array(), nam = new Array();
pos[1] = 7;
pos[2] = 10;
pos[3] = 14;
pos[4] = 9;
pos[5] = 12;
pos[6] = 2;
pos[7] = 13;
pos[8] = 1;
pos[9] = 8;
pos[10] = 5;
pos[11] = 4;
pos[12] = 6;
pos[13] = 3;
pos[14] = 11;
pos[15] = 15;
function start() {
nam[1] = L1.style;
nam[2] = L2.style;
nam[3] = L3.style;
nam[4] = L4.style;
nam[5] = L5.style;
nam[6] = L6.style;
nam[7] = L7.style;
nam[8] = L8.style;
nam[9] = L9.style;
nam[10] = L10.style;
nam[11] = L11.style;
nam[12] = L12.style;
nam[13] = L13.style;
nam[14] = L14.style;
nam[15] = L15.style;
document.onkeydown = keyDown;
}
function keyDown() {
var ieKey = event.keyCode;
if (ieKey == 38) {
if (blank_pos < 13) {
count=blank_pos + 4;
X = fun(count);
Z = (parseInt(nam[X].top));
nam[X].top = Z - 52;
Q = pos[X];
pos[X] = blank_pos;
blank_pos = Q;
}
}
else if (ieKey == 40) {
if (blank_pos > 4) {
count = blank_pos - 4;
X = fun(count);
Z = (parseInt(nam[X].top));
nam[X].top = Z + 52;
Q = pos[X];
pos[X] = blank_pos;
blank_pos = Q;
}
}
else if (ieKey == 37) {
r = blank_pos % 4
if (r == 0) {
}
else {
count = blank_pos + 1;
X = fun(count);
Z = (parseInt(nam[X].left));
nam[X].left = Z - 52;
Q = pos[X];
pos[X] = blank_pos;
blank_pos = Q;
}
}
else if (ieKey == 39) {
ch = blank_pos + 3;
r = ch % 4;
if (r == 0) {
}
else {
count = blank_pos - 1;
X = fun(count);
Z = (parseInt(nam[X].left));
nam[X].left = Z + 52;
Q = pos[X];
pos[X] = blank_pos;
blank_pos = Q;
}
}
else {
alert("Не ту кнопку нажимаете!");
}
A = false;
b = 0;
for (i = 1; i < 16; i++) {
b++;
if (pos[i] == b) {
A = true;
}
else {
A = false;
break;
}
}
if (A)alert("Поздравляем!");
}
function fun(count) {
for (var i = 1; i < 16; i++) {
if (pos[i] == count) {
var X = i;
}
}
return X;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="start()">

<div style="position: absolute; left:70; top:165">
<div ID="L8" STYLE="position: absolute; left: 0; top: 0; width: 50; height: 50; background-color: green">
<br><b><center>8</center>
</div>
<div ID="L6" STYLE="position: absolute; left: 53; top: 0; width: 50; height: 50; background-color: green">
<br><b><center>6</center>
</div>
<div ID="L13" STYLE="position: absolute; left: 106; top: 0; width: 50; height: 50; background-color: green">
<br><b><center>13</center>
</div>
<div ID="L11" STYLE="position: absolute; left: 159; top: 0; width: 50; height: 50; background-color: green">
<br><b><center>11</center>
</div>
<div ID="L10" STYLE="position: absolute; left: 0; top: 52; width: 50; height: 50; background-color: green">
<br><b><center>10</center>
</div>
<div ID="L12" STYLE="position: absolute; left: 53; top: 52; width: 50; height: 50; background-color: green">
<br><b><center>12</center>
</div>
<div ID="L1" STYLE="position: absolute; left: 106; top: 52; width: 50; height: 50; background-color: green">
<br><b><center>1</center>
</div>
<div ID="L9" STYLE="position: absolute; left: 159; top: 52; width: 50; height: 50; background-color: green">
<br><b><center>9</center>
</div>
<div ID="L4" STYLE="position: absolute; left: 0; top: 104; width: 50; height: 50; background-color: green">
<br><b><center>4</center>
</div>
<div ID="L2" STYLE="position: absolute; left: 53; top: 104; width: 50; height: 50; background-color: green">
<br><b><center>2</center>
</div>
<div ID="L14" STYLE="position: absolute; left: 106; top: 104; width: 50; height: 50; background-color: green">
<br><b><center>14</center>
</div>
<div ID="L5" STYLE="position: absolute; left: 159; top: 104; width: 50; height: 50; background-color: green">
<br><b><center>5</center>
</div>
<div ID="L7" STYLE="position: absolute; left: 0; top: 156; width: 50; height: 50; background-color: green">
<br><b><center>7</center>
</div>
<div ID="L3" STYLE="position: absolute; left: 53; top: 156; width: 50; height: 50; background-color: green">
<br><b><center>3</center>
</div>
<div ID="L15" STYLE="position: absolute; left: 106; top: 156; width: 50; height: 50; background-color: green">
<br><b><center>15</center>
</div></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game30

Пятнашки - Алфавит
(обычные пятнашки с буквами вместо цифр)

Пятнашки-Алфавит

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=pad>
<table border=0 cellpadding=2 cellspacing=2 style='background:#14BAD8'>
<tr>
<td colspan=4 align=center style='background-color: #FFFFA4; background-repeat: repeat; background-attachment: scroll; border: 3 outset #DDFFFF; background-position: 0% 50%'><strong>Пятнашки-Алфавит</strong></td>
</tr>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Dion -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
bx=3; by=3;
for (y=0;y<4;y++) {
document.write('<tr>');
for (x=0;x<4;x++) {
document.write('<td align=center><tt><input type=button style=\"width:30\" value=" " ');
document.write('onclick="move('+x+','+y+');"></tt></td>');
}
document.write('</tr>');
}
function move(x,y) {
ax=Math.abs(bx-x);
ay=Math.abs(by-y);
if (((ax*ay)==0)&&((ax+ay)==1)) {
f=document.pad;
f.elements[4*by+bx].value=f.elements[4*y+x].value;
f.elements[4*y+x].value=" ";
bx=x; by=y; f.msg.value++;
}
}
function rndize() {
alpha="АБВГДЕЖЗИКЛМНОП ";
for (i=0;i<16;i++) {
x=0;
y=0;
while (document.pad.elements[4*y+x].value!=" ") {
x=Math.floor(Math.random()*4);
y=Math.floor(Math.random()*4);
}
document.pad.elements[4*y+x].value=alpha.substring(i,i+1);
}
bx=x;
by=y;
}
rndize();
// End -->
</script>

<tr>
<td colspan=4><input type=text size=20 name=msg></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game17

Волшебный квадрат
("Пятнашки", если по-русски...)

Вместо пустышки - 0

Количество ходов:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Roger Zeitel (rzeitel@mars.superlink.net) -->
<!-- Web Site: http://mars.superlink.net/rzeitel/games.html -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i]
}
var pos = new initArray(9,9,9,9,9,9,9,9,9);
var nummoves= 0;
function random() {
today = new Date();
num = today.getTime();
num = Math.round(Math.abs(Math.sin (num)*1000000)) % 9;
return num;
}
function display(pos) {
for (var i=0; i<9; i++) {
document.forms[0].elements[i].value = pos[i];
}
document.forms[0].moves.value= nummoves;
win();
}
function move(num) {
if (num < 8 && pos[num+1]==0) {
pos[num+1]= pos[num];
pos[num]= 0;
nummoves++;
}
else if (num > 0 && pos[num-1]==0) {
pos[num-1]= pos[num];
pos[num]= 0;
nummoves++;
}
else if (num > 2 && pos[num-3]==0) {
pos[num-3]= pos[num];
pos[num]= 0;
nummoves++;
}
else if (num < 6 && pos[num+3]==0 ) {
pos[num+3]= pos[num];
pos[num]= 0;
nummoves++;
}
display(pos);
}
function win() {
if (pos[0]== 1 & pos[1]== 2 & pos[2]== 3 & pos[3]== 4 &
pos[4]== 5 & pos[5]== 6 & pos[6]== 7 & pos[7]== 8 & pos[8]== 0) {
if (confirm('You did it! Do you want to restart?')) newgame();
}
}
function newgame() {
var x=1;
for (var i=0; i<9; i++) {
pos[i]=9;
}
for (var i=0; i<9;i++) {
randomnum=random();
if (randomnum==9) randomnum=8;
x=1;
for (var j=0; j<9; j++) {
if (j==i)
continue;
if (randomnum==pos[j]) {
x=0;
break;
}
}
if (x==0) {
i--;
continue;
}
pos[i]=randomnum;
}
nummoves=0;
display(pos);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.newgame()">

<CENTER>
<h1 align=center><b><font color="#FF0000" size="5">Волшебный
квадрат</font></b><BR>
<font size="3" color="#000000">
(&quot;Пятнашки&quot;, если по-русски...)</h1><p>
&nbsp;
<FORM>
<table border=0 celpadding=0 cellspacing=10 bgcolor="#CCCCCC">
<tr><td>
<input type="button" value=" 1 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(0)"><input type="button" value=" 2 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(1)"><input type="button" value=" 3 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(2)"><br>
<input type="button" value=" 4 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(3)"><input type="button" value=" 5 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(4)"><input type="button" value=" 6 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(5)"><br>
<input type="button" value=" 7 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(6)"><input type="button" value=" 8 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(7)"><input type="button" value=" 0 " style="width: 40; height: 40; font-size: 24pt; background-color: #747474; color: #CCCCCC; border: 1 solid #C0C0C0" onClick="window.move(8)"><p>
</td>
</tr>
<tr><td align=center><tt>
</tt>
</font>
<tt>
<font color="#000000" size="1">
Количество ходов:</font></tt>
<font size="3" color="#000000">
<br>
<input name="moves" size=7 value="0"> <p>
<font size="3" color="#000000">
<input type="button" value="Новая игра" onClick="window.newgame()">
</font>
</font>
</td>
</tr>
</table>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game38

Пятнашки 4
(классические, с использованием рисунков)

Пятнашки
Цель игры: передвигая костяшки (нажатием
кнопки мышки на костяшку рядом с пустой), добится
одной из следующих комбинаций.

1, 2, 3, 4
5, 6, 7, 8
9,10,11,12
13,14,15

1, 2, 3, 4
5, 6, 7, 8
9,10,11,12
13,15,14

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript"><!--
str_vict="Вы ЭТО сделали";
function zamen(n){
var n2 ;
for ( var i=0; 16>i; ++i ){if (document.images[i].name=="16"){n2=i;}}
if ((n-n2==4) || (n2-n==4) || ((n-n2==1)&&(Math.floor(n/4)==Math.floor(n2/4))) || ((n2-n==1)&&(Math.floor(n/4)==Math.floor(n2/4))) ){
document.images[n2].src = "fift"+document.images[n].name+".gif";
document.images[n].src = "fift16.gif";
document.images[n2].name = document.images[n].name;
document.images[n].name = "16";
}
n2=0
for ( var i=0; 13>i; ++i ){if (document.images[i].name==i+1){n2=++n2;}}
if ((n2==13) && (document.images[15].name==16)) {alert(str_vict);zan();}
}
function zan(){
var p1 = new Image();var p2 = new Image();var imgs_ = new Image();var name_;
for ( var i=0; 50>i; ++i ){
p1 = Math.floor(Math.random()*16);p2 = Math.floor(Math.random()*16);
imgs_ = document.images[p1].src;document.images[p1].src = document.images[p2].src;document.images[p2].src = imgs_;
name_ = document.images[p1].name;document.images[p1].name = document.images[p2].name;document.images[p2].name = name_;
}
}
//--></script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div align="center"><center>

<table border="2" width="293" height="441">
<tr>
<td width="298" align="center" height="280"><img src="fift1.gif" onclick="zamen(0)" name="1" width="70" height="70"><img
src="fift2.gif" onclick="zamen(1)" name="2" width="70" height="70"><img src="fift3.gif"
onclick="zamen(2)" name="3" width="70" height="70"><img src="fift4.gif" onclick="zamen(3)"
name="4" width="70" height="70"><br>
<img src="fift5.gif" onclick="zamen(4)" name="5" width="70" height="70"><img
src="fift6.gif" onclick="zamen(5)" name="6" width="70" height="70"><img src="fift7.gif"
onclick="zamen(6)" name="7" width="70" height="70"><img src="fift8.gif" onclick="zamen(7)"
name="8" width="70" height="70"><br>
<img src="fift9.gif" onclick="zamen(8)" name="9" width="70" height="70"><img
src="fift10.gif" onclick="zamen(9)" name="10" width="70" height="70"><img src="fift11.gif"
onclick="zamen(10)" name="11" width="70" height="70"><img src="fift12.gif"
onclick="zamen(11)" name="12" width="70" height="70"><br>
<img src="fift13.gif" onclick="zamen(12)" name="13" width="70" height="70"><img
src="fift14.gif" onclick="zamen(13)" name="14" width="70" height="70"><img
src="fift15.gif" onclick="zamen(14)" name="15" width="70" height="70"><img
src="fift16.gif" onclick="zamen(15)" name="16" width="70" height="70">
</td></tr><tr>
<td bgcolor="#FFFF00" width="294" height="147"><div><p align="center"><font face="Fixedsys" size="1">Пятнашки</font><font
face="MS Sans Serif" size="1"><br>
Цель игры: передвигая костяшки (нажатием<br>
кнопки мышки на костяшку рядом с пустой), добится<br>
одной из следующих комбинаций.<br>
</font></p>
</div>

<table width="279">
<tr>
<td bgcolor="#FFFF00" width="135"><p align="center"><font face="MS Sans Serif" size="1">1, 2, 3, 4<br>
5, 6, 7, 8<br>
9,10,11,12<br>
13,14,15 </font></td>
<td bgcolor="#FFFF00" width="130"><p align="center"><font face="MS Sans Serif" size="1">1, 2, 3, 4<br>
5, 6, 7, 8<br>
9,10,11,12<br>
13,15,14</font></td>
</tr>
</table></tr>
<td width="294" height="1">
<input type="button" onclick="zan()" style="font-size: 1; font-weight: bold"
value="Новая игра">
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: patnashki.zip


Game51

Пятнашки с рисунуами 2
(Автор Овсянников Антон)

Нажмите кнопку.

Код игрушки скопируйте прямо из источника страницы с игрой "ПЯТНАШКИ". Не следует ничего менять- страница оптимизирована - просто создайте новый документ. Рисунки, использованные в игре: ruspyat.zip


Game42

ТЕТРИС
Нажмите кнопку для игры.

(скрипт очень большой - в файле справки возможна задержка загрузки до 20 сек.!)

(неправильный выбор браузера не позволит начать игру)

Чтобы поместить игру на свой сайт Вам придется скопировать оба кода: для страницы с ТЕТРИСОМ для IE и для страницы с ТЕТРИСОМ для NS. Коды возьмите из источника страниц для каждого из браузеров нажав соответствующие кнопки.
Совет. Во-первых, не пытайтесь выделить в кодах страниц "нужные" и "не нужные" элементы - копируйте код целиком. Во-вторых, используйте редирект по типу браузера (скрипт приведен в разделе "Редирект" этой БИБЛИОТЕКИ) для автоматического открытия страницы с ТЕТРИСОМ, соответствующей типу браузера посетителя.

Рисунки, использованные в примере: tetrisNE.zip


Game43

ТЕТРИС 2
Нажмите кнопку для игры

Код игрушки скопируйте прямо из источника страницы с ТЕТРИСОМ. Не следует ничего в нем менять- там все отлажено - просто создайте новый документ.


Game46

ТЕТРИС 3
"Нетрикс Делюкс"

(скрипт очень большой - из файла справки возможна задержка загрузки до 20 сек.!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT language=JavaScript>
<!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.
// Permission given to use the script provided that this notice remains as is.

var statistics = new Array(7)
for (var shapeNum = 0; shapeNum < 7; ++shapeNum) {
statistics[shapeNum] = 0
}

var paused = false

var timerRunning = false

var shape = -1

var timerID = null

var on = new Array()
on[0] = new Image(12, 12)
on[1] = new Image(12, 12)
on[2] = new Image(12, 12)
on[3] = new Image(12, 12)
on[4] = new Image(12, 12)
on[5] = new Image(12, 12)
on[6] = new Image(12, 12)

var off = new Image(12, 12)

on[0].src = "10.gif"
on[1].src = "11.gif"
on[2].src = "12.gif"
on[3].src = "13.gif"
on[4].src = "14.gif"
on[5].src = "15.gif"
on[6].src = "16.gif"
off.src = "000.gif"

var firstImage = document.images.length

drawScreen()

var ar = new Array()
for (var i = 0; i < 10; ++i) {
ar[i] = new Array(19)
for (var j = 0; j < 19; ++j) {
ar[i][j] = 0
}
}

function drawScreen() {
with (document) {
write('<CENTER>')

write('<TABLE BORDER=2 BGCOLOR=gray CELLPADDING=0 CELLSPACING=0><TR><TD BGCOLOR=#D5D8C0>')

for (var i = 0; i < 19; ++i) {
for (var j = 0; j < 10; ++j) {
write('<IMG SRC=' + off.src + ' HEIGHT=' + off.height + ' WIDTH=' + off.width + '>')
}
write('<BR>')
}

write('</TD><TD VALIGN="top" ALIGN="center">')

write('<B><FONT FACE=Helvetica SIZE=+ COLOR=lime><FONT SIZE=+2 COLOR=lime>Н</FONT>ЕТРИКС <FONT SIZE=+2 COLOR=lime>Д</FONT>ЕЛЮКС</B></FONT><BR>')

write('<FORM NAME="lineslevel"><TABLE BORDER=0 CELLPADDING=5 CELLSPACING=0>')

write('<TR><TD WIDTH=100 ALIGN="center"><FONT COLOR=#CCCCCC SIZE=2>ЛИНИИ</FONT><BR><INPUT TYPE="text" NAME="lines" VALUE="" SIZE=5></TD>')

write('<TD WIDTH=100 ALIGN="center"><FONT COLOR=#CCCCCC SIZE=2>УРОВЕНЬ</FONT><BR><INPUT TYPE="text" NAME="level" VALUE="" SIZE=5></TD></TR>')

write('<TR><TD WIDTH=100 ALIGN="center"><A HREF="javascript:start()" onMouseOver="window.status=\'СТАРТ\'; return true">')

write('<IMG SRC="start.gif" WIDTH=72 HEIGHT=24 BORDER=0></A></TD>')

write('<TD WIDTH=100 ALIGN="center"><A HREF="javascript:pause()" onMouseOver="window.status=\'Стоп / Продолжить\'; return true">')

write('<IMG SRC="pause.gif" WIDTH=72 HEIGHT=24 BORDER=0></A></TD></TR>')

write('</TABLE></FORM>')

write('<FORM NAME="stats"><TABLE BORDER=0 CELLPADDING=5 CELLSPACING=0><TR>')

for (var k = 0; k < 7; ++k) {
write('<TD ALIGN="center"><IMG SRC="' + on[k].src + '" HEIGHT=' + on[k].height + ' WIDTH=' + on[k].width + '></TD>')
}

write('</TR><TR>')

for (var l = 0; l < 7; ++l) {
write('<TD ALIGN="center"><INPUT TYPE="text" SIZE=2 VALUE="0" NAME="' + l + '"></TD>')
}

write('</TR></TABLE></FORM>')

write('</TD></TR><TR><TD>')

write('<CENTER>')

write('<TABLE BORDER=0>')

write('<TR><TD><A HREF="javascript:moveX(-1)" onMouseOver="window.status=\'Двигать влево\'; return true" onMouseOut="window.status=\'\'; return true"><IMG SRC="left.gif" WIDTH=24 HEIGHT=24 BORDER=0></A></TD>')

write('<TD><A HREF="javascript:rotate()" onMouseOver="window.status=\'Вращать\'; return true" onMouseOut="window.status=\'\'; return true"><IMG SRC="rotate.gif" WIDTH=24 HEIGHT=24 BORDER=0></A></TD>')

write('<TD><A HREF="javascript:moveX(1)" onMouseOver="window.status=\'Двигать вправо\'; return true" onMouseOut="window.status=\'\'; return true"><IMG SRC="right.gif" WIDTH=24 HEIGHT=24 BORDER=0></A></TD></TR>')

write('<TR><TD></TD><TD><A HREF="javascript:moveY()" onMouseOver="window.status=\'Двигать вниз\'; return true" onMouseOut="window.status=\'\'; return true"><IMG SRC="down.gif" WIDTH=24 HEIGHT=24 BORDER=0></A></TD><TD></TD></TR>')

write('</TABLE>')

write('</CENTER>')

write('</TD><TD ALIGN="center"><FONT SIZE=2>JavaScript код: Tomer Shiran<BR>Графика: Dr. Clue</FONT></TD></TR></TABLE>')

write('</CENTER>')
}
}

function computeIndex(x, y) {
return (y * 10 + x) + firstImage
}

function state(x, y) {
var source = document.images[computeIndex(x, y)].src

return (source.charAt(source.lastIndexOf('/') + 1) == '0') ? false : true
}

function setSquare(x, y, state) {
if (state == 0)
document.images[computeIndex(x, y)].src = off.src
else
document.images[computeIndex(x, y)].src = on[shape].src

ar[x][y] = state
}

function clearActive() {
for (var i = 0; i < 10; ++i) {
for (var j = 0; j < 19; ++j) {
ar[i][j] = 0
}
}

shape = -1
}

function checkMoveX(step) {
for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 19; ++y) {
if (ar[x][y] == 1) {
if (x + step < 0 || x + step > 9 || (state(x + step, y) && ar[x + step][y] == 0))
return false
}
}
}

return true
}

function checkMoveY() {
var step = 1

for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 19; ++y) {
if (ar[x][y] == 1) {
if (y + step > 18 || (state(x, y + step) && ar[x][y + step] == 0))
return false
}
}
}

return true
}

function moveX(step) {
if (!checkMoveX(step))
return

if (step < 0) {
for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 19; ++y) {
if (ar[x][y] == 1)
smartX(x, y, step)
}
}
} else

if (step > 0) {
for (var x = 9; x >= 0; --x) {
for (var y = 0; y < 19; ++y) {
if (ar[x][y] == 1)
smartX(x, y, step)
}
}
}
}

function smartX(x, y, step) {
if (step < 0)
if (ar[x + step][y] == 0)
if (x != 9 && ar[x - step][y] == 1)
setSquare(x + step, y, 1)
else
warp(x, y, x + step, y)
else
if (x == 9 || ar[x - step][y] == 0)
setSquare(x, y, 0)

if (step > 0)
if (ar[x + step][y] == 0)
if (x != 0 && ar[x - step][y] == 1)
setSquare(x + step, y, 1)
else
warp(x, y, x + step, y)
else
if (x == 0 || ar[x - step][y] == 0)
setSquare(x, y, 0)
}

function moveY() {
if (!checkMoveY()) {
clearActive()

return
}

for (var y = 18; y >= 0; --y) {
for (var x = 0; x < 10; ++x) {
if (ar[x][y] == 1)
smartY(x, y)
}
}
}

function smartY(x, y) {
if (ar[x][y + 1] == 0)
if (y != 0 && ar[x][y - 1] == 1)
setSquare(x, y + 1, 1)
else
warp(x, y, x, y + 1)
else
if (y == 0 || ar[x][y - 1] == 0)
setSquare(x, y, 0)
}

function shapeMap() {
var minX = 9
var minY = 18
var maxX = 0
var maxY = 0

for (var y = 0; y < 19; ++y) {
for (var x = 0; x < 10; ++x) {
if (ar[x][y] == 1) {
if (x < minX)
minX = x
if (x > maxX)
maxX = x
if (y < minY)
minY = y
if (y > maxY)
maxY = y
}
}
}

this.length = maxX - minX + 1

this.offsetX = minX
this.offsetY = minY

for (x = 0; x <= maxX - minX; ++x) {
this[x] = new Array()
for (y = 0; y <= maxY - minY; ++y) {
this[x][y] = ar[x + minX][y + minY]
}
}
}

function getRandom() {
var randomNum = Math.round(Math.random() * 8)

if (randomNum == 0 || randomNum == 8)
return getRandom()

randomNum--

statistics[randomNum]++

for (var shape = 0; shape < 7; ++shape) {
document.stats[shape].value = statistics[shape]
}

return randomNum
}

function insertShape() {
shape = getRandom()

if (shape == 0) {
if (state(3, 2) || state(3, 2) || state(3, 2) || state(3, 2))
return false
setSquare(3, 2, 1)
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(6, 2, 1)
} else

if (shape == 1) {
if (state(4, 2) || state(5, 2) || state(4, 3) || state(5, 3))
return false
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(4, 3, 1)
setSquare(5, 3, 1)
} else

if (shape == 2) {
if (state(3, 2) || state(4, 2) || state(5, 2) || state(3, 3))
return false
setSquare(3, 2, 1)
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(3, 3, 1)
} else

if (shape == 3) {
if (state(3, 2) || state(4, 2) || state(4, 3) || state(5, 3))
return false
setSquare(3, 2, 1)
setSquare(4, 2, 1)
setSquare(4, 3, 1)
setSquare(5, 3, 1)
} else

if (shape == 4) {
if (state(4, 2) || state(5, 2) || state(3, 3) || state(4, 3))
return false
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(3, 3, 1)
setSquare(4, 3, 1)
} else

if (shape == 5) {
if (state(3, 2) || state(4, 2) || state(5, 2) || state(4, 3))
return false
setSquare(3, 2, 1)
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(4, 3, 1)
} else

if (shape == 6) {
if (state(3, 2) || state(4, 2) || state(5, 2) || state(5, 3))
return false
setSquare(3, 2, 1)
setSquare(4, 2, 1)
setSquare(5, 2, 1)
setSquare(5, 3, 1)
}

return true
}

function complexWarp() {
for (var i = 0; i < arguments.length; i += 4) {
if (!checkWarp(arguments[i], arguments[i + 1], arguments[i + 2], arguments[i + 3]))
return
}

for (var i = 0; i < arguments.length; i += 4) {
warp(arguments[i], arguments[i + 1], arguments[i + 2], arguments[i + 3])
}
}

function checkWarp(startX, startY, endX, endY) {
if (endX < 0 || endX > 9 || endY < 0 || endY > 18 || state(endX, endY))
return false

return true
}

function rotate() {
var curMap = new shapeMap()

if (shape == 0)
if (curMap.length == 4)
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY - 1, curMap.offsetX + 3, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY - 2)
else
complexWarp(curMap.offsetX, curMap.offsetY + 3, curMap.offsetX - 1, curMap.offsetY + 2, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 2)

if (shape == 1)
return

if (shape == 2)
if (state(curMap.offsetX, curMap.offsetY) && curMap.length == 3)
complexWarp(curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY - 1, curMap.offsetX, curMap.offsetY, curMap.offsetX, curMap.offsetY - 1)
else
if (state(curMap.offsetX + 1, curMap.offsetY) && curMap.length == 2)
complexWarp(curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 1)
else
if (curMap.length == 3)
complexWarp(curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 2, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY + 2)
else
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 2, curMap.offsetX - 1, curMap.offsetY + 2, curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX - 1, curMap.offsetY + 1)

if (shape == 3)
if (curMap.length == 3)
complexWarp(curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY - 1)
else
complexWarp(curMap.offsetX, curMap.offsetY + 2, curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 2)

if (shape == 4)
if (curMap.length == 3)
complexWarp(curMap.offsetX, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX, curMap.offsetY - 1)
else
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 2)

if (shape == 5)
if (curMap.length == 3 && state(curMap.offsetX, curMap.offsetY))
complexWarp(curMap.offsetX + 2, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY - 1)
else
if (curMap.length == 2 && state(curMap.offsetX + 1, curMap.offsetY))
complexWarp(curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX + 2, curMap.offsetY + 1)
else
if (curMap.length == 3)
complexWarp(curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY + 2)
else
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX - 1, curMap.offsetY + 1)

if (shape == 6)
if (curMap.length == 3 && state(curMap.offsetX + 1, curMap.offsetY))
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX + 2, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY - 1)
else
if (curMap.length == 2 && state(curMap.offsetX + 1, curMap.offsetY + 1))
complexWarp(curMap.offsetX, curMap.offsetY + 2, curMap.offsetX, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY + 2, curMap.offsetX, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 1)
else
if (curMap.length == 3)
complexWarp(curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 2)
else
complexWarp(curMap.offsetX, curMap.offsetY, curMap.offsetX + 1, curMap.offsetY + 1, curMap.offsetX + 1, curMap.offsetY, curMap.offsetX + 2, curMap.offsetY + 1, curMap.offsetX, curMap.offsetY + 2, curMap.offsetX + 2, curMap.offsetY + 2)
}

function flood(state) {
for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 19; ++y) {
if (state == 0)
document.images[computeIndex(x, y)].src = off.src
else
document.images[computeIndex(x, y)].src = on[3].src
}
}
}

function noActive() {
for (var y = 0; y < 19; ++y) {
for (var x = 0; x < 10; ++ x) {
if (ar[x][y] == 1)
return false
}
}

return true
}

function isLine(y) {
for (var x = 0; x < 10; ++x) {
if (!state(x, y))
return false
}

return true
}

function warp(startX, startY, endX, endY) {
document.images[computeIndex(endX, endY)].src = document.images[computeIndex(startX, startY)].src
document.images[computeIndex(startX, startY)].src = off.src

ar[endX][endY] = 1

ar[startX][startY] = 0
}

function start() {
tempLevel = prompt("Введите уровень игры (0 - 10):", "0")

if (!tempLevel)
return

level = tempLevel

clearActive()
flood(0)
clearTimeout(timerID)

for (var i = 0; i < 7; ++i) {
statistics[i] = 0
}

level = parseInt(level)

speed = 800 - (level * 80)

lines = 0

timerRunning = true

paused = false

play()
}

function dropLines() {
var aLine = -1

for (var y = 0; y < 19; ++y) {
if (isLine(y)) {
aLine = y
break
}
}

if (aLine != -1) {
lines++

if (lines > level * 10 + 9)
level++

if (level == 11)
alert("Да Вы просто чемпион!!!")

for (y = aLine - 1; y >= 0; --y) {
for (var x = 0; x < 10; ++x) {
if (state(x, y))
warp(x, y, x, y + 1)
else {
setSquare(x, y + 1, 0)
}
}
}

dropLines()
}

clearActive()
}

function play() {
document.lineslevel.lines.value = lines
document.lineslevel.level.value = level

if (noActive()) {
dropLines()

if (!insertShape()) {
flood(1)

flood(0)

alert('Game over!\r\rlevel = ' + level + '\rlines = '+ lines)

clearTimeout(timerID)

timerRunning = false

return
}
} else
moveY()

timerID = setTimeout('play()', speed)
}

function characteristics(x, y) {
this.state = state(x, y)

if (state(x, y)) {
var src = document.images[computeIndex(x, y)].src

var color = src.charAt(src.lastIndexOf('/') + 2)

} else
color = -1

this.color = parseInt(color)

this.activity = ar[x][y]
}

function fullMap() {
for (var x = 0; x < 10; ++x) {
this[x] = new Array(10)
for (var y = 0; y < 19; ++y) {
this[x][y] = new characteristics(x, y)
}
}

this.shape = shape
}

function pause() {
if (!paused) {
clearTimeout(timerID)

paused = true

map = new fullMap()

flood(1)

clearActive()

alert('Черт! Начальник идет!...')
} else {
for (var x = 0; x < 10; ++x) {
for (var y = 0; y < 19; ++y) {
if (!map[x][y].state)
document.images[computeIndex(x, y)].src = off.src
else
document.images[computeIndex(x, y)].src = on[map[x][y].color].src

ar[x][y] = map[x][y].activity
}
}
shape = map.shape

paused = false

play()
}
}

// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в игре: tetris.zip


Game47

ТЕТРИС 4
(с использованием большого количества рисунков)

Нажмите кнопку для игры

(скрипт очень большой - из файла справки возможна задержка загрузки до 30 сек.!)

Код игрушки скопируйте прямо из источника страницы с ТЕТРИСОМ. Не следует ничего менять- страница оптимизирована - просто создайте новый документ. Рисунки, использованные в игре: tetris_img.zip


Game10

Falcon-fighter
Управление игрой осуществляется клавишами, поэтому располагать игру следует в отдельном документе; нажмите кнопку и в появившемся окне прочтите инструкцию.

Содержимое этого поля формы является полным кодом страницы с игрой

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: falcon.zip


Game78

P-MAN

Старая известная игра. JS версия, конечно, попроще..., но тоже выглядит симпатично. Игра рассчитана на Netscape 3.0, но идет во всех современных браузерах! Возможно, где-то, когда-то и подглючивает, но мне не "посчастливилось" заметить... Распакуйте архив с рисунками. Затем создайте HTML документы, полные коды которых даны в таблицах. Не переименовывайте их! Наконец сохраните все в одной директории. Запускается файл Game78a.htm (его, кстати, можете переименовать).

Game78a.htm

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>P-MAN</TITLE>

</HEAD>
<FRAMESET cols="336,*">
<FRAME SRC="pman.html" NAME="Pman" NORESIZE SCROLLING="NO">
<FRAME SRC="pcontrol.html" NAME="Pcontrol" NORESIZE SCROLLING="NO">
<noframes>
Для игры требуется Netscape 3.0 или выше.

</NOFRAME>
</noframes>
</FRAMESET>
<NOFRAME>
</HTML>

pcontrol.html

 <HTML>
<FORM NAME="Pcontrol">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Pcontrol</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerINT = 20                               //interval (ms)

var playflag=0;
var inkey=0
var tkey = "1"

var icons = new Array(20);                          //btn image
icons[1]=new Image();icons[1].src="btn14.gif";
icons[2]=new Image();icons[2].src="btn11.gif";
icons[3]=new Image();icons[3].src="btn12.gif";
icons[4]=new Image();icons[4].src="btn13.gif";
icons[11]=new Image();icons[11].src="btn24.gif";
icons[12]=new Image();icons[12].src="btn21.gif";
icons[13]=new Image();icons[13].src="btn22.gif";
icons[14]=new Image();icons[14].src="btn23.gif";

systm=""
ver=navigator.appVersion
Nv=ver.charAt(0)
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()

if (systm != "C"){if (Nv >= 4){
document.onkeydown = keyDown
document.captureEvents(Event.KEYDOWN)
}}

function keyDown(DnEvents){
k=DnEvents.which
if (k == 52){keyscan(1)}                    //4
if (k == 56){keyscan(2)}                    //8
if (k == 54){keyscan(3)}                    //6
if (k == 50){keyscan(4)}                    //2
}

function interval1(){
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
clearTimeout(timerID)
//10key scan
if (systm == "C"){Nv=3}
if (Nv <= 3){

document.Pcontrol.DUM.click()
tkey=document.Pcontrol.tenkey.value
if (tkey != ""){
document.Pcontrol.tenkey.value=""
document.Pcontrol.tenkey.focus()
if (tkey.indexOf("4") >= 0){keyscan(1)}
if (tkey.indexOf("8") >= 0){keyscan(2)}
if (tkey.indexOf("6") >= 0){keyscan(3)}
if (tkey.indexOf("2") >= 0){keyscan(4)}
}else{
document.Pcontrol.tenkey.focus()
}
}else{

}
timerID = setTimeout("interval1()",timerINT)
}

function intSTOP(){
clearTimeout(timerID)
}

//btn write
function SetBtn(flag, position){
document.images[position].src=icons[flag].src;
}

//no operation
function nop(){}

//MODE change
function MODEcheck(){}

//starter
function starter(){
playflag=playflag+1
if (playflag == 1){SetBtn(11,1)
SetBtn(2,0)
SetBtn(3,2)
SetBtn(4,3)
tkey=""
document.Pcontrol.tenkey.value=""
document.Pcontrol.tenkey.focus()
timerID = setTimeout("interval1()",timerINT)
}
if (playflag == 2){playflag=0
SetBtn(1,1)
SetBtn(2,0)
SetBtn(3,2)
SetBtn(4,3)
document.Pcontrol.tenkey.value=""
intSTOP()
document.Pcontrol.MES.value="Click START";
}
parent.Pman.document.PMAN.CTRL.value="11";
}

//key scan
function keyscan(kscan){
inkey=kscan;
if (playflag == 1){
tmpvalue=parent.Pman.document.PMAN.CTRL.value
if (tmpvalue != "0"){
parent.Pman.document.PMAN.CTRL.value=inkey
if (inkey == "1"){
SetBtn(11,1)
SetBtn(2,0)
SetBtn(3,2)
SetBtn(4,3)
}
if (inkey == "2"){
SetBtn(1,1)
SetBtn(12,0)
SetBtn(3,2)
SetBtn(4,3)
}
if (inkey == "3"){
SetBtn(1,1)
SetBtn(2,0)
SetBtn(13,2)
SetBtn(4,3)
}
if (inkey == "4"){
SetBtn(1,1)
SetBtn(2,0)
SetBtn(3,2)
SetBtn(14,3)
}
}
}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#FFFF00" TEXT="#004400" LINK="#FFFF00" VLINK="#FFFF00">

<CENTER><H1>P-MAN</H1></CENTER><BR>
<H3><CENTER>СЧЕТ:<INPUT TYPE="text" NAME="MES" SIZE=13 VALUE = "Нажми Старт!" ></CENTER></H3><BR>

<CENTER><A HREF="javascript:keyscan(2)" onMouseOver="keyscan(2)"><IMG WIDTH=132 HEIGHT=70 SRC="btn11.gif"></A><BR><A HREF="javascript:keyscan(1)" onMouseOver="keyscan(1)"><IMG WIDTH=132 HEIGHT=70 SRC="btn14.gif"></A><A HREF="javascript:keyscan(3)" onMouseOver="keyscan(3)"><IMG WIDTH=132 HEIGHT=70 SRC="btn12.gif"></A><BR><A HREF="javascript:keyscan(4)" onMouseOver="keyscan(4)"><IMG WIDTH=132 HEIGHT=70 SRC="btn13.gif"></A><BR></CENTER><BR><P>

<CENTER><input type=button value="Старт/Рестарт" OnClick="javascript:starter()"><BR><BR><BR><BR><BR><BR>

<SCRIPT LANGUAGE="JavaScript">
<!--
ver=navigator.appVersion
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()
if(systm !="C"){
document.write("<BR><P><BR><P><BR><P><BR><P> <BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P>")
document.write("<BR><P><BR><P><BR><P><BR><P> <BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P>")
document.write("<BR><P><BR><P><BR><P><BR><P> <BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P>")

}

//-->
</SCRIPT>

<INPUT TYPE="text" NAME="tenkey" SIZE=1 VALUE = "" >
<INPUT TYPE="button" NAME="DUM" VALUE="">

</BODY>
</FORM>
</HTML>

pman.html

 <HTML>
<FORM NAME="PMAN">
<HEAD>
<TITLE>Pman</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerINT = 300                            //interval (ms)
var tmps = new Array(20);                     //temp array
var mapd = new Array(420);                    //map data array
var inkey = 0                                 //mouse status
var acti = 0                                  //on play and key flag
var ptnflg = 0                                //paturn flag
var myX = 0
var myY = 0
var myPOS=0
var myPTN=4
var myPOSold=313
var score=0
var remain=157
var ofno=0
var acno=0
var enno=0
var oldDOT = new Array(5);
var enewait = new Array(5);
var eneacti = new Array(5);
var eneX = new Array(5);
var eneY = new Array(5);
var enePOS = new Array(5);
var enePOSold = new Array(5);
var bluewait = 0
var blueflag=1
var blueacti=0
var bonus = 100
var URAWAZA = 1
var URAflag = 0

var icons = new Array(20);                          //chr image
icons[0] =new Image();icons[0].src ="bl0.gif";
icons[1] =new Image();icons[1].src ="block.gif";
icons[2] =new Image();icons[2].src ="dots.gif";
icons[3] =new Image();icons[3].src ="dotl.gif";
icons[4] =new Image();icons[4].src ="pman0.gif";
icons[5] =new Image();icons[5].src ="pman1.gif";
icons[6] =new Image();icons[6].src ="pman2.gif";
icons[7] =new Image();icons[7].src ="pman3.gif";
icons[8] =new Image();icons[8].src ="pman4.gif";
icons[9] =new Image();icons[9].src ="gate.gif";
icons[10]=new Image();icons[10].src="enemy1.gif";
icons[11]=new Image();icons[11].src="enemy2.gif";
icons[12]=new Image();icons[12].src="enemy3.gif";
icons[13]=new Image();icons[13].src="enemy4.gif";
icons[14]=new Image();icons[14].src="enemy5.gif";

//restarter
function restarter(){
document.PMAN.CTRL.value="0"
tmpacti="0"
readstyle()
PARAset()
}

//init
function init(){
PARAset()

timerID = setTimeout("interval1()",timerINT)

}

function PARAset(){
score=0
remain=157
myX=9
myY=16
myPOSold=313
ptnflg=0
enewait[1]=0
enewait[2]=10
enewait[3]=20
enewait[4]=30
eneacti[1]=1
eneacti[2]=2
eneacti[3]=1
eneacti[4]=2
eneX[1]=9
eneY[1]=8
eneX[2]=8
eneY[2]=10
eneX[3]=9
eneY[3]=10
eneX[4]=10
eneY[4]=10
enePOSold[1]=161
enePOSold[2]=198
enePOSold[3]=199
enePOSold[4]=200
oldDOT[1]=0
oldDOT[2]=0
oldDOT[3]=0
oldDOT[4]=0
bluewait=0
blueflag=1
blueacti=0
bonus = 100
URAWAZA = 1
URAflag = 0
}

function interval1(){
tmpacti=document.PMAN.CTRL.value
clearTimeout(timerID)
timerID = setTimeout("interval1()",timerINT)

//restart check
if (tmpacti == "11"){
tmpURA=parent.Pcontrol.document.Pcontrol.MES.value
URAWAZA=1
URAflag=0
if (tmpURA == "EASY"){URAWAZA=4}
if (tmpURA == "EASIEST"){URAWAZA=2}

if (score == 0){document.PMAN.CTRL.value="1"
tmpacti="1"
}else{restarter()}
}

//active flag check
if (tmpacti != "0"){
blueflag=1
if (bluewait > 0){
bluewait=bluewait-1
blueflag=-1
}else{
blueacti=0
}

//new left check
if (tmpacti == "1"){
tmppos=myY*19+myX-1
if (mapd[tmppos] != 1){acti=1}
if (myX == 0){acti=1}
}
//new right check
if (tmpacti == 3){
tmppos=myY*19+myX+1
if (mapd[tmppos] != 1){acti=3}
if (myX == 18){acti=3}
}
//new up check
if (tmpacti == 2){
tmppos=myY*19-19+myX
if (mapd[tmppos] != 1){acti=2}
}
//new down check
if (tmpacti == 4){
tmppos=myY*19+19+myX
if (mapd[tmppos] != 1){acti=4}
}

//left check
if (acti == 1){
tmppos=myY*19+myX-1
if (mapd[tmppos] != 1){myX=myX-1
}else{if (myX == 0){myX=18
}else{if (mapd[tmppos-18] != 1){acti=2
parent.Pcontrol.document.Pcontrol.tenkey.value="8"
}else{acti=4
parent.Pcontrol.document.Pcontrol.tenkey.value="2"
}
}
}
}
//right check
if (acti == 3){
tmppos=myY*19+myX+1
if (mapd[tmppos] != 1){myX=myX+1
}else{if (myX == 18){myX=0
}else{if (mapd[tmppos-20] != 1){acti=2
parent.Pcontrol.document.Pcontrol.tenkey.value="8"
}else{acti=4
parent.Pcontrol.document.Pcontrol.tenkey.value="2"
}
}
}
}
//up check
if (acti == 2){
tmppos=myY*19-19+myX
if (mapd[tmppos] != 1){myY=myY-1
}else{if (mapd[tmppos+18] != 1){acti=1
myX=myX-1
parent.Pcontrol.document.Pcontrol.tenkey.value="4"
}else{acti=3
myX=myX+1
parent.Pcontrol.document.Pcontrol.tenkey.value="6"
}
}
}
//down check
if (acti == 4){
tmppos=myY*19+19+myX
if (mapd[tmppos] != 1){myY=myY+1
}else{if (mapd[tmppos-20] != 1){acti=1
myX=myX-1
parent.Pcontrol.document.Pcontrol.tenkey.value="4"
}else{acti=3
myX=myX+1
parent.Pcontrol.document.Pcontrol.tenkey.value="6"
}
}
}

//move P-MAN
myPOS=myY*19+myX
ptnflg=ptnflg+1
myPTN=4
if (ptnflg == 2){ptnflg=0
}else{myPTN=4+acti
}

//move enemy

tmpURAflag=1
URAflag=URAflag+1
if (URAflag >= URAWAZA){
tmpURAflag=0
URAflag=0
}
if (URAWAZA == 1){tmpURAflag=1}

if (blueflag == -1){
blueacti=blueacti+1
if (blueacti == 2){blueacti=0}
}

for (ij=1; ij<5; ij++){
enno=ij
if (blueacti !=1){
if (tmpURAflag == 1){calenemy()}
}
enePOS[ij]=eneY[ij]*19+eneX[ij]
}

//score check
if (mapd[myPOS] == 2){mapd[myPOS]=0
remain=remain-1
score=score+10}
if (mapd[myPOS] == 3){mapd[myPOS]=0
remain=remain-1
bluewait=30
blueacti=0
bonus=100
score=score+50}
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts"

//ending
for (iz=1; iz<5; iz++){
if (enePOSold[iz] == myPOS){
if (enePOS[iz] == myPOSold){
enePOS[iz]=myPOS
}
}
if (enePOS[iz] == myPOS){
if (blueflag == 1){
document.PMAN.CTRL.value="0"
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts NG"
}else{
enewait[iz]=5
enePOS[iz]=199
eneX[iz]=9
eneY[iz]=10
eneacti[iz]=1
score=score+bonus
bonus=bonus*2
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts"
}
}
}
if (remain == 0){document.PMAN.CTRL.value="0"
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts OK"
}

//old CHR clear
SetIcon(0,myPOSold)
for (ij=1; ij<5; ij++){
SetIcon(oldDOT[ij],enePOSold[ij])
}

//new CHR write
mapd[myPOS]=0
SetIcon(myPTN,myPOS)
myPOSold=myPOS
for (ij=1; ij<5; ij++){
tmpenePOS=enePOS[ij]
oldDOT[ij]=mapd[tmpenePOS]
tmpenePTN=14
if (bluewait == 0){tmpenePTN=9+ij}
if (bluewait == 2){tmpenePTN=9+ij}
if (bluewait == 4){tmpenePTN=9+ij}
if (bluewait == 6){tmpenePTN=9+ij}
if (bluewait == 8){tmpenePTN=9+ij}
if (bluewait == 10){tmpenePTN=9+ij}

SetIcon(tmpenePTN,tmpenePOS)
enePOSold[ij]=enePOS[ij]
}
}
}

//paturn write
function SetIcon(flag, position){
document.images[position].src=icons[flag].src;
}

function readstyle(){
for (id=0; id<22; id++){;
for (ie=0; ie<19; ie++){;
ig = tmps[id].charAt(ie);
ih = id*19+ie;
if (ig == "0"){mapd[ih] = 0};
if (ig == "1"){mapd[ih] = 1};
if (ig == "2"){mapd[ih] = 2};
if (ig == "3"){mapd[ih] = 3};

SetIcon (mapd[ih],ih);
};
};
SetIcon(9,180)
SetIcon(10,161)
SetIcon(11,198)
SetIcon(12,199)
SetIcon(13,200)
}

function calenemy(){
if (enewait[enno] >= 1){
if (enewait[enno] == 1){
SetIcon(oldDOT[enno],enePOSold[enno])
eneX[enno]=9
eneY[enno]=8
}
enewait[enno]=enewait[enno]-1
}else{
if (enno == 1){enetype1()}
if (enno == 2){enetype2()}
if (enno == 3){enetype3()}
if (enno == 4){enetype4()}
}
}

function offsetcal(acno){
if (acno == 1){ofno=-1}
if (acno == 2){ofno=-19}
if (acno == 3){ofno=1}
if (acno == 4){ofno=19}
}

function eneXYcal(){
if (eneacti[enno] == 1){eneX[enno]=eneX[enno]-1}
if (eneacti[enno] == 2){eneY[enno]=eneY[enno]-1}
if (eneacti[enno] == 3){eneX[enno]=eneX[enno]+1}
if (eneacti[enno] == 4){eneY[enno]=eneY[enno]+1}
}

function enetype1(){
//crossing chaser

tmpLR=0
tmpeneacti1=eneacti[enno]+1
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
offsetcal(tmpeneacti1)
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
if (mapd[tmpenepos] != 1){tmpLR=1}
tmpeneacti1=eneacti[enno]+3
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
offsetcal(tmpeneacti1)
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
if (mapd[tmpenepos] != 1){tmpLR=1}
if (eneX[enno] == 18){tmpLR=1}
if (eneX[enno] == 0){tmpLR=1}
if (tmpLR == 1){
eneacti[enno]=0
if (myX*blueflag >= eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
}
tmpsubY=myY-eneY[enno]
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
tmpsubX=myX-eneX[enno]
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
tmpsubXY=tmpsubY-tmpsubX
if (eneacti[enno] == 0){tmpsubXY=1}
if (tmpsubXY*blueflag >= 0){
if (myY*blueflag >= eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+19
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
}
}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3
}else{eneacti[enno]=4
}
}
}
}
}
eneXYcal()
}

function enetype2(){
//straight lover

offsetcal(eneacti[enno])
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
if (mapd[tmpenepos] == 1){
eneacti[enno]=0
if (myX*blueflag >= eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
}
tmpsubY=myY-eneY[enno]
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
tmpsubX=myX-eneX[enno]
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
tmpsubXY=tmpsubY-tmpsubX
if (eneacti[enno] == 0){tmpsubXY=1}
if (tmpsubXY*blueflag >= 0){
if (myY*blueflag >= eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+19
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
}
}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3
}else{eneacti[enno]=4
}
}
}
}
}
eneXYcal()
}

function enetype3(){
//crossing turner

tmpeneacti1=eneacti[enno]+1
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
tmptmpacti=eneacti[enno]
eneacti[enno]=0
turncheck()
if (eneacti[enno] == 0){
tmpeneacti1=eneacti[enno]+3
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
turncheck()
}
if (eneacti[enno] == 0){
eneacti[enno]=tmptmpacti

offsetcal(eneacti[enno])
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
if (mapd[tmpenepos] == 1){

eneacti[enno]=0
if (myX*blueflag >= eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
}
tmpsubY=myY-eneY[enno]
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
tmpsubX=myX-eneX[enno]
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
tmpsubXY=tmpsubY-tmpsubX
if (eneacti[enno] == 0){tmpsubXY=1}
if (tmpsubXY*blueflag >= 0){
if (myY*blueflag >= eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+19
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
}
}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3
}else{eneacti[enno]=4
}
}
}
}
}
}
eneXYcal()
}

function enetype4(){
//everytime chaser

eneacti[enno]=0
if (myX*blueflag >= eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
}
tmpsubY=myY-eneY[enno]
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
tmpsubX=myX-eneX[enno]
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
tmpsubXY=tmpsubY-tmpsubX
if (eneacti[enno] == 0){tmpsubXY=1}
if (tmpsubXY*blueflag >= 0){
if (myY*blueflag >= eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+19
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
}else{
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
}
}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
if (eneacti[enno] == 0){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3
}else{eneacti[enno]=4
}
}
}
}
eneXYcal()
}

function turncheck(){
if (tmpeneacti1 == 1){
if (myX*blueflag < eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]-1
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
}
}
if (tmpeneacti1 == 3){
if (myX*blueflag > eneX[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+1
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
}
}
if (tmpeneacti1 == 2){
if (myY*blueflag < eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]-19
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
}
}
if (tmpeneacti1 == 4){
if (myY*blueflag < eneY[enno]*blueflag){
tmpenepos=eneY[enno]*19+eneX[enno]+19
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
}
}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#FFFF00" TEXT="#004400" LINK="#FFFF00" VLINK="#FFFF00" ONLOAD="init()">
<SCRIPT LANGUAGE="JavaScript">
<!--
//screen fill
document.write("<PRE><CENTER>");
for (iad=0; iad<22; iad++){;
for (iac=0; iac<19; iac++){document.write("<IMG BORDER=0 WIDTH=16 HEIGHT=16 SRC='bl0.gif'>")};
document.write("<BR>");
};
document.write("</CENTER></PRE>");

tmps[0] ="1111111111111111111";
tmps[1] ="1222222221222222221";
tmps[2] ="1211211121211121121";
tmps[3] ="1311211121211121131";
tmps[4] ="1222222222222222221";
tmps[5] ="1211212111112121121";
tmps[6] ="1222212221222122221";
tmps[7] ="1111211101011121111";
tmps[8] ="1111210000000121111";
tmps[9] ="1111210111110121111";
tmps[10]="0000200100010020000";
tmps[11]="1111210111110121111";
tmps[12]="1111210000000121111";
tmps[13]="1111210111110121111";
tmps[14]="1222222221222222221";
tmps[15]="1211211121211121121";
tmps[16]="1321222222222221231";
tmps[17]="1121212111112121211";
tmps[18]="1222212221222122221";
tmps[19]="1211111121211111121";
tmps[20]="1222222222222222221";
tmps[21]="1111111111111111111";
//read style data
readstyle();
//-->
</SCRIPT>

<BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P><BR><P><BR>
 <P><BR><P><BR><P><BR><P><BR> <P><BR><P><BR><P>
 <BR><P><BR><P><BR><P><BR><P>

<INPUT TYPE="text" NAME="CTRL" SIZE=10 VALUE = "0" >

</BODY>
</FORM>
</HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game2

Блэкджек
(или попросту ОЧКО!)

Score: | Dealer | Card(s):
 | Player | Card(s):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike McGrath (mike_mcgrath@lineone.net) -->
<!-- Web Site: http://home.clara.net/mikem -->

<!-- Begin
var gameOver; var cardCount;
function Shuffle(max){
var num=Math.random()*max;
return Math.round(num)+1;
}
function getSuit(){
suit = Shuffle(4);
if(suit == 1) return "Spades";
if(suit == 2) return "Clubs";
if(suit == 3) return "Diamonds";
else return "Hearts";
}
function cardName(card){
if(card == 1) return "Ace";
if(card == 11) return "Jack";
if(card == 12) return "Queen";
if(card == 13) return "King";
return "" + card;
}
function cardValue(card,strWho){
if(card == 1) {
if(strWho =="You" && document.display.you.value >10){
document.display.say2.value= document.display.say2.value+" Low"; return 1;}
else return 11; }
if(card > 10) return 10;
return card;
}
function PickACard(strWho){
card = Shuffle(12);
suit = getSuit();
if(strWho =="You")
document.display.say2.value=(cardName(card) + " of " + suit);
else
document.display.say1.value=(cardName(card) + " of " + suit);
return cardValue(card,strWho);
}
function NewHand(form){
if(gameOver !=0)
{form.say1.value=("Hand in Play!"); form.say2.value=(""); return;}
else
{form.dealer.value = 0; form.you.value = 0; cardCount=0;
form.dealer.value = eval(form.dealer.value) + PickACard("Dealer");
form.you.value = eval(form.you.value) + PickACard("You");
gameOver= -1; cardCount+=1;}
}
function Dealer(form){
if (gameOver ==0)
{form.say1.value=("Deal the Cards!"); form.say2.value=(""); return;}
else
if(form.you.value<10)
{form.say1.value=("Not Below Ten!"); form.say2.value=("Take a Hit!"); return;}
else
if (cardCount <2)
{form.say1.value=("Minimum 2 Cards!"); form.say2.value=("Hit Again!"); return;}
else
while(form.dealer.value < 17)
{form.dealer.value = eval(form.dealer.value) + PickACard("Dealer");}
}
function User(form){
if (gameOver ==0)
{form.say1.value=("Deal the Cards!"); form.say2.value=(""); return;}
else
{cardCount+=1; form.say1.value=("You Get...");
form.you.value = eval(form.you.value) + PickACard("You");}
if(form.you.value > 21)
{form.say1.value=("You Busted!");
gameOver=0; form.numgames.value=eval(form.numgames.value)-1;}
}
function LookAtHands(form){
if (gameOver ==0 || form.you.value<10 || cardCount <2){return;}
else
if(form.dealer.value > 21)
{form.say1.value=("House Busts!"); form.say2.value=("You Win! $$$$$$");
gameOver=0; form.numgames.value=eval(form.numgames.value)+1;}
else
if(form.you.value > form.dealer.value)
{form.say1.value=("You Win!"); form.say2.value=("$$$$$$$$$$$$$$$");
gameOver=0; form.numgames.value=eval(form.numgames.value)+1;}
else
if(form.dealer.value == form.you.value)
{form.say1.value=("Game Tied!"); form.say2.value=("Try Again!");
gameOver=0; form.numgames.value=eval(form.numgames.value)-1;}
else
{form.say1.value=("House Wins!"); form.say2.value=("Tough Luck!");
gameOver=0; form.numgames.value=eval(form.numgames.value)-1;}
}
function setBj(){
gameOver=0; cardCount=0;
document.display.dealer.value="";
document.display.you.value="";
document.display.numgames.value="0";
document.display.say1.value=" Hit 'Deal'";
document.display.say2.value=" To Start!";
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setBj()">

<center>
<form name="display">
<table bgcolor="#c0c0c0" border="1" cellspacing="0" cellpadding="3">
<tr>
<td><center>Score:</center></td>
<td><center>Dealer</center></td>
<td><center><input type=text name="dealer" size="2"></center></td>
<td><center>Card(s): <input type=text name="say1" size="18" value=""></center></td>
</tr>
<tr>
<td><center><input type=text name="numgames" size="3" value="0"></center></td>
<td><center>Player</center></td>
<td><center><input type=text name="you" size="2"></center></td>
<td><center>Card(s): <input type=text name="say2" size="18" value=""></center></td>
</tr>
<tr>
<td><center><input type=button value="Deal" onClick="NewHand(this.form)"></center></td>
<td colspan=3><center>
<input type=button value="Stand" onClick="Dealer(this.form);LookAtHands(this.form);">
<input type=button value=" Hit " onClick="User(this.form)"></center></td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat3

Бросить кубик

Поиграйте в кости!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>

/*
JavaScript dice (by Website Abstraction, http://wsabstract.com)
Over 200+ free scripts here!
*/

//preload the six images first
var face0=new Image()
face0.src="cubd1.gif"
var face1=new Image()
face1.src="cubd2.gif"
var face2=new Image()
face2.src="cubd3.gif"
var face3=new Image()
face3.src="cubd4.gif"
var face4=new Image()
face4.src="cubd5.gif"
var face5=new Image()
face5.src="cubd6.gif"
</script>

<img src="cubd1.gif" name="mydice">
<form>
<input type="button" value="Брось кость!" onClick="throwdice()">
</form>
<script>
function throwdice(){
//create a random integer between 0 and 5
var randomdice=Math.round(Math.random()*5)
document.images["mydice"].src=eval("face"+randomdice+".src")
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: born.zip


Game50

БРИКС

Нажмите кнопку.
(скрипт очень большой - из файла справки возможна задержка загрузки до 20 сек.!)

Код игрушки скопируйте прямо из источника страницы с игрой "БРИКС". Не следует ничего менять- страница оптимизирована - просто создайте новый документ. Рисунки, использованные в игре: brix.zip


Game49

Веселый повар

Нажмите кнопку.
(скрипт очень большой - из файла справки возможна задержка загрузки до 20 сек.!)

Код игрушки скопируйте прямо из источника страницы с игрой "ВЕСЕЛЫЙ ПОВАР". Не следует ничего менять- страница оптимизирована - просто создайте новый документ. Рисунки, использованные в игре: kok.zip


Game11

Висельник
Интересная, но не слишком популярная игрушка, даже среди школьников, хотя играть можно на обычном листке бумаги. Загаданное слово пишется прочерками вместо букв, затем угадывающий (претендент на повешение:) называет буквы. Каждая верная буква вписывается вместо прочерка(ов). За каждую неверную дорисовывается элемент виселицы (скажем 5 элементов). Дальше понятно: успел угадать слово до полной дорисовки виселицы - выжил, не успел - повешен. Скрипт, к сожалению, виселицу не рисует, но количество неверных букв считает. На оба случая ("выжил" и "повешен") имеются свои сообщения. Еще одно "к сожалению": для работы скрипт использует cookie, а доступа к ним с помощью JavaScript из файла справки нет. Так что поиграть прямо здесь не удастся. (если у кого-то есть свободное время и, конечно, знания JavaScript, допишите скрипт так, чтобы он рисовал "виселицу" и пришлите по e-mail - вставим в следующий выпуск JS Library (можно использовать рисунки, а можно элементы текста))

ВИСЕЛЬНИК!

Топик: Кто-нибудь жутко знаменитый

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<table border=8 bgcolor="#CCCCCC" width=350 cellspacing=0>
<tr><td>
<center>
<h2>ВИСЕЛЬНИК!</h2><br>
<h3><font color=red>Топик:</font>
Кто-нибудь жутко знаменитый</h3>
<hr><br>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original:  Rick Glusick -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getCookie (name) {
var dcookie = document.cookie;
var cname = name + "=";
var clen = dcookie.length;
var cbegin = 0;
while (cbegin < clen) {
var vbegin = cbegin + cname.length;
if (dcookie.substring(cbegin, vbegin) == cname) {
var vend = dcookie.indexOf (";", vbegin);
if (vend == -1) vend = clen;
return unescape(dcookie.substring(vbegin, vend));
}
cbegin = dcookie.indexOf(" ", cbegin) + 1;
if (cbegin == 0) break;
}
return null;
}
function setCookie (name, value, expires) {
if (!expires) expires = new Date();
document.cookie = name + "=" + escape (value) + "; expires=" + expires.toGMTString() +  "; path=/";
}
function delCookie (name) {
var expireNow = new Date();
document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT" +  "; path=/";
}
var Alphabet = new initAlphaArray()
var NumOfWords = 5; // Количество
 слов (словосочетаний) для угадывания
var SaveData = "";
var ImageNum = "";
var LettersSelected = "";
var RandomWord = "";
var DisplayWord = "";
var position = 0;
var word = new WordList();
var expdate = new Date();
var RandomNumber = (expdate.getSeconds())%NumOfWords;
function initAlphaArray() {
this.length = 32
this[0] = "А"
this[1] = "Б"
this[2] = "В"
this[3] = "Г"
this[4] = "Д"
this[5] = "Е"
this[6] = "Ж"
this[7] = "З"
this[8] = "И"
this[9] = "Й"
this[10] = "К"
this[11] = "Л"
this[12] = "М"
this[13] = "Н"
this[14] = "О"
this[15] = "П"
this[16] = "Р"
this[17] = "С"
this[18] = "Т"
this[19] = "У"
this[20] = "Ф"
this[21] = "Х"
this[22] = "Ц"
this[23] = "Ч"
this[24] = "Ш"
this[25] = "Щ"
this[26] = "Ъ"
this[27] = "Ы"
this[28] = "Ь"
this[29] = "Э"
this[30] = "Ю"
this[31] = "Я"
}
function WordList() {
this.length = NumOfWords;
this[0] = "ИГОРЬ ПЕТРОВИЧ КАЛЯБЕРУДОНЧИКОФФ"; //
 Слова (словосочетания) для угадывания
this[1] = "ВАСИЛИЙ ПИВОСОСОВ";
this[2] = "НИКОЛАЙ ТРАМПАМПУШКИН";
this[3] = "ХАЛЯВА БЕСПЛАТНОВНА";
this[4] = "РЫБА ПРОТУХШАЯ";
}
function availableLetters(i) {
if (LettersSelected.charAt(i)==Alphabet[i])
document.write('<TD ALIGN=CENTER VALIGN=CENTER WIDTH=10 HEIGHT=10>' +
'<B><A HREF="javascript:LoadNextPage('+i+',\''+Alphabet[i]+
'\')">'+Alphabet[i]+'</A></B></TD>');
else
document.write('<TD ALIGN=CENTER VALIGN=CENTER WIDTH=10 HEIGHT=10> </TD>');
}
function LoadNextPage(selected,letter) {
var j=0;
var HoldLettersSelected = LettersSelected;
LettersSelected = "";
if (selected == 0) {
for (j=1; j<=31; j++) {
LettersSelected += HoldLettersSelected.charAt(j);
}
LettersSelected = "^" + LettersSelected;
}
else if (selected == 31) {
for (j=0; j<=30; j++) {
LettersSelected += HoldLettersSelected.charAt(j);
}
LettersSelected += "^";
}
else {
for (j=0; j<selected; j++)
{
LettersSelected += HoldLettersSelected.charAt(j);
}
LettersSelected += "^";
for (j=selected+1; j<=31; j++) {
LettersSelected += HoldLettersSelected.charAt(j);
}
}

SaveData = ImageNum + LettersSelected + RandomWord + "*";
setCookie("_HangMan", SaveData, expdate);
history.go(0);
}

// Sets a cookie that will expire in 1 день

expdate.setTime (expdate.getTime() + (1000*60*60*24*1));
if(getCookie("_HangMan") == null)
{
ImageNum = "А";
LettersSelected =  "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
RandomWord = word[RandomNumber];
SaveData = ImageNum + LettersSelected + RandomWord + "*";
setCookie("_HangMan", SaveData, expdate);
}
else {
SaveData = getCookie("_HangMan");
ImageNum = SaveData.charAt(0);
for (position=1; position<=32; position++) {
LettersSelected += SaveData.charAt(position);
}
for (position=33; position<SaveData.indexOf("*"); position++) {
RandomWord += SaveData.charAt(position);
}
}
DisplayWord = "";
for (i=0; i<RandomWord.length; i++) {
if (RandomWord.charAt(i) == ' ') {
DisplayWord += " ";
}
else {
MatchFound = false;
for (j=0; j<=31; j++) {
if ((LettersSelected.charAt(j) == "^") && (RandomWord.charAt(i) == Alphabet[j])) {
DisplayWord += RandomWord.charAt(i);
MatchFound = true;
}
}
if (!MatchFound) DisplayWord += "-";
}
}
if (ImageNum == "Б") {   //количество
 (цифра, соответствующая букве) промахов для
 "повешения"
document.write('<font color=red size=4>Вы повешены!<br>Ответ (на прощанье):  "' + RandomWord + '"</font>');
}
else if (RandomWord == DisplayWord) {
document.write('<font color=red size=7>Вы выжили!</font>');
}
else {
document.write('<table>');
document.write('<tr>');
for (i=0; i<16; i++) availableLetters(i);
document.write('</tr>');
document.write('<tr>');
for (i=16; i<32; i++) availableLetters(i);
document.write('</tr>');
document.write('</table>');
}
document.write('<br>');
document.write('<br>');
document.write('<font size=9><tt>');
document.write(DisplayWord);
document.write('</tt></font>');
document.write('<form>');
document.write('<input type="button" VALUE="Новая игра"'+
'onClick="delCookie(\'_HangMan\');history.go(0);">');
document.write('</form>');
document.write('</center>');
// End -->
</SCRIPT>
</center>
</td></tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game62

ВИСЕЛЬНИК 2
Эта игра работает из файла справки! Не выдержала моя душа при виде такого материала... Сделал я свою любимую со школьных лет игру именно такой, каковой ей и следует быть - с отдельными словами, а не фразами, с первой и последней буквами и буквами в середине, если они те же, что первая или последняя. Но, самое главное, я заставил таки эту виселицу рисоваться по мере совершения ошибок, без всяких "тяжелых" картинок, да и комментарии включил при клике, и .... Короче, сделал именно то, что хотел! И сам же потом полтора часа играл! (Это при условии, что множество для слов я, конечно же, сам и составлял... По-моему, смешно!)

Счет :
Промах (6):

 _ _

  |
  |
  |
  |
 _|_
   ___
  |
  |
  |
  |
 _|_
   ___
  |/
  |
  |
  |
 _|_
   ___
  |/ |
  |
  |
  |
 _|_
   ___
  |/ |
  |  o
  | /0\
  | | |
 _|_

Содержимое этой таблицы поместите между <BODY> и </BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC52

Вопросник - игра

Вопросы придумайте сами (и ответы, разумеется, тоже!). Совет: разместите свой Quiz в pop-up окне без панелей и вставьте туда код для запрета правого клика.

Gamer's Quiz

Objective: answer 7 questions correctly. JavaScript required!

1. WARM-UP: Who created the famous WarCraft 2?

Sierra On-Line
BlueByte
Blizzard Entertainment
Microsoft

2. This famous 3D shooter claimed PC Gamer's Game of 1994 Award.

Doom
Hexen
Descent
Wolfenstein 3D

3. The first intergalatic combat game. Name it.

Master of Orion
Star Control
StarCraft
Star Trek

4. The game ever to contain graphics was this classic by Roberta Williams.

King's Quest
Mystery House
Time Zone
Mission: Asteriod

5. The first real-time strategy game was:

WarCraft: Orcs & Humans
Command & Conquer
Dune
Dune 2

6. In PC Gamer, Quake won these 'of-the-year' awards (1996):

Best Game, Best Action Game
Best Action Game, Best Multiplayer
Best Sound Effects, Best Multiplayer
All of the above

7. The best selling game of all time is:

WarCraft 2
C&C: Red Alert
Sim City
King's Quest 5

8. This is a turn-based strategy game:

C&C: Red Alert
Might and Magic 3
Heroes of Might and Magic
Daggerfall: The Elder Scrolls

9. PC Gamer's Best Game of the 1996 went to:

C&C: Red Alert
Tomb Raider
Quake
Civilization 2

10. Blizzard's new release, Diablo is a:

Role Playing Game
2D Action Game
3D Action Game
Simulation

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Monichar -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ans = new Array;
var done = new Array;
var score = 0;
ans[1] = "c";
ans[2] = "a";
ans[3] = "b";
ans[4] = "b";
ans[5] = "d";
ans[6] = "c";
ans[7] = "c";
ans[8] = "c";
ans[9] = "d";
ans[10] = "a";
function Engine(question, answer) {
if (answer != ans[question]) {
if (!done[question]) {
done[question] = -1;
alert("Ошибка!\n\nВаш счет: " + score);
}
else {
alert("Вы уже отвечали на это!");
}
}
else {
if (!done[question]) {
done[question] = -1;
score++;
alert("Правильно!\n\nСейчас Ваш счет: " + score);
}
else {
alert("Вы уже ответили на это!");
}
}
}

function NextLevel () {
if (score > 10) {
alert("Cheater!");
}
if (score >= 7 && score <= 11) {
alert("Доступ разрешен! Но, к сожалению, уровней больше нет, разве что Вы сделаете их сами...")

/*измените выделенную линию на: self.location="quiz2.htm" если Вы сделали еще один уровень*/

}
else {
alert("Доступ запрещен! Вам надо набрать минимум 7 очков, чтобы перейти на следующий уровень.")
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<font size=6 face=Arial>Gamer's Quiz</font><br><p>
<b>Objective: answer 7 questions correctly. JavaScript required!</b><p>
<noscript>JavaScript is <b><i>disabled</b></i>. Get Netscape 3.0 or turn
it on!</noscript>
<hr noshade>
<FORM>
<b>1. WARM-UP: Who created the famous <i>WarCraft 2</i>?</b><p>
<input type=radio value="a" onClick="Engine(1, this.value)">Sierra
On-Line<br>
<input type=radio value="b" onClick="Engine(1, this.value)">BlueByte<br>
<input type=radio value="c" onClick="Engine(1, this.value)">Blizzard
Entertainment<br>
<input type=radio value="d" onClick="Engine(1, this.value)">Microsoft<p>
<b>2. This famous 3D shooter claimed <i>PC Gamer's</i> Game of 1994
Award.</b><p>
<input type=radio value="a" onClick="Engine(2, this.value)">Doom<br>
<input type=radio value="b" onClick="Engine(2, this.value)">Hexen<br>
<input type=radio value="c" onClick="Engine(2, this.value)">Descent<br>
<input type=radio value="d" onClick="Engine(2, this.value)">Wolfenstein
3D<p>
<b>3. The first intergalatic combat game. Name it.</b><p>
<input type=radio value="a" onClick="Engine(3, this.value)">Master of
Orion<br>
<input type=radio value="b" onClick="Engine(3, this.value)">Star
Control<br>
<input type=radio value="c" onClick="Engine(3, this.value)">StarCraft<br>
<input type=radio value="d" onClick="Engine(3, this.value)">Star Trek<p>
<b>4. The game ever to contain graphics was this classic by Roberta
Williams.</b><p>
<input type=radio value="a" onClick="Engine(4, this.value)">King's
Quest<br>
<input type=radio value="b" onClick="Engine(4, this.value)">Mystery
House<br>
<input type=radio value="c" onClick="Engine(4, this.value)">Time
Zone<br>
<input type=radio value="d" onClick="Engine(4, this.value)">Mission:
Asteriod<p>
<b>5. The first real-time strategy game was: </b><p>
<input type=radio value="a" onClick="Engine(5, this.value)">WarCraft:
Orcs & Humans<br>
<input type=radio value="b" onClick="Engine(5, this.value)">Command &
Conquer<br>
<input type=radio value="c" onClick="Engine(5, this.value)">Dune<br>
<input type=radio value="d" onClick="Engine(5, this.value)">Dune 2<p>
<b>6. In PC Gamer, Quake won these 'of-the-year' awards (1996): </b><p>
<input type=radio value="a" onClick="Engine(6, this.value)">Best Game,
Best Action Game<br>
<input type=radio value="b" onClick="Engine(6, this.value)">Best Action
Game, Best Multiplayer<br>
<input type=radio value="c" onClick="Engine(6, this.value)">Best Sound
Effects, Best Multiplayer<br>
<input type=radio value="d" onClick="Engine(6, this.value)">All of the
above<p>
<b>7. The best selling game of all time is: </b><p>
<input type=radio value="a" onClick="Engine(7, this.value)">WarCraft
2<br>
<input type=radio value="b" onClick="Engine(7, this.value)">C&C: Red
Alert<br>
<input type=radio value="c" onClick="Engine(7, this.value)">Sim City<br>
<input type=radio value="d" onClick="Engine(7, this.value)">King's Quest
5<p>
<b>8. This is a turn-based strategy game: </b><p>
<input type=radio value="a" onClick="Engine(8, this.value)">C&C: Red
Alert<br>
<input type=radio value="b" onClick="Engine(8, this.value)">Might and
Magic 3<br>
<input type=radio value="c" onClick="Engine(8, this.value)">Heroes of
Might and Magic<br>
<input type=radio value="d" onClick="Engine(8, this.value)">Daggerfall:
The Elder Scrolls<p>
<b>9. PC Gamer's <i>Best Game of the 1996</i> went to: </b><p>
<input type=radio value="a" onClick="Engine(9, this.value)">C&C: Red
Alert<br>
<input type=radio value="b" onClick="Engine(9, this.value)">Tomb
Raider<br>
<input type=radio value="c" onClick="Engine(9, this.value)">Quake<br>
<input type=radio value="d" onClick="Engine(9, this.value)">Civilization
2<p>
<b>10. Blizzard's new release, <i>Diablo</i> is a: </b><p>
<input type=radio value="a" onClick="Engine(10, this.value)">Role Playing
Game<br>
<input type=radio value="b" onClick="Engine(10, this.value)">2D Action
Game<br>
<input type=radio value="c" onClick="Engine(10, this.value)">3D Action
Game<br>
<input type=radio value="d" onClick="Engine(10,
this.value)">Simulation<p>
<CENTER>
<input type=button onClick="NextLevel()" value="Advance to next level">
</CENTER>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game9

Восстанови лицо!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Kien Caoxuan (kcaoxuan@caoxuan.com) -->
<!-- Web Site: http://www.caoxuan.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
hairL1 = new Image;
hairL1.src = "hairL1.gif";
hairR1 = new Image;
hairR1.src = "hairR1.gif";
hairM1 = new Image;
hairM1.src = "hairM1.gif";
eyeL1 = new Image;
eyeL1.src = "eyeL1.gif";
eyeR1 = new Image;
eyeR1.src = "eyeR1.gif";
cheekL1 = new Image;
cheekL1.src = "cheekL1.gif";
cheekR1 = new Image;
cheekR1.src = "cheekR1.gif";
nose1 = new Image;
nose1.src = "nose1.gif";
mouth1 = new Image;
mouth1.src = "mouth1.gif";
chin1 = new Image;
chin1.src = "chin1.gif";
hairL2 = new Image;
hairL2.src = "hairL2.gif";
hairR2 = new Image;
hairR2.src = "hairR2.gif";
hairM2 = new Image;
hairM2.src = "hairM2.gif";
eyeL2 = new Image;
eyeL2.src = "eyeL2.gif";
eyeR2 = new Image;
eyeR2.src = "eyeR2.gif";
cheekL2 = new Image;
cheekL2.src = "cheekL2.gif";
cheekR2 = new Image;
cheekR2.src = "cheekR2.gif";
nose2 = new Image;
nose2.src = "nose2.gif";
mouth2 = new Image;
mouth2.src = "mouth2.gif";
chin2 = new Image;
chin2.src = "chin2.gif";
hairL3 = new Image;
hairL3.src = "hairL3.gif";
hairR3 = new Image;
hairR3.src = "hairR3.gif";
hairM3 = new Image;
hairM3.src = "hairM3.gif";
eyeL3 = new Image;
eyeL3.src = "eyeL3.gif";
eyeR3 = new Image;
eyeR3.src = "eyeR3.gif";
cheekL3 = new Image;
cheekL3.src = "cheekL3.gif";
cheekR3 = new Image;
cheekR3.src = "cheekR3.gif";
nose3 = new Image;
nose3.src = "nose3.gif";
mouth3 = new Image;
mouth3.src = "mouth3.gif";
chin3 = new Image;
chin3.src = "chin3.gif";
blank = new Image;
blank.src = "blank.gif";
function Chosen(prt,num) {
if (document.forms[0].gamebutton.value != "Мне кажется это похоже") return;
document[prt].src = prt + num + ".gif";
}
function RanFace() {
document.hairL.src = eval("hairL" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.hairM.src = eval("hairM" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.hairR.src = eval("hairR" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.eyeL.src = eval("eyeL" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.eyeR.src = eval("eyeR" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.cheekL.src = eval("cheekL" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.cheekR.src = eval("cheekR" + parseInt(1 + Math.floor(3 * Math.random())) + ".src");
document.nose.src = eval("nose" + parseInt(1 + Math.floor(3 * Math.random())) + ".src")
document.chin.src = eval("chin" + parseInt(1 + Math.floor(3 * Math.random())) + ".src")
document.mouth.src = eval("mouth" + parseInt(1 + Math.floor(3 * Math.random())) + ".src")
}
function NewGame() {
document.forms[0].reset();
location.reload();
}
function stopRandom() {
clearInterval(cont);
document.forms[0].gamebutton.value = "Скрыть";
document.forms[0].inst.value = "Запомните это лицо и нажмите кнопку \"Скрыть\".";
}
function StartGame(x) {
if (x == "Начать случайное рисование!") {
document.forms[0].inst.value = "Случайный подбор элементов . . . Пожалуйста, подождите.";
document.forms[0].gamebutton.value = "подождите...";
cont = setInterval('RanFace()', 150);
window.setTimeout("stopRandom();", 5000);
return;
}
if (x == "Скрыть") {
for (i = 0; i < 10; i++) {
document.forms[0].elements["Prt" + i].selectedIndex = 0;
}
RealOne[0] = document.hairL.src;
RealOne[1] = document.hairM.src;
RealOne[2] = document.hairR.src;
RealOne[3] = document.eyeL.src;
RealOne[4] = document.eyeR.src;
RealOne[5] = document.cheekL.src;
RealOne[6] = document.cheekR.src;
RealOne[7] = document.nose.src;
RealOne[8] = document.chin.src;
RealOne[9] = document.mouth.src;
document.hairL.src = blank.src;
document.hairM.src = blank.src;
document.hairR.src = blank.src;
document.eyeL.src = blank.src;
document.eyeR.src = blank.src;
document.cheekL.src = blank.src;
document.cheekR.src = blank.src;
document.nose.src = blank.src;
document.chin.src = blank.src;
document.mouth.src = blank.src;
document.forms[0].inst.value = "Теперь попытайтесь восстановить лицо.";
document.forms[0].gamebutton.value = "Мне кажется это похоже";
return
}
if (x == "Мне кажется это похоже") {
score = 0;
for (i = 0; i < 10; i++) {
YourOne[i] = document[Parts[i]].src;
if (document[Parts[i]].src == RealOne[i]) score++;
}
message = "очень плохо.";
if (score > 3) message = "средне.";
if (score > 6) message = "неплохо.";
if (score > 8) message = "великолепно!!!";
document.forms[0].gamebutton.value = "Посмотреть оригинал";
document.forms[0].inst.value = "Вы выбрали " + score + " из 10 верных. Это " + message;
return;
}
if (x == "Посмотреть оригинал") {
for (i = 0; i < 10; i++) {
document[Parts[i]].src = RealOne[i];
}
document.forms[0].gamebutton.value = "Показать ваше \"творение\"";
return;
}
if (x == "Показать ваше \"творение\"") {
for (i = 0;i<10;i++) {
document[Parts[i]].src = YourOne[i];
}
document.forms[0].gamebutton.value = "Посмотреть оригинал";
return;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table width=120 height=120 cols=7 cellspacing=0 cellpadding=0 border=0>
<tr>
<td width=1 height=1>
<td width=20 height=1>
<td width=20 height=1>
<td width=20 height=1>
<td width=20 height=1>
<td width=20 height=1>
<td width=20 height=1>
<tr>
<td width=1 height=20>
<td rowspan=3 width=20 height=60>
<img name=hairL src="hairL1.gif" width=20 height=60 border=0>
<td colspan=4 width=80 height=20>
<img name=hairM src="hairM1.gif" width=80 height=20 border=0>
<td rowspan=3 width=20 height=60>
<img name=hairR src="hairR1.gif" width=20 height=60 border=0>
<tr>
<td width=1 height=20>
<td colspan=2 width=40 height=20>
<img name=eyeL src="eyeL1.gif" width=40 height=20 border=0>
<td colspan=2 width=40 height=20>
<img name=eyeR src="eyeR1.gif" width=40 height=20 border=0>
<tr>
<td width=1 height=20>
<td rowspan=3 width=20 height=60>
<img name=cheekL src="cheekL1.gif" width=20 height=60 border=0>
<td colspan=2 rowspan=2 width=40 height=40>
<img name=nose src="nose1.gif" width=40 height=40 border=0>
<td rowspan=3 width=20 height=60>
<img name=cheekR src="cheekR1.gif" width=20 height=60 border=0>
<tr>
<td width=1 height=20>
<td width=20 height=20>
<td width=20 height=20>
<tr>
<td width=1 height=20>
<td width=20 height=20>
<td colspan=2 width=40 height=20>
<img name=mouth src="mouth1.gif" width=40 height=20 border=0>
<td width=20 height=20>
<tr>
<td width=1 height=20>
<td colspan=2 width=40 height=20>
<td colspan=2 width=40 height=20>
<img name=chin src="chin1.gif" width=40 height=20 border=0>
<td colspan=2 width=40 height=20>
</table>
<form onSubmit="return false;">
<br>
<input type=text name=inst value="Нажмите Начать случайное рисование! для начала игры." size="55" style="font-size: 8pt; font-family: Arial; color: darkred; border-style: none; border-width: 0">
<br><br>
<input type=button name=gamebutton value="Начать случайное рисование!" onClick="StartGame(this.value);">
<br><br>
<script language="JavaScript">
<!-- Begin
RealOne = new Array();
YourOne = new Array();
Parts = new Array("hairL", "hairM", "hairR", "eyeL", "eyeR", "cheekL", "cheekR", "nose", "chin", "mouth");
var hairL = "Волосы(л)";
var hairR = "Волосы(п)";
var hairM = "Волосы(с)";
var eyeL = "Глаз(л)";
var eyeR = "Глаз(п)";
var cheekL = "Щека(л)";
var cheekR = "Щека(п)";
var nose = "Нос";
var chin = "Подбород.";
var mouth = "Рот";
RParts = new Array("Волосы(л)", "Волосы(с)", "Волосы(п)", "Глаз(л)", "Глаз(п)", "Щека(л)", "Щека(п)", "Нос", "Подбород.", "Рот");
for (x = 0; x < Parts.length; x++) {
document.write("<select name=Prt",x," size=4 style='font-size:1; color:darkred; width:60' onChange=Chosen('",Parts[x],"',this.options[this.selectedIndex].value);>");
document.write("<option selected hidden>",RParts[x],"</option>");
document.write("<option value='1'>1");
document.write("<option value='2'>2");
document.write("<option value='3'>3");
document.write("</select>");
}
// End -->
</script>
<br><br><br>
<input type=button name=newgamebutton value="Новая игра" onClick="NewGame();">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: face.zip


Game26

Головоломка
Великолепный пример JavaScript! Использует совершенно любую ОДНУ! картинку (отмечена жетым цветом в таблице), которую сам "нарезает" на квадратики и перемешивает. Поле игры очень легко позиционируется на странице: первая цифра, отмеченная белым цветом, - это расстояние от левого края страницы, вторая - от верхнего края.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Davey Erwin (daverwin@hotmail.com) -->
<!-- Web Site:  http://daverwin.homepage.com -->

<!-- Begin
// Uses Dan Steinman's Dynapi code
// http://www.dansteinman.com/dynapi/

function Puzzle(q,v,n,W,H,c,g) {
this.mixem=null
this.x=new Array()
this.y=new Array()
this.n=new Array()
this.name=n
this.f=false
this.ma=false
this.g=0
this.w=W/3
this.h=H/3
s=css(n+"kDiv",q,v,W+20,H+60,c)
s+=css(n+"mDiv",10,50,W,H,c)
d='<DIV ID="'+n+'kDiv"><center><font color=blue size=5>'
d+='<a href="javascript:'+n+'.scramble()">Перемешать</a> <br>или '
d+='<a href="javascript:'+n+'.solve()">Решить</a> </font></center>\n'
d+='<DIV ID="'+n+'mDiv">\n'
for(i=0;i<8;i++){
m=n+i
cn1=i
cn2=0
if(cn1>5)cn1-=6,cn2=2
if(cn1>2)cn1-=3,cn2=1
x=this.w*cn1
y=this.h*cn2
s+=css(m+"aDiv",x,y,this.w,this.h,c)
s+=css(m+"bDiv",0-x,0-y,W,H)
d+='<DIV ID="'+m+'aDiv" onclick="javascript:'+n+'.mov('+i+')">'
d+='<DIV ID="'+m+'bDiv"><img src='+g+' height='+H+' width='+W+'>'
d+='</div></div>\n'
this.x[i]=cn1
this.y[i]=cn2
this.n[i]=m + "a"
}
d+='</div></div>\n'
this.x[8]=2
this.y[8]=2
this.s=s
this.d=d
this.getCss  =PuzzleGetCss
this.getDiv  =PuzzleGetDiv
this.move    =PuzzleMove
this.mov     =PuzzleMov
this.scramble=PuzzleSc
this.solve   =PuzzleSolve
this.mixemup =PuzzleSC
this.stop    =PuzzleStop
}
function PuzzleMov(i){if(this.ma)return
eval(this.name+'.move(i)')
}
function PuzzleStop(){
eval('clearInterval('+this.mixem+')')
this.ma=false
}
function PuzzleSc(){if(this.ma)return
this.ma=true
eval('setTimeout("'+this.name+'.stop()",15500)')
eval('this.mixem= setInterval("'+this.name+'.mixemup()",300)')
}
function PuzzleSC(){
this.f=false
while(!this.f){
eval(this.name+'.move('+this.g+++')')
if(this.g==8)this.g=-1}
}
function PuzzleSolve(){if(this.ma)return
for(i=0;i<3;i++){for(j=0;j<3;j++){
if(i*3+j<8)eval(this.n[i*3+j]+'.slideTo(this.w * j,this.h * i)')
this.y[i*3+j]=i
this.x[i*3+j]=j}}
}
function PuzzleMove(n){
x = this.x[n]
y = this.y[n]
w = this.x[8]
z = this.y[8]
if(((x==w)|(y==z))& (((x-1)==w)|((x+1)==w)|((y-1)==z)|((y+1)==z))){
this.f=true
eval(this.n[n]+'.slideTo(this.w*w,this.h*z)')
this.x[n] = w
this.y[n] = z
this.x[8] = x
this.y[8] = y}
}
function PuzzleGetCss(){return this.s}
function PuzzleGetDiv(){return this.d}
function init(){DynLayerInit()}
// Dynamic Layer Object
// sophisticated layer/element targeting and animation object which provides the core functionality needed in most DHTML applications
// 19990604

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

function DynLayer(id,nestref,frame) {
if (!is.ns5 && !DynLayer.set && !frame) DynLayerInit()
this.frame = frame || self
if (is.ns) {
if (is.ns4) {
if (!frame) {
if (!nestref) var nestref = DynLayer.nestRefArray[id]
if (!DynLayerTest(id,nestref)) return
this.css = (nestref)? eval("document."+nestref+".document."+id) : document.layers[id]
}
else this.css = (nestref)? eval("frame.document."+nestref+".document."+id) : frame.document.layers[id]
this.elm = this.event = this.css
this.doc = this.css.document
}
else if (is.ns5) {
this.elm = document.getElementById(id)
this.css = this.elm.style
this.doc = document
}
this.x = this.css.left
this.y = this.css.top
this.w = this.css.clip.width
this.h = this.css.clip.height
}
else if (is.ie) {
this.elm = this.event = this.frame.document.all[id]
this.css = this.frame.document.all[id].style
this.doc = document
this.x = this.elm.offsetLeft
this.y = this.elm.offsetTop
this.w = (is.ie4)? this.css.pixelWidth : this.elm.offsetWidth
this.h = (is.ie4)? this.css.pixelHeight : this.elm.offsetHeight
}
this.id = id
this.nestref = nestref
this.obj = id + "DynLayer"
eval(this.obj + "=this")
}
function DynLayerMoveTo(x,y) {
if (x!=null) {
this.x = x
if (is.ns) this.css.left = this.x
else this.css.pixelLeft = this.x
}
if (y!=null) {
this.y = y
if (is.ns) this.css.top = this.y
else this.css.pixelTop = this.y
}
}
function DynLayerMoveBy(x,y) {
this.moveTo(this.x+x,this.y+y)
}
function DynLayerShow() {
this.css.visibility = (is.ns4)? "show" : "visible"
}
function DynLayerHide() {
this.css.visibility = (is.ns4)? "hide" : "hidden"
}
DynLayer.prototype.moveTo = DynLayerMoveTo
DynLayer.prototype.moveBy = DynLayerMoveBy
DynLayer.prototype.show = DynLayerShow
DynLayer.prototype.hide = DynLayerHide
DynLayerTest = new Function('return true')

// DynLayerInit Function
function DynLayerInit(nestref) {
if (!DynLayer.set) DynLayer.set = true
if (is.ns) {
if (nestref) ref = eval('document.'+nestref+'.document')
else {nestref = ''; ref = document;}
for (var i=0; i<ref.layers.length; i++) {
var divname = ref.layers[i].name
DynLayer.nestRefArray[divname] = nestref
var index = divname.indexOf("Div")
if (index > 0) {
eval(divname.substr(0,index)+' = new DynLayer("'+divname+'","'+nestref+'")')
}
if (ref.layers[i].document.layers.length > 0) {
DynLayer.refArray[DynLayer.refArray.length] = (nestref=='')? ref.layers[i].name : nestref+'.document.'+ref.layers[i].name
}
}
if (DynLayer.refArray.i < DynLayer.refArray.length) {
DynLayerInit(DynLayer.refArray[DynLayer.refArray.i++])
}
}
else if (is.ie) {
for (var i=0; i<document.all.tags("DIV").length; i++) {
var divname = document.all.tags("DIV")[i].id
var index = divname.indexOf("Div")
if (index > 0) {
eval(divname.substr(0,index)+' = new DynLayer("'+divname+'")')
}
}
}
return true
}
DynLayer.nestRefArray = new Array()
DynLayer.refArray = new Array()
DynLayer.refArray.i = 0
DynLayer.set = false

// Slide Methods
function DynLayerSlideTo(endx,endy,inc,speed,fn) {
if (endx==null) endx = this.x
if (endy==null) endy = this.y
var distx = endx-this.x
var disty = endy-this.y
this.slideStart(endx,endy,distx,disty,inc,speed,fn)
}
function DynLayerSlideBy(distx,disty,inc,speed,fn) {
var endx = this.x + distx
var endy = this.y + disty
this.slideStart(endx,endy,distx,disty,inc,speed,fn)
}
function DynLayerSlideStart(endx,endy,distx,disty,inc,speed,fn) {
if (this.slideActive) return
if (!inc) inc = 20
if (!speed) speed = 20
var num = Math.sqrt(Math.pow(distx,2) + Math.pow(disty,2))/inc
if (num==0) return
var dx = distx/num
var dy = disty/num
if (!fn) fn = null
this.slideActive = true
this.slide(dx,dy,endx,endy,num,1,speed,fn)
}
function DynLayerSlide(dx,dy,endx,endy,num,i,speed,fn) {
if (!this.slideActive) return
if (i++ < num) {
this.moveBy(dx,dy)
this.onSlide()
if (this.slideActive) setTimeout(this.obj+".slide("+dx+",
      "+dy+","+endx+", "+endy+","+num+","+i+","+speed+",\""+fn+"\")",speed)
else this.onSlideEnd()
}
else {
this.slideActive = false
this.moveTo(endx,endy)
this.onSlide()
this.onSlideEnd()
eval(fn)
}
}
function DynLayerSlideInit() {}
DynLayer.prototype.slideInit = DynLayerSlideInit
DynLayer.prototype.slideTo = DynLayerSlideTo
DynLayer.prototype.slideBy = DynLayerSlideBy
DynLayer.prototype.slideStart = DynLayerSlideStart
DynLayer.prototype.slide = DynLayerSlide
DynLayer.prototype.onSlide = new Function()
DynLayer.prototype.onSlideEnd = new Function()

// Clip Methods
function DynLayerClipInit(clipTop,clipRight,clipBottom,clipLeft) {
if (is.ie) {
if (arguments.length==4) this.clipTo(clipTop,clipRight,clipBottom,clipLeft)
else if (is.ie4) this.clipTo(0,this.css.pixelWidth,this.css.pixelHeight,0)
}
}
function DynLayerClipTo(t,r,b,l) {
if (t==null) t = this.clipValues('t')
if (r==null) r = this.clipValues('r')
if (b==null) b = this.clipValues('b')
if (l==null) l = this.clipValues('l')
if (is.ns) {
this.css.clip.top = t
this.css.clip.right = r
this.css.clip.bottom = b
this.css.clip.left = l
}
else if (is.ie) this.css.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"
}
function DynLayerClipBy(t,r,b,l) {
this.clipTo(this.clipValues('t')+t,this.clipValues('r')+r,this. clipValues('b')+b,this.clipValues('l')+l)
}
function DynLayerClipValues(which) {
if (is.ie) var clipv = this.css.clip.split("rect(")[1].split(")")[0].split("px")
if (which=="t") return (is.ns)? this.css.clip.top : Number(clipv[0])
if (which=="r") return (is.ns)? this.css.clip.right : Number(clipv[1])
if (which=="b") return (is.ns)? this.css.clip.bottom : Number(clipv[2])
if (which=="l") return (is.ns)? this.css.clip.left : Number(clipv[3])
}
DynLayer.prototype.clipInit = DynLayerClipInit
DynLayer.prototype.clipTo = DynLayerClipTo
DynLayer.prototype.clipBy = DynLayerClipBy
DynLayer.prototype.clipValues = DynLayerClipValues

// Write Method
function DynLayerWrite(html) {
if (is.ns) {
this.doc.open()
this.doc.write(html)
this.doc.close()
}
else if (is.ie) {
this.event.innerHTML = html
}
}
DynLayer.prototype.write = DynLayerWrite

// BrowserCheck Object
function BrowserCheck() {
var b = navigator.appName
if (b=="Netscape") this.b = "ns"
else if (b=="Microsoft Internet Explorer") this.b = "ie"
else this.b = b
this.version = navigator.appVersion
this.v = parseInt(this.version)
this.ns = (this.b=="ns" && this.v>=4)
this.ns4 = (this.b=="ns" && this.v==4)
this.ns5 = (this.b=="ns" && this.v==5)
this.ie = (this.b=="ie" && this.v>=4)
this.ie4 = (this.version.indexOf('MSIE 4')>0)
this.ie5 = (this.version.indexOf('MSIE 5')>0)
this.min = (this.ns||this.ie)
}
is = new BrowserCheck()

// CSS Function
function css(id,left,top,width,height,color,vis,z,other) {
if (id=="START") return '<STYLE TYPE="text/css">\n'
else if (id=="END") return '</STYLE>'
var str = (left!=null && top!=null)? '#'+id+' {position:absolute; left:'+left+'px; top:'+top+'px;' : '#'+id+' {position:relative;'
if (arguments.length>=4 && width!=null) str += ' width:'+width+'px;'
if (arguments.length>=5 && height!=null) {
str += ' height:'+height+'px;'
if (arguments.length<9 || other.indexOf('clip')==-1) str += ' clip:rect(0px '+width+'px '+height+'px 0px);'
}
if (arguments.length>=6 && color!=null) str += (is.ns)? ' layer-background-color:'+color+';' : ' background-color:'+color+';'
if (arguments.length>=7 && vis!=null) str += ' visibility:'+vis+';'
if (arguments.length>=8 && z!=null) str += ' z-index:'+z+';'
if (arguments.length==9 && other!=null) str += ' '+other
str += '}\n'
return str
}
function writeCSS(str,showAlert) {
str = css('START')+str+css('END')
document.write(str)
if (showAlert) alert(str)
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="init()">

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
puz = new Puzzle(80, 140, 'puz', 201, 201, '#ffcc00',
 'dracan2.gif');

// Name = new Puzzle(Xpos, Ypos, 'Name', width, height, 'Color', 'GifPath');
// Name must be the same in both places GifPath may be relative or absolute

writeCSS( puz.getCss() );
//  End -->
</script>

Содержимое этой таблицы поместите прямо перед </BODY>

<script>
document.write( puz.getDiv() ); // change 'puz' to the name you gave your puzzle above
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

dracan2.gif


Game80

Головоломка
Можно добавить сколько угодно своих рисунков. Этот рисунок Вы найдете здесь. В таблицах приведены полные коды документов, нужных для игры. Первый документ, к тому же, может иметь и другую полезную информацию (см. таблицу), второй - нет! Эта pop-up страница существует только для работы скрипта.

Кликните по рисунку

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Game80</title>

<script language="javascript">
// ------ this function is all you need to modify in this script ------

function defineImages() {
picPool[0] = new picPara("laputa4.jpg",450,350,6,5,10,"image from Laputa, 450x350, 6x5, 20kb");
// ПО АНАЛОГИИ МОЖЕТЕ ДОБАВИТЬ СКОЛЬКО УГОДНО РИСУНКОВ (меняйте номер в квадр. скобках!)
}

//------ you don't need to care about the following codes ------

var isIE4 = false; isNN4 = false;

var picPool = new Array();
var pic_image_source = "";
var pic_image_width = 0;
var pic_image_height = 0;
var pic_grip_x = 1;
var pic_grip_y = 1;
var pic_table_gap = 0;

var puzzle_window = null;

function mouseHover() {
window.status = picPool[this.index].info;
return true;
}

function mouseGone() {
window.status = window.defaultStatus;
return true;
}

function mouseClick() {
goPuzzleX(this.index);
return false;
}

function
     picPara(image_source,image_width,image_height,grip_x,grip_y,table_gap,image_info)

 {
this.source = image_source;
this.width = image_width;
this.height = image_height;
this.grip_x = grip_x;
this.grip_y = grip_y;
this.table_gap = table_gap;
this.info = image_info;
}

function setupImages() {
isIE4 = (document.all)?true:false; isNN4 = (document.layers)?true:false;

defineImages();

var linksCount = document.links.length, hashIndex = -1, puzzleIndex = -1, hashTag = "puzzlex";
for (var i = 0; i < linksCount; i++) {
hashIndex = document.links[i].hash.indexOf(hashTag);
if (hashIndex != -1) {
puzzleIndex = parseInt(document.links[i].hash.substring(hashIndex+7));
document.links[i].index = puzzleIndex;
document.links[i].onmouseover = mouseHover;
document.links[i].onmouseout = mouseGone;
document.links[i].onclick = mouseClick;
}
}
}

function Build_Puzzle() {
var window_para = "width=" + (pic_image_width + pic_table_gap * 6) +",height=" + (pic_image_height + pic_table_gap * 6) + ",titlebar=1";

if (isIE4 || isNN4) {
if (puzzle_window != null)
if (!puzzle_window.closed)
puzzle_window.close();

puzzle_window = window.open("Game80a.htm", "Puzzle_Window", window_para); }
else {
alert("Извините. \nДля игры требуется браузер не ниже 4 версии.");
}
}

function goPuzzleX(pic_index) {
pic_image_source = picPool[pic_index].source;
pic_image_width = picPool[pic_index].width;
pic_image_height = picPool[pic_index].height;
pic_grip_x = picPool[pic_index].grip_x;
pic_grip_y = picPool[pic_index].grip_y;
pic_table_gap = picPool[pic_index].table_gap;

Build_Puzzle();
}
</script>

</head>

<body onload="setupImages()">

<!---ВАШ КОНТЕНТ
    МОЖЕТ БЫТЬ ГДЕ УГОДНО НА ЭТОЙ СТРАНИЦЕ--->

<p align="center"><b>Кликните по рисунку</b></p>
<table align=center cellpadding=0 cellspacing=3 border=1>
<tr align=center valign=middle>
<td><a href="#puzzlex0"><img src="tn_laputa4.gif" width=56 height=45 border=0></a></td>
<!--РИСУНКИ ДОБАВЛЯЮТСЯ ЗДЕСЬ (с соответствующим номером!)--->
</tr>
</table><br clear=all>
<BR><BR>
</font>
<!---ВАШ КОНТЕНТ
    МОЖЕТ БЫТЬ ГДЕ УГОДНО НА ЭТОЙ СТРАНИЦЕ--->

</body>

</html>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--
+------------------------------------------------------------+
| Puzzle OnSite Version 2.1 |
| Created 10/11/1999 Last Modified 03/09/2000 |
| Web Site: http://yx.webprovider.com |
| eMail: yangxin@iname.com |
+------------------------------------------------------------+
| Copyright 1999,2000 Xin Yang All Rights Reserved. |
+------------------------------------------------------------+
| For personal purpose, send me your URL and put a link back |
| to my web site, then you can use this script free. |
| |
| For commercial purpose, obtain quotation for referencing, |
| using, hosting, selling or distributing this script. |
| |
| In all cases copyright must remain intact. |
+------------------------------------------------------------+
-->

<html>

<head>
<title>Puzzle OnSite</title>

<script language="javascript">
<!-- the script begins

var isNN4 = false;
var isIE4 = false;

var pic_id = "pic";
var pic_table = "picb";

var pic_index = 2;

var pic_base_x = 0;
var pic_base_y = 0;

var pic_image = null;
var pic_image_width = 0;
var pic_image_height = 0;
var pic_grip_x = 1;
var pic_grip_y = 1;
var pic_table_gap = 0;

var pic_grip_width = 0;
var pic_grip_height = 0;
var layer_length = 0;

var layer_recovered = 0;

var pic_image_top = 0;
var pic_table_top = 0;
var pic_table_bottom = 0;
var pic_table_left = 0;
var pic_table_right = 0;

var game_started = false;

var active_layer = null;
var host_layer = null;

var current_x = 0;
var current_y = 0;

var move_timer = 0;
var move_max_step = 64
var move_step = move_max_step;
var move_start = 1;
var move_solve = 2;
var move_ongoing = 3;
var move_status = move_start;

function Event_Init() {
document.onmousedown = Mouse_Down;
document.onmousemove = Mouse_Move;
document.onmouseup = Mouse_Up;

if (isNN4)
document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.MOUSEMOVE);
}

function Event_Release() {
document.onmousedown = null;
document.onmousemove = null;
document.onmouseup = null;

if (isNN4)
document.releaseEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.MOUSEMOVE);
}

function Layer_Top(layer_pointer) {
if (isIE4)
return layer_pointer.style.pixelTop
else
return layer_pointer.top;
}

function Layer_Left(layer_pointer) {
if (isIE4)
return layer_pointer.style.pixelLeft
else
return layer_pointer.left;
}

function Layer_Index(layer_pointer) {
if (isIE4)
return layer_pointer.style.zIndex
else
return layer_pointer.zIndex;
}

function Index_Layer(layer_pointer,new_index) {
if (isIE4)
layer_pointer.style.zIndex = new_index
else
layer_pointer.zIndex = new_index;
}

function Move_Layer(layer_pointer,left_offset,top_offset) {
if (isIE4) {
layer_pointer.style.pixelLeft += left_offset;
layer_pointer.style.pixelTop += top_offset;
}
else {
layer_pointer.left += left_offset;
layer_pointer.top += top_offset;
}
}

function Get_ID(layer_num) {
return pic_id + layer_num + "";
}

function Get_Layer(layer_id) {
if (isIE4)
return document.all[layer_id]
else
return document.layers[layer_id];
}

function Assign_Layer() {
var layer_id = "";
var layer_div = "";
var layer_str = '<img src="' + pic_image.src + '" width="' + pic_image_width + '" height="' + pic_image_height + '" border="0">';
var layer_clip = "";
var layer_clip_top = 0;
var layer_clip_bottom = 0;
var layer_clip_left = 0;
var layer_clip_right = 0;
var the_layer = null;
var layer_num = 0;

for (var i = 1 ; i <= pic_grip_y; i++)
for (var j = 1; j <= pic_grip_x; j++) {
layer_num = (i - 1) * pic_grip_x + j;
layer_id = Get_ID(layer_num);

layer_clip_top = (i - 1) * pic_grip_height;
layer_clip_bottom = i * pic_grip_height;
layer_clip_left = (j - 1) * pic_grip_width;
layer_clip_right = j * pic_grip_width;
layer_clip = "(" + layer_clip_top + "px " + layer_clip_right + "px " + i * pic_grip_height + "px " + layer_clip_left + "px)";

if (isIE4) {
layer_div = '<div id="' + layer_id + '" ' + 'style="position:absolute; top:' + pic_base_y + '; left:' + pic_base_x + '; width:' + pic_image_width + '; height:' + pic_image_height + '; clip:rect' + layer_clip + '; visibility:visible; ' + 'z-index:' + pic_index + ';">' + layer_str + '</div>';
document.body.insertAdjacentHTML("BeforeEnd",layer_div);

the_layer = document.all[layer_id];
}
else {
document.layers[layer_id] = new Layer(pic_image_width);

with (document.layers[layer_id]) {
height = pic_image_height;
top = pic_base_y;
left = pic_base_x;
clip.top = layer_clip_top;
clip.left = layer_clip_left;
clip.bottom = layer_clip_bottom;
clip.right = layer_clip_right;
zIndex = pic_index;
document.open();
document.writeln(layer_str);
document.close();
visibility = "show";
}

the_layer = document.layers[layer_id];
}

the_layer.clip_left = layer_clip_left;
the_layer.clip_top = layer_clip_top;
the_layer.dx = pic_base_x + the_layer.clip_left;
the_layer.dy = pic_base_y + the_layer.clip_top;
the_layer.nx = the_layer.dx;
the_layer.ny = the_layer.dy;
the_layer.lodger = layer_id;
}
}

function Check_Status() {
move_step = move_max_step;

if (move_status == move_start) {
move_status = move_ongoing;
game_started = true;
Event_Init();
}

if (move_status == move_solve) {
move_status = move_start;
game_started = false;
Event_Init();
}

if (move_status == move_ongoing) {
if (layer_recovered == layer_length) {
active_layer = null;
move_status = move_start;
alert("Поздравляем !\n\nВы решили эту головоломку.");
game_started = false;
}
}
}

function Move_In() {
var the_layer = null;
var layer_touched = false;
var layer_dx = 0;
var layer_dy = 0;
var nx = 0;
var ny = 0;
var layer_id = "";

layer_recovered = 0;

for (var i = 0 ; i < layer_length; i++) {
layer_id = Get_ID(i + 1);
the_layer = Get_Layer(layer_id);

if ((the_layer.nx == the_layer.dx) && (the_layer.ny == the_layer.dy))
layer_recovered++;

nx = Layer_Left(the_layer) + the_layer.clip_left;
ny = Layer_Top(the_layer) + the_layer.clip_top;

if ((nx != the_layer.nx) || (ny != the_layer.ny)) {
layer_touched = true;

if (the_layer != active_layer) {
layer_dx = (the_layer.nx - nx)/move_step;
layer_dy = (the_layer.ny - ny)/move_step;

layer_dx = (layer_dx > 0)?Math.ceil(layer_dx):Math.floor(layer_dx);
layer_dy = (layer_dy > 0)?Math.ceil(layer_dy):Math.floor(layer_dy);

Move_Layer(the_layer,layer_dx,layer_dy);
}
}
}

if (layer_touched) {
move_step = (move_step>4)?move_step/2:2;
move_timer = setTimeout("Move_In()",200);
}
else
Check_Status();
}

function Check_Layer(x,y,offset_x,offset_y) {
var layer_x = 0;
var layer_y = 0;
var layer_id = "";

layer_x = Math.floor((x - pic_base_x + offset_x/2)/pic_grip_width);
layer_y = Math.floor((y - pic_base_y + offset_y/2)/pic_grip_height);
layer_id = Get_ID(layer_y * pic_grip_x + layer_x + 1);

return layer_id;
}

function Check_Position() {
var target_layer = null;
var lodger_layer = null;
var target_id = "";
var lodger_id = "";

Event_Release();
clearTimeout(move_timer);

target_id = Check_Layer(Layer_Left(active_layer) + active_layer.clip_left, Layer_Top(active_layer) + active_layer.clip_top, pic_grip_width, pic_grip_height);
target_layer = Get_Layer(target_id);
lodger_id = target_layer.lodger;
lodger_layer = Get_Layer(lodger_id);

if (active_layer != lodger_layer) {
target_layer.lodger = host_layer.lodger;
host_layer.lodger = lodger_id;

active_layer.nx = target_layer.dx;
active_layer.ny = target_layer.dy;

lodger_layer.nx = host_layer.dx;
lodger_layer.ny = host_layer.dy;

if (pic_index > Layer_Index(lodger_layer)) {
Index_Layer(lodger_layer,++pic_index);
Index_Layer(active_layer,++pic_index);
}
}

active_layer = null;

Event_Init();

move_status = move_ongoing;
Move_In();
}

function Touched(mouse_x,mouse_y) {
var target_layer = null;
var target_id = "";
var host_id = "";

if (mouse_x >= pic_base_x && mouse_x <= (pic_base_x + pic_image_width - 1) && mouse_y >= pic_base_y && mouse_y <= (pic_base_y + pic_image_height - 1)) {
host_id = Check_Layer(mouse_x,mouse_y,0,0);
host_layer = Get_Layer(host_id);
target_id = host_layer.lodger;
target_layer = Get_Layer(target_id);
}

return target_layer;
}

function Mouse_Down(e) {
if (!game_started)
Start_Game()
else {
if (isIE4)
active_layer = Touched(event.clientX + document.body.scrollLeft, event.clientY + document.body.scrollTop)
else
active_layer = Touched(e.pageX,e.pageY);

if (active_layer != null) {
if (isIE4) {
current_x = event.clientX + document.body.scrollLeft;
current_y = event.clientY + document.body.scrollTop;
}
else {
current_x = e.pageX;
current_y = e.pageY;
}

Index_Layer(active_layer,++pic_index);
}
else
Solve_Puzzle();
}

return false;
}

function Mouse_Move(e) {
var layer_x = 0;
var layer_y = 0;
var new_x = 0;
var new_y = 0;
var distance_x = 0;
var distance_y = 0;

if (active_layer != null) {
layer_x = Layer_Left(active_layer) + active_layer.clip_left;
layer_y = Layer_Top(active_layer) + active_layer.clip_top;

if (isIE4) {
new_x = event.clientX + document.body.scrollLeft;
new_y = event.clientY + document.body.scrollTop;
}
else {
new_x = e.pageX;
new_y = e.pageY;
}

distance_x = (new_x - current_x);
distance_y = (new_y - current_y);

if ((layer_x + distance_x) < pic_table_left)
distance_x = pic_table_left - layer_x;
if ((layer_x + pic_grip_width -1 + distance_x) > pic_table_right)
distance_x = pic_table_right - (layer_x + pic_grip_width -1);
if ((layer_y + distance_y) < pic_table_top)
distance_y = pic_table_top - layer_y;
if ((layer_y + pic_grip_height - 1 + distance_y) > pic_table_bottom)
distance_y = pic_table_bottom - (layer_y + pic_grip_height - 1);

current_x += distance_x;
current_y += distance_y;

Move_Layer(active_layer,distance_x,distance_y);
}

return false;
}

function Mouse_Up(e) {
if (active_layer != null)
Check_Position()

return false;
}

function Shuffle_Puzzle() {
var layer_empty = new Array();
var layer_position = 0;
var the_layer = null;
var target_layer = null;
var this_id = "";
var target_id = "";

for (var i = 0; i < layer_length; i++)
layer_empty[i] = true;

for (i = 0; i < layer_length; i++) {
this_id = Get_ID(i + 1);
the_layer = Get_Layer(this_id);

layer_position = Math.floor(Math.random() * (layer_length - i));

for (var j = 0; j < layer_length; j++)
if (layer_empty[j]) {
if (layer_position == 0) {
layer_empty[j] = false;
target_id = Get_ID(j + 1);
break;
}
else
layer_position--;
}

target_layer = Get_Layer(target_id);

the_layer.nx = target_layer.dx;
the_layer.ny = target_layer.dy;
target_layer.lodger = this_id;
}
}

function Start_Game(){
if ((pic_grip_width > (pic_table_gap * 2)) && (pic_grip_height > (pic_table_gap * 2))) {
Event_Release();

Shuffle_Puzzle();

move_status = move_start;
Move_In();
}
else
alert("Размер рисунка слишком мал.");
}

function Solve_Puzzle() {
var the_layer = null;
var this_id = "";

Event_Release();
clearTimeout(move_timer);
pic_index = 2;

for (var i = 0; i < layer_length; i++) {
this_id = Get_ID(i + 1);
the_layer = Get_Layer(this_id);
Index_Layer(the_layer,pic_index);

the_layer.nx = the_layer.dx;
the_layer.ny = the_layer.dy;
}

move_step = move_max_step;
move_status = move_solve;
Move_In();
}

function Show_Border() {
var layer_b = '<table align="center" width="' + (pic_image_width + pic_table_gap * 2) + '" height="' + (pic_image_height + pic_table_gap * 2) + '" bgcolor="#C0C0C0" cellpadding="0" cellspacing="0" border="1"><tr align="center" valign="middle"><td>&nbsp;</td></tr></table>';

if (isIE4)
document.body.insertAdjacentHTML("BeforeEnd",'<div id="' + pic_table + '" style="position:absolute; left:' + (pic_base_x - pic_table_gap) + '; top:' + (pic_base_y - pic_table_gap) + '; width:' + (pic_image_width + pic_table_gap * 2) + '; height:' + (pic_image_height + pic_table_gap * 2) + '; visibility:visible; z-index:1;">' + layer_b + '</div>')
else {
document.layers[pic_table] = new Layer(pic_image_width + pic_table_gap * 2);

with (document.layers[pic_table]) {
height = pic_image_height + pic_table_gap * 2;
left = pic_base_x - pic_table_gap;
top = pic_base_y - pic_table_gap;
document.open();
document.writeln(layer_b);
document.close();
zIndex = 1;
visibility = "show";
}
}
}

function Position_Image() {
var block_window_width = 0;
var block_window_height = 0;

if (isIE4) {
block_window_width = document.body.clientWidth;
block_window_height = document.body.clientHeight;
}
else {
block_window_width = window.innerWidth;
block_window_height = window.innerHeight;
}

pic_base_x = Math.floor((block_window_width - pic_image_width)/2);
pic_base_y = Math.floor((block_window_height - pic_image_height)/2);

if (pic_base_x < pic_table_gap)
pic_base_x = pic_table_gap;
if (pic_base_y < pic_image_top)
pic_base_y = pic_image_top;

pic_table_top = pic_base_y - pic_table_gap + 1;
pic_table_left = pic_base_x - pic_table_gap + 1;
pic_table_bottom = pic_base_y + pic_image_height + pic_table_gap -1;
pic_table_right = pic_base_x + pic_image_width + pic_table_gap -1;
}

function Check_Image() {
if (window.opener != null) {
pic_image_width = window.opener.pic_image_width;
pic_image_height = window.opener.pic_image_height;
pic_grip_x = window.opener.pic_grip_x;
pic_grip_y = window.opener.pic_grip_y;
pic_table_gap = window.opener.pic_table_gap;

pic_grip_width = pic_image_width / pic_grip_x;
pic_grip_height = pic_image_height / pic_grip_y;
layer_length = pic_grip_x * pic_grip_y;

pic_image = new Image(pic_image_width,pic_image_height);
pic_image.onload = _Game_Init;
pic_image.src = window.opener.pic_image_source;
}
else {
alert("Извините !\nСкрипт не может работать напрямую. Откройте сначала файл с рисунками.");
}
}

function _Game_Init() {
Position_Image();
Show_Border();
Assign_Layer();
Event_Init();
}

function Game_Init() {
isNN4 = document.layers;
isIE4 = document.all;

if (isIE4 || isNN4) {
Check_Image();
}
else {
alert("Извините. \n\nДля игры требуется браузер не ниже 4 версии.");
}
}

// the script ends -->
</script>
</head>

<body text="#000066" bgcolor="#C0C0C0" onload="Game_Init();">
<table width=100% height=100% align=center border=0><tr align=center valign=middle><td><b><font face="verdana,arial" size=2>Загрузка ...</font></b></td></tr></table>
</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game39

Закрой все книги!
Для работы этой игрушки, открываемой в отдельном окне, Вам потребуется создать два HTML документа. Их полные коды приведены в таблицах. Сохраните эти документы в одной директории и открывайте для игры только первый - Game39a.htm. Требуется поддержка Вашим браузером фреймов.

Полный код для страницы Game39a.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--
if (self.location!=top.location) top.location=''+self.location;

ie4=(navigator.appName.indexOf("Microsoft")!=-1 && parseInt(navigator.appVersion)>3)?true:false;
ie3=(navigator.appName.indexOf("Microsoft")!=-1 && parseInt(navigator.appVersion)<4)?true:false;

boardSize=10;
maxF=4;
nClicks=0;
Level=1;
sayingBye=0;

if (document.images) {
Img0=new Image(); Img0.src='book0.gif';
Img1=new Image(); Img1.src='book1.gif';
}

f=new Array();
for (i=0;i<20;i++) {
f[i]=new Array();
for (j=0;j<20;j++) {
f[i][j]=0;
}
}

function changeGroup(i,j) {
f[i][j]=1-f[i][j];
for (var k=0;k<boardSize;k++) {
f[k][j]=1-f[k][j];
f[i][k]=1-f[i][k];
}
}

function clk(iMove,jMove) {
if (gameOver) return;
changeGroup(iMove,jMove);
drawSquare(iMove,jMove);
nClicks++;
self.fb.document.form1.clickCount.value=''+nClicks;
gameOver=testResult();
if (gameOver) {
playAgain=alert('Поздравляем! Вы сделали всего нажатий: '+nClicks+'.')
}
}

function testResult() {
for (var i=0;i<boardSize;i++) {
for (var j=0;j<boardSize;j++) {
if (f[i][j]!=0) return 0;
}
}
return 1;
}

function drawSquare(i,j) {
if (document.images) {
for (var k=0;k<boardSize;k++) {
eval('self.f1.document.book'+k+'_'+j+'.src= "book'+f[k][j]+'.gif"');
eval('self.f1.document.book'+i+'_'+k+'.src= "book'+f[i][k]+'.gif"');
}
}
}

buf='';

function writeBoard () {
if (parseInt(navigator.appVersion)>3) docID=top.f1.document.open("text/html","replace");
buf+='<html><head><title>Board</title>';
if (navigator.appName=="Netscape") buf+= '<base href="'+top.document.location+'">';
buf+='</head><body bgcolor="#FFFFFF"> <a name="book"></a><center><pre';
for (i=0;i<boardSize;i++) {
for (j=0;j<boardSize;j++) {
buf+='\n><a href="#book" onClick="top.clk('+i+','+j+'); if(top.ie4)this.blur();return false;" >
    <img name="book'+i+'_'+j+'" src="book'+f[i][j]+'.gif" width=16 height=16 border=0></a';
}
buf+='\n><br';
if (buf.length>20000) {top.f1.document.writeln(buf); buf='';}
}
buf+='\n></pre></center></body></html>';
top.f1.document.writeln(buf);
top.f1.document.close();
buf='';
}

function resetGame() {
sayingBye=0;
gameOver=0;
nClicks=0;
for (var i=0;i<20;i++) {
for (var j=0;j<20;j++) {
f[i][j]=0;
}
}

nGroups=1+Level*boardSize/10;
for (var k=0;k<nGroups;k++) {
m=Math.floor(boardSize*Math.random());
n=Math.floor(boardSize*Math.random());
changeGroup(m,n);
}
}

function init() {
resetGame();
writeBoard();
setTimeout("top.fb.document.form1. clickCount.value=0",500);
}

//-->
</script>
<script language="JavaScript1.2">
<!--
onresize=function(){if(navigator.appName== "Netscape" && parseInt(navigator.appVersion)==4)
    setTimeout("writeBoard()",150);}
//-->
</script>

</head>

<frameset border="0" frameBorder="0" frameSpacing="0" onload="self.focus();" rows="80,67%">
<frame marginHeight="1" name="fb" scrolling="no" src="Game39b.htm" target="main">
<frame marginHeight="3" name="f1" scrolling="no" src="Game39b.htm" target="main">

</frameset>
</html>

Полный код для страницы Game39b.htm

 <html>

<head>

<title></title>
<base target="main">
</head>

<body bgColor="#ffffff" onload="top.init();if(top.displayAds)top.displayAds()">
<script language="JavaScript">
<!--
newSize=0;
function init() {}
//-->
</script>

<form name="form1">
<div align="center"><center><table border="0" cellPadding="3" cellSpacing="3">

<tr>
<td><font face="MS Sans Serif" size="1"> <input type="button" value="Новая игра"
name="NewGame" style="font-family: MS Sans Serif; font-size: 1" onclick="top.init()"></font></td>
<td><font face="MS Sans Serif" size="1"> <font point-size="10">Размер:</font>&nbsp;<select
onchange="top.boardSize=parseInt(this. options[this.selectedIndex].value);top.init()"
size="1" style="font-family: MS Sans Serif; font-size: 1">
<option selected value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select> </font></td>
<td><font face="MS Sans Serif" size="1"> <font point-size="10">Уровень:</font>&nbsp;<select
onchange="top.Level=parseInt(this. options[this.selectedIndex].value);
 top.init()" size="1"
style="font-family: MS Sans Serif; font-size: 1">
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select> </font></td>
<td><font face="MS Sans Serif" size="1"> <font point-size="10">Нажатий:&nbsp;</font><input
name="clickCount" size="3" value="0" style="font-family: MS Sans Serif; font-size: 1"></font></td>
</tr>

</table>
</center></div>
</form>
</body>
</html>

Скрипт для открытия Game39a.htm c этой страницы (с использованием кнопки) НЕОБЯЗАТЕЛЕН !!!

<head>

<script language="javascript" type="text/javascript">
<!--
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition= (screen.width)?Math. floor(Math.random()*(screen.width-w)):100;
 TopPosition=(screen.height)?Math. floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;
 TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+', top='+TopPosition+', left='+LeftPosition+',scrollbars='+scroll+',
 location=no,directories=no,status=no, menubar=no, toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
if(win.focus){win.focus();}}
function CloseNewWin() {if(win!=null && win.open)win.close()}
window.onfocus=CloseNewWin;
// -->
</script>

</head>

<body>

<form>
<input type=button value="Играть!"  onclick="NewWindow('Game39a.htm','Game39','500','500','no','center');return false"
 onfocus="this.blur()">
</form>

</body>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: book.zip


Game41

Захватчики
(простенькая, но увлекательная игрушка)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!-- Эта программа была сделана Hiroshi Okada.-->
<!-- Модиф. 4/4/2001 EZ http://javashelp.cjb.net-->
<script language="JavaScript">

// ---- Make array
function MakeArray( n){
this.length = n;
for (var i = 1; i <= n; i++) {
this[i] = 0
}
return this
}

// ----- poor man's random number
var d0 = new Date();
var r0 = d0.getSeconds();
function poor_rand(){
d1 = new Date();
r0 = (r0 * r0 + r0 + d1.getSeconds()) % 3721 ;
return r0 % width_n;
}

// ---- Parameters of game
var height_n = 8;
var width_n =5;

// ---- state of game
var enemy = new MakeArray( width_n); // enemy positions
var wtime; // wait time
var score; // points
var gameover; // in case of gameover set to true

// ----- Make the battlefield.
document.write( "<FORM NAME='fm1'>");
document.write( "<table style=\"border: 2 outset\"><tr><td bgcolor=\"#CCCCCC\" align=center>");
document.write( "<INPUT TYPE='text' NAME='message' value=\"Нажмите СТАРТ !\" readonly style=\"background-color:#000000; font-family: MS Sans Serif; font-size:2; font-weight: bold; color:lime\" SIZE=20>");
document.write( "<br>_________________");
document.write( "</FORM>");
document.write( "<FORM NAME='fm2'><TABLE>");
for( var i=0; i<height_n; i++){
document.write( "<TR>");
for( var j=0;j<width_n; j++){
document.write( "<TD><CENTER><INPUT TYPE='radio'></CENTER></TD>");
}
document.write( "</TR>");
}
document.write( "<TR>");
for( var j=0;j<width_n; j++){
document.write( "<TD><INPUT TYPE='button' VALUE=' ' style=\"background-image: url(\'arrow.gif\'); height:22\" onClick='fire(" + j + ")'></TD>");
}
document.write( "</TR>");
document.write( "</TABLE>");
document.write( "<INPUT TYPE='button' style=\"color:red\" VALUE='СТАРТ' onClick='game_start()'>");
document.write( "</td></tr></table>");
document.write( "</FORM>");
// ----- game main timer event
// ----- enemy come one step
function come(){
var n = poor_rand();
document.fm2.elements[ width_n * enemy[n+1] + n].checked = true;
enemy[n+1]++;
if( enemy[n+1] < height_n){
setTimeout("come()", wtime);
}else{
gameover = true;
document.fm1.message.value = "ИГРА ОКОНЧЕНА: " + score ;
}
}

// ----- Fire the n th beam
function fire( n){
if( gameover ) return;
for( var i=0; i<enemy[n+1]; i++){ // clear enemy
document.fm2.elements[ width_n * i + n].checked = false;
}
score += enemy[ n+1];
document.fm1.message.value = "ОЧКИ: " + score;
enemy[ n+1] = 0;
if( wtime > 100){ wtime -= 10};
}

// ---- initialize & start game
function game_start(){
for( var n=0; n<width_n; n++){
for( var i=0; i<enemy[n+1]; i++){
document.fm2.elements[ width_n * i + n].checked = false;
}
enemy[n+1] = 0;
}
wtime = 400;
score = 0;
gameover = false;
document.fm1.message.value = "ОЧКИ: " + score;
setTimeout("come()", wtime);
}

// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

arrow.gif


Game32

Змейка
Для игры используются клавиши клавиатуры: "вверх", "вниз", "влево" и "вправо". Так как при нажатии на эти клавиши, одновременно с управлением игрой, происходит дергание страницы, имеющей скроллбары, то игру следует раполагать в отдельном, без скроллинга окне. Относительно правил игры. Змейка растет, съедая яблоко, удлинняясь на одно звено после каждого яблока. Направляйте "голову" змейки на яблоко, но имейте ввиду, что змейка не может двигаться назад - считается, что она, таким образом, ест саму себя и после чего, естественно, умирает. Нельзя также "ударять" змейку о край игрового поля. Результат - змейка умирает.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE TYPE="text/css">
.item{}
.worm1 {
font-weight:bold;
font-size:10pt;
color:blue;
background:white;
width:150px;
BORDER-BOTTOM: #ffffff solid 0px;
BORDER-TOP: #ffffff solid 0px;
BORDER-LEFT: #ffffff solid 0px;
BORDER-RIGHT: #ffffff solid 0px;
}
.worm2 {
font-weight:bold;
font-size:12pt;
color:red;
background:white;
width:150px;
BORDER-BOTTOM: #ffffff solid 0px;
BORDER-TOP: #ffffff solid 0px;
BORDER-LEFT: #ffffff solid 0px;
BORDER-RIGHT: #ffffff solid 0px;
}
.info {
font-weight:bold;
font-size:10pt;
color:black;
background:white;
width:150px;
height:100px;
BORDER-BOTTOM: #ffffff solid 0px;
BORDER-TOP: #ffffff solid 0px;
BORDER-LEFT: #ffffff solid 0px;
BORDER-RIGHT: #ffffff solid 0px;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Clayton Carlson (clayton@awebmaker.com) -->
<!-- Web Site: http://www.awebmaker.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var height = 20; //height of the game area
var width = 20; //width of the game area
var speed = 500 //speed, higher = slower
width += 2;
var a = 0;
var b = 0;
document.write("<table bgcolor=white bordercolor=black ");
document.write("align=center border=1 cellpadding=0 cellspacing=0><tr><td>");
for (b = 0; b < height+2; b++) {
document.write("<img src=end.gif width=0 height=0>");
for (a = 0; a < width- 2; a++) {
if ((b == 0) || (b == height+1)) {
document.write("<img src=end.gif width=0 height=0>");
}
else {
document.write("<img src=blank2.gif width=15 height=15>");
}
}
document.write("<img src=end.gif width=0 height=0><br>");
}
document.write("</td>");
document.write("<td valign=top align=center bgcolor=white>");
document.write("<p align=center><strong><font color=blue>Змейка</font></strong></p>");
document.write("<br>");
document.write("<form name=info>");
document.write("<input type=button size=28 value=0 class=worm1></form>");
document.write("<br><font size=-2>Для начала нажмите любую<br>стрелку на клавиатуре</font></td></tr></table>");

var points = 0;
var go = 1;
var di = 0;
var x = 0;
var y = 0;
var n = 0;
document.images[1].src = "blank2.gif";
var blank = document.images[1].src;
var hw = (height * width);
var o = Math.floor(Math.random() * hw - 2);
do {
o = Math.floor(Math.random() * hw-2);
} while(document.images[o].src != blank);
var i = o;
var food = 0;
do {
food = Math.floor(Math.random() * hw-2);
} while (document.images[food].src != blank);
document.images[i].src = "worm.gif";
document.images[width-1].src="end.gif";
var end = document.images[width-1].src;
var file = document.images[i].src;
var length = 1;
var worm = new Array();
var k = 0;
var ie = document.all ? 1 : 0;
var enableScroll = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >3)) ;
var height = document.images[0].height;
var tScroll;
var d = 0;
function runTimer() {
if (d != 0) { n++; }
if (d == 1) { i--; }
if (d == 2) { i++; }
if (d == 3) { i += width; }
if (d == 4) { i -= width; }
if (document.images[i].src == end) {
speed -= 400; i = worm[n-1]; di = 1; die();
}
worm[n] = i;
if(i == food) {
length++; points += (10*length);
do {
food = Math.floor(Math.random() * hw-2);
} while (document.images[food].src != blank);
if (di == 0) {
document.info.elements[0].value = points;
}
}
if (n > length){
o = worm[n-length];
}
if ((document.images[i].src == file) && (n > 1)) {
speed -= 400; d = 0; di = 1; die();
}
if(di == 0) {
document.images[o].src = "blank2.gif";
document.images[i].src = "worm.gif";
document.images[food].src = "food.gif";
tScroll = window.setTimeout("runTimer();", speed);
}
}
if (enableScroll){
if (ie) window.onload = runTimer;
if (ie) window.onunload = new Function("clearTimeout(tScroll)");
}
systm = "";
ver = navigator.appVersion;
len = ver.length;
for (iln = 0;iln < len; iln++) if (ver.charAt(iln) == "(") break;
systm = ver.charAt(iln+1).toUpperCase();
document.onkeydown = keyDown;
if (systm != "C") {
document.captureEvents(Event.KEYDOWN);
}
function keyDown(DnEvents) {
if (systm != "C") {
k = DnEvents.which;
} else {
k = window.event.keyCode;
}
if (k == 37) { d = 1; }
if (k == 39) { d = 2; }
if (k == 40) { d = 3; }
if (k == 38) { d = 4; }
}
function die() {
i = 0;
o = 0;
food = 0;
document.info.elements[0].value = "Умер с " + document.info.elements[0].value + " очками";
var restart=confirm("Играть еще?");
if(restart){ location.reload(); }
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: sna.zip


Game72

Змейка 2
Создайте два предложенных документа и сохраните их в той же директории, в которой находится основной документ, с которого производится вызов игры. Для вызова игры используется код, приведенный в третьей таблице. Рисунки, необходимые для игрушки в этом архиве.

Играть в Змейку

Создайте документ game.htm (приведен полный код)

<title>- З м е й к а </title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<head><SCRIPT LANGUAGE="JavaScript"> main=new Image();main.src="screan.gif";
      doter=new Image(); doter.src="dot.gif"</script></head>
<body bgcolor=#1e1e1e text=#ffffff onload=cantplay()>
<img src=screan.gif style='position:absolute; left: 9; top: 9'>
<script>for(v=1;v<=100;v++){document.write("<img src=dot.gif id='dot"+v+"' style='position:absolute;left:0;top:-200'>")}</script>
<center><font face=Verdana size=2><strong>
<div id='bd' style='position:absolute;width=150; left:35;top:15'> <p>Выберите уровень<br>
      <p> <input type=button onclick="level=1;startIt()" value="Начинающий"><br>
      <p><input type=button onclick="level=2;startIt()" value="Средний"><br>
      <p><input type=button onclick="level=3;startIt()" value="Профессионал">
      <br> <p><input type=button onclick="level=4;startIt()" value="Экстремист"><br></div>
<div id='go' style='position:absolute;width=100; left:60;top:-200'>Игра закончена</div>
<div id='ld' style='position:absolute;width=100; left:60;top:30'>Загрузка... </div>
<div id='yw' style='position:absolute;width=100; left:60;top:-200'>Вы выиграли !</div>
</strong></font></center>
<SCRIPT LANGUAGE="JavaScript">
direct="null";sec=0;run="get"; S=0; var top=new Array();var left=new
      Array(); var go=new Array()
for(n=2;n<=100;n++) {go[n]="not"; top[n]=-200; left[n]=-200};for(n=1;n<5;n++)
      {go[n]="yes"}
function locatEm(turn) {ar=new Array(70,160,140,10,60,70,100,30,190,180);
      am=new Array(10,110,190,170,60,30,60,80,150,120,20,130,180,160,200,180,70,100,90,20);
      test=sec;now=new Date();sec=now.getSeconds();if(test==sec){sec+=sec}; left[turn]=ar[sec%10];top[turn]=am[sec%20];
      showEm(turn);if(turn!=5){showscore();speed-=rate}}
function SSnake(){if(go[100]=="yes"){document.all.yw.style.pixelTop=60;
      lost="yes"}; for(i=99;i>1;i--){if(go[i]=="yes"){top[i]=top[(i-1)];left[i]=left[(i-1)]}};
      if(direct=="up"){top[1]-=10};if(direct=="down"){top[1]+=10};
      if(direct=="left"){left[1]-=10};if(direct=="right"){left[1]+=10};
      for(m=99;m>4;m--){if(top[1]==top[m]){if(left[1]==left[m]) {if(go[m]!="yes"){go[m]="yes";locatEm((m+1))}else{lost="yes"}}}};
      if(top[1]==top[100]){if(left[1]==left[100]){go[100]="yes"}}; for(z=1;z<=99;z++){if(go[z]=="yes"){showEm(z)}};if(top[1]==0)
      {lost="yes"};if(top[1]==210){lost="yes"};if(left[1]==0){lost="yes"};
      if(left[1]==210){lost="yes"};if(lost!="yes"){setTimeout("SSnake()",speed)}else
      {hideEm(1);if(go[100]!="yes") {document.all.go.style.pixelTop=60;
      setTimeout("reaload()",2000)}}}
function showEm(turn) {eval("document.all.dot"+turn+".style.pixelTop ="+top[turn]);eval("document.all.dot"+turn+".style.pixelLeft ="+left[turn])}
function keyDown(){k=window.event.keyCode; if(k==104){if(direct!="down"){direct="up"}};
      if(k==98){if(direct!="up"){direct="down"}}; if(k==100){if(direct!="right"){direct="left"}};
      if(k==102){if(direct!="left"){direct="right"}}; if(k==38){if(direct!="down"){direct="up"}};
      if(k==40){if(direct!="up"){direct="down"}}; if(k==37){if(direct!="right"){direct="left"}};
      if(k==39){if(direct!="left"){direct="right"}}}
function startIt(){if(run=="not"){S=0;add=0;showscore(); if(level==1){speed=151;rate=1.5;
      add=3}; if(level==2){speed=101;rate=1;add=5}; if(level==3){speed=51;rate=.5;add=9};
      if(level==4){speed=11;rate=.1;add=15}; direct="null";lost="not";
      top[1]=100;left[1]=90 ;setTimeout('locatEm(5)',3000);
      document.all.bd.style.pixelTop=-200; run="once";SSnake()}}
function reaload(){for(n=5;n<=99;n++){go[n]="not"};for(e=1;e<=99;e++){hideEm(e)};
      run="not";document.all.go.style.pixelTop=-200;
      document.all.bd.style.pixelTop=15;document.all.yw.style.pixelTop=-200}
function hideEm(turn){top[turn]=-200; eval("document.all.dot"+turn+".style.pixelTop=-200")}
function showscore(){S+=add; parent.score.document.write("<bo"+"dy bgcolor=#1e1e1e text=#99CCFF><center><font face=Verdana size=2><strong>Счет "+S+"</font></strong></center>");
      parent.score.document.close()}
function cantplay(){if(navigator.appName=="Netscape"){document.write("<div style='position:absolute; left: 9; top: 9'><img src=screan.gif></div>");
      alert("Извините, в эту игру нельзя играть с Netscape. Пожалуйста, используйте Explorer 4 или выше")}else{document.all.ld.style.pixelTop=-200;
      run="not"}}
document.onkeydown = keyDown
</script>
<IFRAME SRC='score.htm' name=score width='200' height='50' frameborder='0' scrolling='no' STYLE='position:absolute; top:215; left:10'>
</body>

<!-- Written by Omar Wally surfsup_79@hotmail.com ----> http://crash.to/PLAY --!>

Создайте новыйдокумент score.htm (дан полный код)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>
<body bgcolor=#1e1e1e text=#99CCFF>

<center><font face=Verdana size=2><strong>Счет 0</font></strong></center>

Скрипт, помещаемый на страницу для открывания игры

<script>

/*
Snake Game Written by Omar Wally surfsup_79@hotmail.com
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

function opengame(){
if (document.all)
window.open("game.htm","gamewin", "status,width=220,height=260,border=0")
else
alert("Необходим IE 4+ для игры в Змейку. Извините")
}
</script>

<a href="#" onClick="opengame(); return false">Играть в Змейку</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game8

Квадратики
Правила несложные - Вы указываете какой отрезок соединить кликнув по любым двум соседним радио-кнопкам, компьютер делает свой ход. Вы стараетесь сделать из отрезков квадрат, причем квадрат считается завершенным и принадлежащим тому игроку, который последним проведет  завершающий отрезок! Старайтесь отобрать у компьютера его сооружения. Но не забывайте, что и он будет с удовольствием ставить последние отрезки на ваших "кровных" квадратах!

Компьютер: | Игрок:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike McGrath (mike_mcgrath@lineone.net -->
<!-- Web Site: http://website.lineone.net/~mike_mcgrath -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var compgo=0;
var hit=0;
var t1=0;
var t2=0;
var box=new Array(161);
for(i=0;i<box.length;i++)
{
box[i]=0;
}
var occ=new Array(161);
for(i=0;i<occ.length;i++)
{
occ[i]=0;
}
function dots_ini()
{
for(i=1;i<65;i++)
{
with(document.f)
{
n=eval('x'+i);
{
with(n)checked=0;
}
}
}
}
function convert(t)
{
if(t1==0)t1=eval(t);else t2=eval(t);
if(t2!=0)
{
t=eval(t2-t1);
if(t==8||t==-8||t==1||t==-1)
{
t=eval(t1+t2);
switch(t)
{
case 3: case 10: case 12: case 14: case 16: go(t-3);break;
case 18: case 20: case 22: case 24: case 31: go(t-3);break;
case 5: go(t-4);break;
case 7: go(t-5);break;
case 9: go(t-6);break;
case 11: go(t-7);break;
case 13: go(t-8);break;
case 15: go(t-9);break;
case 19: case 26: case 28: case 30: case 32: go(t+3);break;
case 34: case 36: case 38: case 40: case 47: go(t+3);break;
case 21: go(t+2);break;
case 23: go(t+1);break;
case 25: go(t);break;
case 27: go(t-1);break;
case 29: go(t-2);break;
case 35: case 42: case 44: case 46: case 48: go(t+9);break;
case 50: case 52: case 54: case 56: case 63: go(t+9);break;
case 37: go(t+8);break;
case 39: go(t+7);break;
case 41: go(t+6);break;
case 43: go(t+5);break;
case 45: go(t+4);break;
case 51: case 58: case 60: case 62: case 64: go(t+15);break;
case 66: case 68: case 70: case 72: case 79: go(t+15);break;
case 53: go(t+14);break;
case 55: go(t+13);break;
case 57: go(t+12);break;
case 59: go(t+11);break;
case 61: go(t+10);break;
case 67: case 74: case 76: case 78: case 80: go(t+21);break;
case 82: case 84: case 86: case 88: case 95: go(t+21);break;
case 69: go(t+20);break;
case 71: go(t+19);break;
case 73: go(t+18);break;
case 75: go(t+17);break;
case 77: go(t+16);break;
case 83: case 90: case 92: case 94: case 96: go(t+27);break;
case 98: case 100: case 102: case 104: case 111: go(t+27);break;
case 85: go(t+26);break;
case 87: go(t+25);break;
case 89: go(t+24);break;
case 91: go(t+23);break;
case 93: go(t+22);break;
case 99: case 106: case 108: case 110: case 112: go(t+33);break;
case 114: case 116: case 118: case 120: case 127: go(t+33);break;
case 101:go(t+32);break;
case 103:go(t+31);break;
case 105:go(t+30);break;
case 107:go(t+29);break;
case 109:go(t+28);break;
case 115:go(t+39);break;
case 117:go(t+38);break;
case 119:go(t+37);break;
case 121:go(t+36);break;
case 123:go(t+35);break;
case 125:go(t+34);break;
case 127:go(t+33);break;
}
with(document.f)
{
t1=eval('x'+t1);with(t1)checked=0;
t2=eval('x'+t2);with(t2)checked=0;
}
t1=0;
t2=0;
if(compgo==1)reply();
}
else
{
with(document.f)
{
t1=eval('x'+t1);with(t1)checked=0;
t2=eval('x'+t2);with(t2)checked=0;
}
t1=0;t2=0;
}
}
}
function go(t)
{
if(occ[t]!=1)
{
occ[t]=1;
var target = eval("document.f.i"+t);
if(compgo==1) target.src="blue.gif"; else target.src="red.gif";
switch(t)
{
case 0: ad(8,1);break;
case 1: ad(10,1);break;
case 2: ad(12,1);break;
case 3: ad(14,1);break;
case 4: ad(16,1);break;
case 5: ad(18,1);break;
case 6: ad(20,1);break;
case 7: ad(8,2);break;
case 9: ad(8,4);ad(10,2);break;
case 11: ad(10,4);ad(12,2);break;
case 13: ad(12,4);ad(14,2);break;
case 15: ad(14,4);ad(16,2);break;
case 17: ad(16,4);ad(18,2);break;
case 19: ad(18,4);ad(20,2);break;
case 21: ad(20,4);break;
case 22: ad(8,8);ad(30,1);break;
case 23: ad(10,8);ad(32,1);break;
case 24: ad(12,8);ad(34,1);break;
case 25: ad(14,8);ad(36,1);break;
case 26: ad(16,8);ad(38,1);break;
case 27: ad(18,8);ad(40,1);break;
case 28: ad(20,8);ad(42,1);break;
case 29: ad(30,2);break;
case 31: ad(30,4);ad(32,2);break;
case 33: ad(32,4);ad(34,2);break;
case 35: ad(34,4);ad(36,2);break;
case 37: ad(36,4);ad(38,2);break;
case 39: ad(38,4);ad(40,2);break;
case 41: ad(40,4);ad(42,2);break;
case 43: ad(42,4);break;
case 44: ad(30,8);ad(52,1);break;
case 45: ad(32,8);ad(54,1);break;
case 46: ad(34,8);ad(56,1);break;
case 47: ad(36,8);ad(58,1);break;
case 48: ad(38,8);ad(60,1);break;
case 49: ad(40,8);ad(62,1);break;
case 50: ad(42,8);ad(64,1);break;
case 51: ad(52,2);break;
case 53: ad(52,4);ad(54,2);break;
case 55: ad(54,4);ad(56,2);break;
case 57: ad(56,4);ad(58,2);break;
case 59: ad(58,4);ad(60,2);break;
case 61: ad(60,4);ad(62,2);break;
case 63: ad(62,4);ad(64,2);break;
case 65: ad(64,4);break;
case 66: ad(52,8);ad(74,1);break;
case 67: ad(54,8);ad(76,1);break;
case 68: ad(56,8);ad(78,1);break;
case 69: ad(58,8);ad(80,1);break;
case 70: ad(60,8);ad(82,1);break;
case 71: ad(62,8);ad(84,1);break;
case 72: ad(64,8);ad(86,1);break;
case 73: ad(74,2);break;
case 75: ad(74,4);ad(76,2);break;
case 77: ad(76,4);ad(78,2);break;
case 79: ad(78,4);ad(80,2);break;
case 81: ad(80,4);ad(82,2);break;
case 83: ad(82,4);ad(84,2);break;
case 85: ad(84,4);ad(86,2);break;
case 87: ad(86,4);break;
case 88: ad(74,8);ad(96,1);break;
case 89: ad(76,8);ad(98,1);break;
case 90: ad(78,8);ad(100,1);break;
case 91: ad(80,8);ad(102,1);break;
case 92: ad(82,8);ad(104,1);break;
case 93: ad(84,8);ad(106,1);break;
case 94: ad(86,8);ad(108,1);break;
case 95: ad(96,2);break;
case 97: ad(96,4);ad(98,2);break;
case 99: ad(98,4);ad(100,2);break;
case 101: ad(100,4);ad(102,2);break;
case 103: ad(102,4);ad(104,2);break;
case 105: ad(104,4);ad(106,2);break;
case 107: ad(106,4);ad(108,2);break;
case 109: ad(108,4);break;
case 110: ad(96,8);ad(118,1);break;
case 111: ad(98,8);ad(120,1);break;
case 112: ad(100,8);ad(122,1);break;
case 113: ad(102,8);ad(124,1);break;
case 114: ad(104,8);ad(126,1);break;
case 115: ad(106,8);ad(128,1);break;
case 116: ad(108,8);ad(130,1);break;
case 117: ad(118,2);break;
case 119: ad(118,4);ad(120,2);break;
case 121: ad(120,4);ad(122,2);break;
case 123: ad(122,4);ad(124,2);break;
case 125: ad(124,4);ad(126,2);break;
case 127: ad(126,4);ad(128,2);break;
case 129: ad(128,4);ad(130,2);break;
case 131: ad(130,4);break;
case 132: ad(118,8);ad(140,1);break;
case 133: ad(120,8);ad(142,1);break;
case 134: ad(122,8);ad(144,1);break;
case 135: ad(124,8);ad(146,1);break;
case 136: ad(126,8);ad(148,1);break;
case 137: ad(128,8);ad(150,1);break;
case 138: ad(130,8);ad(152,1);break;
case 139: ad(140,2);break;
case 141: ad(140,4);ad(142,2);break;
case 143: ad(142,4);ad(144,2);break;
case 145: ad(144,4);ad(146,2);break;
case 147: ad(146,4);ad(148,2);break;
case 149: ad(148,4);ad(150,2);break;
case 151: ad(150,4);ad(152,2);break;
case 153: ad(152,4);break;
case 154: ad(140,8);break;
case 155: ad(142,8);break;
case 156: ad(144,8);break;
case 157: ad(146,8);break;
case 158: ad(148,8);break;
case 159: ad(150,8);break;
case 160: ad(152,8);break;
}
if(compgo==0 && hit==0)compgo=1;
hit=0;
}
}
function ad(t,pole)
{
box[t]+=pole;
if(box[t]==15)
{
var target = eval("document.f.i"+t);
if(compgo==1)
{
target.src="blue.gif";
document.f.comp.value++;
hit=1;
}
else
{
target.src="red.gif";
document.f.plyr.value++;
hit=1;
}
}
}
function reply()
{
var ok=0;
for(t=1;t<box.length;t++)
switch(box[t])
{
case 7: switch(t)
{
case 8: case 30: case 52: case 74: case 96: case 118: case 140: go(t+14);break;
case 10: case 32: case 54: case 76: case 98: case 120: case 142: go(t+13);break;
case 12: case 34: case 56: case 78: case 100: case 122: case 144: go(t+12);break;
case 14: case 36: case 58: case 80: case 102: case 124: case 146: go(t+11);break;
case 16: case 38: case 60: case 82: case 104: case 126: case 148: go(t+10);break;
case 18: case 40: case 62: case 84: case 106: case 128: case 150: go(t+9);break;
case 20: case 42: case 64: case 86: case 108: case 130: case 152: go(t+8);break;
}
ok=1;break;
case 11: go(t+1);ok=1;break;
case 13: go(t-1);ok=1;break;
case 14: switch(t)
{
case 8: case 30: case 52: case 74: case 96: case 118: case 140: go(t-8);break;
case 10: case 32: case 54: case 76: case 98: case 120: case 142: go(t-9);break;
case 12: case 34: case 56: case 78: case 100: case 122: case 144: go(t-10);break;
case 14: case 36: case 58: case 80: case 102: case 124: case 146: go(t-11);break;
case 16: case 38: case 60: case 82: case 104: case 126: case 148: go(t-12);break;
case 18: case 40: case 62: case 84: case 106: case 128: case 150: go(t-13);break;
case 20: case 42: case 64: case 86: case 108: case 130: case 152: go(t-14);break;
}
ok=1;break;
}
if(ok==1)reply();
else
if(ok!=1 && hit==0) reply0();
else
{
compgo=0;
hit=0;
}
}
function reply0()
{
var i = 0, t= Math.round(Math.random()*112)+1;
while(i<113 && compgo==1)
{
i++; t++; if(t>112)t=1;
switch(t)
{
case 1:if(box [8]==0){go(0);compgo=0;}break;
case 2:if(box[10]==0){go(1);compgo=0;}break;
case 3:if(box[12]==0){go(2);compgo=0;}break;
case 4:if(box[14]==0){go(3);compgo=0;}break;
case 5:if(box[16]==0){go(4);compgo=0;}break;
case 6:if(box[18]==0){go(5);compgo=0;}break;
case 7:if(box[20]==0){go(6);compgo=0;}break;
case 8:if(box [8]==0){go(7);compgo=0;}break;
case 9:if(box [8]==0 && box[10]==0){go(9); compgo=0;}break;
case 10:if(box[10]==0 && box[12]==0){go(11);compgo=0;}break;
case 11:if(box[12]==0 && box[14]==0){go(13);compgo=0;}break;
case 12:if(box[14]==0 && box[16]==0){go(15);compgo=0;}break;
case 13:if(box[16]==0 && box[18]==0){go(17);compgo=0;}break;
case 14:if(box[18]==0 && box[20]==0){go(19);compgo=0;}break;
case 15:if(box[20]==0){go(21);compgo=0;}break;
case 16:if(box [8]==0 && box[30]==0){go(22);compgo=0;}break;
case 17:if(box[10]==0 && box[32]==0){go(23);compgo=0;}break;
case 18:if(box[12]==0 && box[34]==0){go(24);compgo=0;}break;
case 19:if(box[14]==0 && box[36]==0){go(25);compgo=0;}break;
case 20:if(box[16]==0 && box[38]==0){go(26);compgo=0;}break;
case 21:if(box[18]==0 && box[40]==0){go(27);compgo=0;}break;
case 22:if(box[20]==0 && box[42]==0){go(28);compgo=0;}break;
case 23:if(box[30]==0){go(29);compgo=0;}break;
case 24:if(box[30]==0 && box[32]==0){go(31);compgo=0;}break;
case 25:if(box[32]==0 && box[34]==0){go(33);compgo=0;}break;
case 26:if(box[34]==0 && box[36]==0){go(35);compgo=0;}break;
case 27:if(box[36]==0 && box[38]==0){go(37);compgo=0;}break;
case 28:if(box[38]==0 && box[40]==0){go(39);compgo=0;}break;
case 29:if(box[40]==0 && box[42]==0){go(41);compgo=0;}break;
case 30:if(box[42]==0){go(43);compgo=0;}break;
case 31:if(box[30]==0 && box[52]==0){go(44);compgo=0;}break;
case 32:if(box[32]==0 && box[54]==0){go(45);compgo=0;}break;
case 33:if(box[34]==0 && box[56]==0){go(46);compgo=0;}break;
case 34:if(box[36]==0 && box[58]==0){go(47);compgo=0;}break;
case 35:if(box[38]==0 && box[60]==0){go(48);compgo=0;}break;
case 36:if(box[40]==0 && box[62]==0){go(49);compgo=0;}break;
case 37:if(box[42]==0 && box[64]==0){go(50);compgo=0;}break;
case 38:if(box[52]==0){go(51);compgo=0;}break;
case 39:if(box[52]==0 && box[54]==0){go(53);compgo=0;}break;
case 40:if(box[54]==0 && box[56]==0){go(55);compgo=0;}break;
case 41:if(box[56]==0 && box[58]==0){go(57);compgo=0;}break;
case 42:if(box[58]==0 && box[60]==0){go(59);compgo=0;}break;
case 43:if(box[60]==0 && box[62]==0){go(61);compgo=0;}break;
case 44:if(box[62]==0 && box[64]==0){go(63);compgo=0;}break;
case 45:if(box[64]==0){go(65);compgo=0;}break;
case 46:if(box[52]==0 && box[74]==0){go(66);compgo=0;}break;
case 47:if(box[54]==0 && box[76]==0){go(67);compgo=0;}break;
case 48:if(box[56]==0 && box[78]==0){go(68);compgo=0;}break;
case 49:if(box[58]==0 && box[80]==0){go(69);compgo=0;}break;
case 50:if(box[60]==0 && box[82]==0){go(70);compgo=0;}break;
case 51:if(box[62]==0 && box[84]==0){go(71);compgo=0;}break;
case 52:if(box[64]==0 && box[86]==0){go(72);compgo=0;}break;
case 53:if(box[74]==0){go(73);compgo=0;}break;
case 54:if(box[74]==0 && box[76]==0){go(75);compgo=0;}break;
case 55:if(box[76]==0 && box[78]==0){go(77);compgo=0;}break;
case 56:if(box[78]==0 && box[80]==0){go(79);compgo=0;}break;
case 57:if(box[80]==0 && box[82]==0){go(81);compgo=0;}break;
case 58:if(box[82]==0 && box[84]==0){go(83);compgo=0;}break;
case 59:if(box[84]==0 && box[86]==0){go(85);compgo=0;}break;
case 60:if(box[86]==0){go(87);compgo=0;}break;
case 61:if(box[74]==0 && box[96]==0){go(88);compgo=0;}break;
case 62:if(box[76]==0 && box[98]==0){go(89);compgo=0;}break;
case 63:if(box[78]==0 && box[100]==0){go(90);compgo=0;}break;
case 64:if(box[80]==0 && box[102]==0){go(91);compgo=0;}break;
case 65:if(box[82]==0 && box[104]==0){go(92);compgo=0;}break;
case 66:if(box[84]==0 && box[106]==0){go(93);compgo=0;}break;
case 67:if(box[86]==0 && box[108]==0){go(94);compgo=0;}break;
case 68:if(box[96]==0){go(95);compgo=0;}break;
case 69:if(box[96]==0 && box[98]==0){go(97);compgo=0;}break;
case 70:if(box[98]==0 && box[100]==0){go(99);compgo=0;}break;
case 71:if(box[100]==0 && box[102]==0){go(101);compgo=0;}break;
case 72:if(box[102]==0 && box[104]==0){go(103);compgo=0;}break;
case 73:if(box[104]==0 && box[106]==0){go(105);compgo=0;}break;
case 74:if(box[106]==0 && box[108]==0){go(107);compgo=0;}break;
case 75:if(box[108]==0){go(109);compgo=0;}break;
case 76:if(box[96]==0 && box[118]==0){go(110);compgo=0;}break;
case 77:if(box[98]==0 && box[120]==0){go(111);compgo=0;}break;
case 78:if(box[100]==0 && box[122]==0){go(112);compgo=0;}break;
case 79:if(box[102]==0 && box[124]==0){go(113);compgo=0;}break;
case 80:if(box[104]==0 && box[126]==0){go(114);compgo=0;}break;
case 81:if(box[106]==0 && box[128]==0){go(115);compgo=0;}break;
case 82:if(box[108]==0 && box[130]==0){go(116);compgo=0;}break;
case 83:if(box[118]==0){go(117);compgo=0;}break;
case 84:if(box[118]==0 && box[120]==0){go(119);compgo=0;}break;
case 85:if(box[120]==0 && box[34]==0){go(121);compgo=0;}break;
case 86:if(box[122]==0 && box[36]==0){go(123);compgo=0;}break;
case 87:if(box[124]==0 && box[38]==0){go(125);compgo=0;}break;
case 88:if(box[126]==0 && box[40]==0){go(127);compgo=0;}break;
case 89:if(box[128]==0 && box[42]==0){go(129);compgo=0;}break;
case 90:if(box[130]==0){go(131);compgo=0;}break;
case 91:if(box[118]==0 && box[140]==0){go(132);compgo=0;}break;
case 92:if(box[120]==0 && box[142]==0){go(133);compgo=0;}break;
case 93:if(box[122]==0 && box[144]==0){go(134);compgo=0;}break;
case 94:if(box[124]==0 && box[146]==0){go(135);compgo=0;}break;
case 95:if(box[126]==0 && box[148]==0){go(136);compgo=0;}break;
case 96:if(box[128]==0 && box[150]==0){go(137);compgo=0;}break;
case 97:if(box[130]==0 && box[152]==0){go(138);compgo=0;}break;
case 98:if(box[140]==0){go(139);compgo=0;}break;
case 99:if(box[140]==0 && box[142]==0){go(141);compgo=0;}break;
case 100:if(box[142]==0 && box[144]==0){go(143);compgo=0;}break;
case 101:if(box[144]==0 && box[146]==0){go(145);compgo=0;}break;
case 102:if(box[146]==0 && box[148]==0){go(147);compgo=0;}break;
case 103:if(box[148]==0 && box[150]==0){go(149);compgo=0;}break;
case 104:if(box[150]==0 && box[152]==0){go(151);compgo=0;}break;
case 105:if(box[152]==0){go(153);compgo=0;}break;
case 106:if(box[140]==0){go(154);compgo=0;}break;
case 107:if(box[142]==0){go(155);compgo=0;}break;
case 108:if(box[144]==0){go(156);compgo=0;}break;
case 109:if(box[146]==0){go(157);compgo=0;}break;
case 110:if(box[148]==0){go(158);compgo=0;}break;
case 111:if(box[150]==0){go(159);compgo=0;}break;
case 112:if(box[152]==0){go(160);compgo=0;}break;
}
}
if(compgo==1) reply1();
}
function reply1()
{
var i = 0, t= Math.round(Math.random()*161)+1;
while(i<161 && compgo==1)
{
i++; t++; if(t>160)t=1;
switch(box[t])
{
case 1: case 4: go(t-1);compgo=0;break;
case 2: case 8: go(t+1);compgo=0;break;
}
}
if(compgo==1) reply2();
}
function reply2()
{
var i = 0, t= Math.round(Math.random()*161)+1;
while(i<161 && compgo==1)
{
i++; t++; if(t>160)t=1;
switch(box[t])
{
case 12: case 5: go(t-1);compgo=0;break;
case 3: case 9: case 10: go(t+1);compgo=0;break;
case 6: switch(t)
{
case 8: case 30: case 52: case 74: case 96: case 118: case 140: go(t-8);break;
case 10: case 32: case 54: case 76: case 98: case 120: case 142: go(t-9);break;
case 12: case 34: case 56: case 78: case 100: case 122: case 144: go(t-10);break;
case 14: case 36: case 58: case 80: case 102: case 124: case 146: go(t-11);break;
case 16: case 38: case 60: case 82: case 104: case 126: case 148: go(t-12);break;
case 18: case 40: case 62: case 84: case 106: case 128: case 150: go(t-13);break;
case 20: case 42: case 64: case 86: case 108: case 130: case 152: go(t-14);break;
}
compgo=0;break;
}
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="dots_ini()">

<form name="f">
<table bgcolor=#CCCCCC border="0" cellpadding="0" cellspacing="0">
<tr>
<td align=center><input type=radio name="x1" onclick="convert(1);"></td>
<td align=center><img name='i0' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x2" onclick="convert(2);"></td>
<td align=center><img name='i1' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x3" onclick="convert(3);"></td>
<td align=center><img name='i2' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x4" onclick="convert(4);"></td>
<td align=center><img name='i3' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x5" onclick="convert(5);"></td>
<td align=center><img name='i4' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x6" onclick="convert(6);"></td>
<td align=center><img name='i5' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x7" onclick="convert(7);"></td>
<td align=center><img name='i6' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x8" onclick="convert(8);"></td>
</tr>
<tr>
<td align=center><img name='i7' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i8' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i9' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i10' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i11' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i12' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i13' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i14' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i15' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i16' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i17' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i18' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i19' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i20' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i21' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x9" onclick="convert(9);"></td>
<td align=center><img name='i22' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x10" onclick="convert(10);"></td>
<td align=center><img name='i23' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x11" onclick="convert(11);"></td>
<td align=center><img name='i24' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x12" onclick="convert(12);"></td>
<td align=center><img name='i25' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x13" onclick="convert(13);"></td>
<td align=center><img name='i26' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x14" onclick="convert(14);"></td>
<td align=center><img name='i27' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x15" onclick="convert(15);"></td>
<td align=center><img name='i28' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x16" onclick="convert(16);"></td>
</tr>
<tr>
<td align=center><img name='i29' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i30' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i31' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i32' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i33' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i34' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i35' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i36' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i37' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i38' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i39' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i40' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i41' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i42' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i43' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x17" onclick="convert(17);"></td>
<td align=center><img name='i44' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x18" onclick="convert(18);"></td>
<td align=center><img name='i45' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x19" onclick="convert(19);"></td>
<td align=center><img name='i46' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x20" onclick="convert(20);"></td>
<td align=center><img name='i47' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x21" onclick="convert(21);"></td>
<td align=center><img name='i48' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x22" onclick="convert(22);"></td>
<td align=center><img name='i49' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x23" onclick="convert(23);"></td>
<td align=center><img name='i50' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x24" onclick="convert(24);"></td>
</tr>
<tr>
<td align=center><img name='i51' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i52' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i53' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i54' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i55' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i56' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i57' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i58' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i59' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i60' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i61' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i62' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i63' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i64' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i65' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x25" onclick="convert(25);"></td>
<td align=center><img name='i66' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x26" onclick="convert(26);"></td>
<td align=center><img name='i67' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x27" onclick="convert(27);"></td>
<td align=center><img name='i68' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x28" onclick="convert(28);"></td>
<td align=center><img name='i69' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x29" onclick="convert(29);"></td>
<td align=center><img name='i70' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x30" onclick="convert(30);"></td>
<td align=center><img name='i71' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x31" onclick="convert(31);"></td>
<td align=center><img name='i72' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x32" onclick="convert(32);"></td>
</tr>
<tr>
<td align=center><img name='i73' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i74' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i75' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i76' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i77' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i78' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i79' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i80' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i81' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i82' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i83' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i84' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i85' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i86' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i87' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x33" onclick="convert(33);"></td>
<td align=center><img name='i88' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x34" onclick="convert(34);"></td>
<td align=center><img name='i89' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x35" onclick="convert(35);"></td>
<td align=center><img name='i90' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x36" onclick="convert(36);"></td>
<td align=center><img name='i91' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x37" onclick="convert(37);"></td>
<td align=center><img name='i92' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x38" onclick="convert(38);"></td>
<td align=center><img name='i93' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x39" onclick="convert(39);"></td>
<td align=center><img name='i94' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x40" onclick="convert(40);"></td>
</tr>
<tr>
<td align=center><img name='i95' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i96' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i97' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i98' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i99' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i100' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i101' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i102' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i103' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i104' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i105' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i106' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i107' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i108' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i109' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x41" onclick="convert(41);"></td>
<td align=center><img name='i110' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x42" onclick="convert(42);"></td>
<td align=center><img name='i111' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x43" onclick="convert(43);"></td>
<td align=center><img name='i112' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x44" onclick="convert(44);"></td>
<td align=center><img name='i113' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x45" onclick="convert(45);"></td>
<td align=center><img name='i114' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x46" onclick="convert(46);"></td>
<td align=center><img name='i115' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x47" onclick="convert(47);"></td>
<td align=center><img name='i116' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x48" onclick="convert(48);"></td>
</tr>
<tr>
<td align=center><img name='i117' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i118' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i119' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i120' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i121' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i122' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i123' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i124' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i125' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i126' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i127' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i128' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i129' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i130' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i131' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x49" onclick="convert(49);"></td>
<td align=center><img name='i132' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x50" onclick="convert(50);"></td>
<td align=center><img name='i133' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x51" onclick="convert(51);"></td>
<td align=center><img name='i134' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x52" onclick="convert(52);"></td>
<td align=center><img name='i135' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x53" onclick="convert(53);"></td>
<td align=center><img name='i136' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x54" onclick="convert(54);"></td>
<td align=center><img name='i137' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x55" onclick="convert(55);"></td>
<td align=center><img name='i138' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x56" onclick="convert(56);"></td>
</tr>
<tr>
<td align=center><img name='i139' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i140' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i141' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i142' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i143' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i144' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i145' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i146' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i147' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i148' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i149' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i150' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i151' src='clear.gif' width=5 height=30></td>
<td align=center><img name='i152' src='clear.gif' width=30 height=30></td>
<td align=center><img name='i153' src='clear.gif' width=5 height=30></td>
</tr>
<tr>
<td align=center><input type=radio name="x57" onclick="convert(57);"></td>
<td align=center><img name='i154' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x58" onclick="convert(58);"></td>
<td align=center><img name='i155' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x59" onclick="convert(59);"></td>
<td align=center><img name='i156' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x60" onclick="convert(60);"></td>
<td align=center><img name='i157' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x61" onclick="convert(61);"></td>
<td align=center><img name='i158' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x62" onclick="convert(62);"></td>
<td align=center><img name='i159' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x63" onclick="convert(63);"></td>
<td align=center><img name='i160' src='clear.gif' width=30 height=5></td>
<td align=center><input type=radio name="x64" onclick="convert(64);"></td>
</tr>
<tr>
<td bgcolor=silver colspan=7> Computer:<input type=text name='comp' size=2 value=0></td>
<td bgcolor=silver colspan=5>Player: <input type=text name='plyr' size=2 value=0></td>
<td bgcolor=silver colspan=3><input type=button value='Reset' onclick="window.location=window.location;"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

clear.gif
blue.gif
red.gif


Game19

Лабиринт
Довольно сложный 3D лабиринт без использования рисунков. Когда совсем уж станет непонятно, воспользуйтесь картой. А можете воспользоваться картой и просто так...:)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.viewport { background:white;text-align:center }
.readout { color:white;background:black; font-family:sans-serif;
      font-size:8pt;font-weight:bold;text-align:center }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Такой вид таблицы обусловлен необходимостью строгого позиционирования элементов кода.

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


LogoGame

LogoGame. Version 1.0
Вот еще одна игра, предлагаемая вашему вниманию, написанная Овсянниковым Антоном. А назвается она "LogoGame". Суть данной игры такова: нужно, выбирая из списка числа от 1 до 7, сделать так, чтобы их сумма в каждом ряду по горизонтали и вертикали равнялась 13.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
/***********************************
Author: Ovsyannikov Anton.
Date: 15/08/99
E-mail: ScriptMan@aport.ru
************************************/
var index=0
function change()
{

document.forms[0].elements[3].value =
document.forms[0].elements[0].selectedIndex + 1 +
document.forms[0].elements[1].selectedIndex + 1 +
document.forms[0].elements[2].selectedIndex + 1;

document.forms[0].elements[7].value =
document.forms[0].elements[4].selectedIndex + 1 +
document.forms[0].elements[5].selectedIndex + 1 +
document.forms[0].elements[6].selectedIndex + 1;

document.forms[0].elements[11].value =
document.forms[0].elements[8].selectedIndex + 1 +
document.forms[0].elements[9].selectedIndex + 1 +
document.forms[0].elements[10].selectedIndex + 1;

document.forms[0].elements[12].value =
document.forms[0].elements[0].selectedIndex + 1 +
document.forms[0].elements[4].selectedIndex + 1 +
document.forms[0].elements[8].selectedIndex + 1;

document.forms[0].elements[13].value =
document.forms[0].elements[1].selectedIndex + 1 +
document.forms[0].elements[5].selectedIndex + 1 +
document.forms[0].elements[9].selectedIndex + 1;

document.forms[0].elements[14].value =
document.forms[0].elements[2].selectedIndex + 1 +
document.forms[0].elements[6].selectedIndex + 1 +
document.forms[0].elements[10].selectedIndex + 1;

var s = new String()
s=document.forms[0].elements[3].value + document.forms[0].elements[7].value + document.forms[0].elements[11].value + document.forms[0].elements[13].value + document.forms[0].elements[12].value + document.forms[0].elements[14].value
if(s=="131313131313")
{
alert("Да Вы, должно быть, академик!.. Поздравляем! Вы выйграли!")
}
}
</script>
</head>

<body>
<center>
<div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 8pt; font-family: verdana; position: absolute; left: 61; top: 10; width: 300; height: 120">
<h5><font color=red>LogoGame. Version 1.0</font></h5>
Вот еще одна игра, предлагаемая вашему вниманию,
написанная
Овсянниковым Антоном.
А назвается она "LogoGame". Суть данной игры такова: нужно, выбирая из списка числа от 1 до 7,
сделать так, чтобы их сумма в каждом ряду по горизонтали и вертикали равнялась 13.
</center>
</div>
<div style="position: absolute; left: 115; top: 170; font: 8pt verdana; width: 198;background-color:gray">
<script>
with(document)
{
write("<form name=mainform>")
for(a=0; a<3; a++)
{
for(l=0;l<3;l++)
{
write("<select onchange=change() style='font: 8pt verdana'>")

for(i=0; i<7; i++)
{
write("<option>" + (i+1) + "</option>")
}
write("</select>&nbsp;&nbsp;&nbsp;&nbsp;")
}
write("<input type=text style='font: 8pt verdana' readonly disabled size=3 value='3'><br><br>")
}
for(b=0; b<3; b++)
{
write("<input type=text style='font: 8pt verdana' readonly disabled size=3 value='3'>&nbsp;&nbsp;&nbsp;&nbsp;")
}
document.write("</form>")
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 8pt; font-family: verdana; position: absolute; left: 61; top: 10; width: 300; height: 120">
<h5><font color=red>LogoGame. Version 1.0</font></h5>
Вот еще одна игра, предлагаемая вашему вниманию,
написанная
Овсянниковым Антоном.
А назвается она "LogoGame". Суть данной игры такова: нужно, выбирая из списка числа от 1 до 7,
сделать так, чтобы их сумма в каждом ряду по горизонтали и вертикали равнялась 13.
</center>
</div>
<div style="position: absolute; left: 115; top: 170; font: 8pt verdana; width: 198;background-color:gray">
<script>
with(document)
{
write("<form name=mainform>")
for(a=0; a<3; a++)
{
for(l=0;l<3;l++)
{
write("<select onchange=change() style='font: 8pt verdana'>")

for(i=0; i<7; i++)
{
write("<option>" + (i+1) + "</option>")
}
write("</select>&nbsp;&nbsp;&nbsp;&nbsp;")
}
write("<input type=text style='font: 8pt verdana' readonly disabled size=3 value='3'><br><br>")
}
for(b=0; b<3; b++)
{
write("<input type=text style='font: 8pt verdana' readonly disabled size=3 value='3'>&nbsp;&nbsp;&nbsp;&nbsp;")
}
document.write("</form>")
}
</script>
<br>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game16

Лотерея
Если Вы не доверяете своему везению (например, при игре в "Спортлото"), попробуйте использовать JavaScript. Генератор случайных чисел выберет для Вас любой набор. Нажимайте кнопку "Сгенерировать" пока не понравиться какая-нибудь комбинация.

Сгенерировать чисел
от 1 до (99 max)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function numbers() {
var nummenu = document.lotto.numbercount;
var numbercount = nummenu.options[nummenu.selectedIndex].value*1;
var maxnumbers = document.lotto.maxnum.value*1;
if (numbercount > maxnumbers) {
alert("Количество генерируемых номеров должно\nбыть меньше предельного для выбора числа !");
return false;
}
if (numbercount == maxnumbers) {
alert("Количество генерируемых номеров не должно быть\nравно предельному для выбора числу !");
return false;
}
else {
var ok = 1;
r = new Array (numbercount);
for (var i = 1; i <= numbercount; i++) {
r[i] = Math.round(Math.random() * (maxnumbers-1))+1;
}
for (var i = numbercount; i >= 1; i--) {
for (var j = numbercount; j >= 1; j--) {
if ((i != j) && (r[i] == r[j])) ok = 0;
}
}
if (ok) {
var output = "";
for (var k = 1; k <= numbercount; k++) {
output += "Number " + k + " = " + r[k] + "\n";
}
document.lotto.results.value = output;
}
else numbers();
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="lotto">
<table width=100% border=0>
<tr>
<td align=center>Сгенерировать
<select name="numbercount">
<option value="1">1
<option value="2">2
<option value="3">3
<option value="4">4
<option value="5">5
<option value="6" selected>6
<option value="7">7
<option value="8">8
<option value="9">9
<option value="10">10
</select>
чисел<br>
от 1 до <input type=text name=maxnum value="49" size=2 maxlength=2> (99
max)<br>
<input type=button value="Сгенерировать!" onClick="numbers()">
<p>
<textarea name="results" rows=11 cols=15></textarea>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game74

Лотерейный барабан

Результат

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.a1{
position:relative;
font-family:Verdana; // ШРИФТ
font-size:20px;   // РАЗМЕР
      ШРИФТА
color:#525252;  //ЦВЕТ ШРИФТА
}
</style>
<script language="JavaScript">

/*
Lottery Picker (By Kurt at kurt.grigg@virgin.net)
Featured on Dynamicdrive.com
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

function lotto(){
if (!document.all&&!document.layers)
return
for (j=1; j < 48; j++)//stop zero!?
{
var a=Math.round(Math.random()*j+1);
var b=Math.round(Math.random()*j+1);
var c=Math.round(Math.random()*j+1);
var d=Math.round(Math.random()*j+1);
var e=Math.round(Math.random()*j+1);
var f=Math.round(Math.random()*j+1);
}
var x=new Array(a,b,c,d,e,f);
if ((x[0] == x[1]) || (x[0] == x[2]) || (x[0] == x[3]) || (x[0] == x[3]) || (x[0] == x[5]) ||
(x[1] == x[2]) || (x[1] == x[3]) || (x[1] == x[4]) || (x[1] == x[5]) ||
(x[2] == x[3]) || (x[2] == x[4]) || (x[2] == x[5]) ||
(x[3] == x[4]) || (x[3] == x[5]) ||
(x[4] == x[5]) || (x[5] == x[4]))
lotto();//restart
else
{
var y=x.toString();
var z=y.split(',');
for (i=0; i < z.length; i++)
{
z[i]=z[i]+" ";
if (z[i].length < 3)//add '0' to singles
z[i]="0"+z[i]+" ";
}
z=z.sort();
Nos=z[0]+z[1]+z[2]+z[3]+z[4]+z[5];
if (document.all)
{document.all.layer1.innerHTML=Nos;} //OR Z!
else if (document.layers)
{
document.layers.layer1.document.open();
document.layers.layer1.document.write(" <span style='position:absolute;
      top:0px;left:0px; font-family:Verdana; font-size:20px;color:#888888;
      text-align:center'>&nbsp;"+Nos+"</span>");
document.layers.layer1.document.close();
}
T=setTimeout('lotto()',10);
}
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border='0' width=250 height=50>
<tr valign='middle'>
<td align='center'>
<form name=form>
<input type=button value='Крутить барабан' onClick="lotto(),setTimeout('clearTimeout(T)',3000)">
</form>
<span id=layer1 class=a1>Результат</span>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game15

Любовный тест
(шутка, конечно)

+ =

Замените выделенные буквы на другие, или добавьте (только корректно!) и результаты будут другими!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function calc() {

first = document.loveform.name1.value.toUpperCase();
firstlength = document.loveform.name1.value.length;
second = document.loveform.name2.value.toUpperCase();
secondlength = document.loveform.name2.value.length;
var LoveCount=0;

for (Count=0; Count < firstlength; Count++) {
letter1=first.substring(Count,Count+1);
if (letter1=='Л') LoveCount+=2;
if (letter1=='Ю') LoveCount+=2;
if (letter1=='Б') LoveCount+=2;
if (letter1=='О') LoveCount+=2;
if (letter1=='В') LoveCount+=3;
if (letter1=='А') LoveCount+=1;
if (letter1=='Т') LoveCount+=3;
}

for (Count=0; Count < secondlength; Count++) {
letter2=second.substring(Count,Count+1);
if (letter2=='Л') LoveCount+=2;
if (letter2=='Ю') LoveCount+=2;
if (letter2=='Б') LoveCount+=2;
if (letter2=='О') LoveCount+=2;
if (letter2=='В') LoveCount+=3;
if (letter2=='А') LoveCount+=1;
if (letter2=='Т') LoveCount+=3;
}

amount=0;
if (LoveCount> 0) amount= 5-((firstlength+secondlength)/2)
if (LoveCount> 2) amount= 10-((firstlength+secondlength)/2)
if (LoveCount> 4) amount= 20-((firstlength+secondlength)/2)
if (LoveCount> 6) amount= 30-((firstlength+secondlength)/2)
if (LoveCount> 8) amount= 40-((firstlength+secondlength)/2)
if (LoveCount>10) amount= 50-((firstlength+secondlength)/2)
if (LoveCount>12) amount= 60-((firstlength+secondlength)/2)
if (LoveCount>14) amount= 70-((firstlength+secondlength)/2)
if (LoveCount>16) amount= 80-((firstlength+secondlength)/2)
if (LoveCount>18) amount= 90-((firstlength+secondlength)/2)
if (LoveCount>20) amount=100-((firstlength+secondlength)/2)
if (LoveCount>22) amount=110-((firstlength+secondlength)/2)

if (firstlength==0 || secondlength==0) amount= "Err";
if (amount < 0) amount= 0;
if (amount >99) amount=99;

document.loveform.output.value=amount+"%";
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center">
<form name=loveform>
<input value="Билл Клинтон" name="name1" type="text" size="17"> +
<input value="Моника Левински" name="name2" type="text" size="17"> =
<input value="" name="output" type="text" size="6">
<br>
<br>
<input name="calculate" type="button" value="посчитать!" onclick="calc()">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game77

Марио
Очень известная игра. Игрушка, конечно, попроще..., но тоже выглядит симпатично. Игра кроссбраузерная, поэтому и HTML файлов целых пять! Для начала распакуйте архив с рисунками. Затем создайте HTML документы, полные коды которых даны в таблицах. Не переименовывайте их! Наконец сохраните все в одной директории. Запускается файл Game77a.htm (его, кстати, можете переименовать).

Game77a.htm

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Marionette 2</TITLE>
</HEAD>
<FRAMESET rows="316,*" BORDER="0" frameborder="0">
<FRAMESET COLS="416,*" BORDER="0">
<FRAMESET ROWS="16,*" BORDER="0">
<FRAME SRC="sub1mario.html" NAME="sub0a" NORESIZE SCROLLING="NO">
<FRAMESET COLS="16,*" BORDER="0">
<FRAME SRC="sub1mario.html" NAME="sub0b" NORESIZE SCROLLING="NO">
<FRAME SRC="sub1mario.html" NAME="main" NORESIZE SCROLLING="NO">
</FRAMESET>
</FRAMESET>
<FRAME SRC="score3.html" NAME="scr" NORESIZE SCROLLING="NO">
</FRAMESET>
<FRAME SRC="sub2mario.html" NAME="sub2" NORESIZE SCROLLING="NO">
<noframes>
У вас должен быть Netscape4.0 или IE4.0 или выше.
</NOFRAME>
</noframes>
</FRAMESET>
<NOFRAME>
</HTML>

sub1mario.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>SUB FRAME 1</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
systm=""
ver=navigator.appVersion
Nv=ver.charAt(0)
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()

function clk(){
if (Nv>=4){
if (systm == "C"){
parent.main.restarter.style.posTop = 100
parent.main.document.forms[1].elements[0].click()
}else{
parent.main.focus()
}
}
}

if (Nv>=4){
if (systm!="C"){
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#7B68EE" onclick="clk()">
</BODY>
</HTML>

sub2mario.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>SUB FRAME 2</TITLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
systm=""
ver=navigator.appVersion
Nv=ver.charAt(0)
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()

function clk(){
if (Nv>=4){
if (systm == "C"){
parent.main.restarter.style.posTop = 100
parent.main.document.forms[1].elements[0].click()
}else{
parent.main.focus()
}
}
}

if (Nv>=4){
if (systm!="C"){
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
}
}

//-->
</SCRIPT>

</HEAD>
<BODY BGCOLOR="#7B68EE" onclick="clk()">
<DIV ID="DIV1" STYLE='margin-left:16px'>
<PRE>Влево/Вправо....4/6 (клавиши) Прыжок Z (клавиша)</PRE><BR>
</DIV>

</BODY>
</HTML>

score3.html

 <HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>No TITLE</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
systm=""
ver=navigator.appVersion
Nv=ver.charAt(0)
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()

function clk(){
if (Nv>=4){
if (systm == "C"){
parent.main.restarter.style.posTop = 100
parent.main.document.forms[1].elements[0].click()
}else{
parent.main.focus()
}
}
}

if (Nv>=4){
if (systm!="C"){
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#7B68EE" onclick="clk()">
<SCRIPT LANGUAGE="JavaScript">
<!--
//N3 check
if (Nv<4){
parent.main.location.href="n3.html"
}else{
parent.main.location.href="nnie.html"
}

//-->
</SCRIPT>

<FONT STYLE="font-size:24px" COLOR="#CCCC44"> <I><B>&nbsp;&nbsp;МАРИО 2</B></I></FONT><P>
<FORM NAME="FORM0">
&nbsp;&nbsp; &nbsp;&nbsp;СЧЕТ:<BR>&nbsp;&nbsp;
 &nbsp;&nbsp;<INPUT TYPE="text" NAME="PY" SIZE=10 VALUE = " " ><P>
&nbsp;&nbsp; &nbsp;&nbsp;ВРЕМЯ:<BR>&nbsp;&nbsp;
 &nbsp;&nbsp;<INPUT TYPE="text" NAME="TL" SIZE=10 VALUE = " " ><P>
</FORM>

</BODY>
</HTML>

n3.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>SUB FRAME 1</TITLE>
</HEAD>
<BODY BGCOLOR="#7B68EE">
УВас должен быть Netscape 4.0 или IE4.0 или выше.
</BODY>
</HTML>

nnie.html

<HTML>

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>MAIN FRAME</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var score=0 //score
var startFLG=-1 //start flag
var gameFLG=0 //game play flag
var timerID = null //timer ID
var INT = 25 //interval (ms)
var X=100 //my chr X
var Y=256
var IX=0 //my chr right move
var IY=0 // down
var DX=0 // left
var DY=0 // up
var IIX=0 // right speed up
var DDX=0 // left
var spCOUNT=0 //LAYER COUNTER
var mySP=0 //my chr COUNT
var blSP=0 //block COUNT
var coSP=0 //coin COUNT
var jmpFLG=0 //jump flag
var stepFLG=0 //my chr step flag
var tmLMT=1000 //time limit
var timeC=0 //time count

var mv1=-1 //moving block flag 1
var mvH1=0 // HIT flag 1
var ofs1=0 //offset 1

var blockX = new Array(99) //block X
var blockY = new Array(99) // Y
var coinX = new Array(99) //coin X
var coinY = new Array(99) // Y
var coinF = new Array(99) // null FLAG
var kiX = new Array(9) //mushroom X
var kiY = new Array(9) // Y
var kiF = new Array(9) // null FLAG
var kiDX = new Array(9) // DX

var imgs = new Array(20) //image data

imgs[0]=new Image();imgs[0].src="boy1c.gif"
imgs[1]=new Image();imgs[1].src="boy2c.gif"
imgs[2]=new Image();imgs[2].src="boy4c.gif"
imgs[3]=new Image();imgs[3].src="boy3c.gif"
imgs[4]=new Image();imgs[4].src="boy5c.gif"

imgs[5]=new Image();imgs[5].src="coinmario.gif"
imgs[6]=new Image();imgs[6].src="null.gif"
imgs[7]=new Image();imgs[7].src="kinoko.gif"

//IE check
systm=""
ver=navigator.appVersion
len=ver.length
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
systm = ver.charAt(iln+1).toUpperCase()

//---------------------------------------------------------
// main function
//---------------------------------------------------------

//main function
function interval1(){
clearTimeout(timerID)

timeC=timeC-1
parent.scr.document.forms[0].elements[1].value = timeC
if (timeC==0){stopG()}

//moving block write
ofs1=ofs1+mv1*4
if (ofs1<=-192){mv1=1}
if (ofs1>=0){mv1=-1}
spMOV(1,blockX[0]*32,blockY[0]*32+ofs1)

stepFLG=stepFLG+1;if (stepFLG>=2){stepFLG=0}
if(X<100){X=100;IX=0;DX=0}
if(X>1699){X=1699;IX=0;DX=0;stopG()}

DX=DX+DDX;if (DX>8){DX=8;DDX=0}else{if (DX<0){DX=0;DDX=0}}
IX=IX+IIX;if (IX>8){IX=8;DDX=0}else{if (IX<0){IX=0;IIX=0}}

X=X+IX-DX

if (jmpFLG!=0){Y=Y-DY;if (Y>=300){Y=300;jmpFLG=0};DY=DY-1}
parent.scr.document.forms[0].elements[0].value = score

if (IX-DX<0){
if (jmpFLG==0){imgchg(mySP,3+stepFLG)}else{imgchg(mySP,4)}
}else{
if (IX-DX>0){
if (jmpFLG==0){imgchg(mySP,1+stepFLG)}else{imgchg(mySP,2)}
}else{
if (jmpFLG==0){imgchg(mySP,0)}else{imgchg(mySP,2)}
}
}

kmove()
hitCHK(X,Y)
getCHK(X,Y)
atCHK(X,Y)

spMOV(mySP,X,Y)
sc2(X-100)
if (Y>=300){stopG()}
if (mvH1==1){Y=Y+4}
if (gameFLG==1){timerID = setTimeout("interval1()",INT)}
}

//---------------------------------------------------------
// sub functions
//---------------------------------------------------------

//CLICK START
function startG(){
document.onkeydown = keyDown
document.onkeyup = keyUp
if (systm!="C"){
document.captureEvents(Event.KEYDOWN|Event.KEYUP)
document.layers["starter"].moveTo(-1000,-1000)
document.layers["CLRmes"].moveTo(0,0)
document.layers["GMOmes"].moveTo(0,0)
document.layers["TMOmes"].moveTo(0,0)
}else{
starter.style.posTop = -1000
starter.style.posLeft = 150
CLRmes.style.posTop = -1000
GMOmes.style.posTop = -1000
TMOmes.style.posTop = -1000
}
for (ia=blSP+1; ia<coSP+1; ia++){
imgchg(ia,5)
coinF[ia-blSP-1]=0
}
for (ia=0; ia<6; ia++){
imgchg(coSP+ia+1,7)
kiF[ia]=0
kiDX[ia]=-4
}

BGMSTART()
gameFLG=1
score=0
DDX=0;IIX=0;DX=0;IX=0
timeC=tmLMT
parent.scr.document.forms[0].elements[0].value = score
parent.scr.document.forms[0].elements[0].value = tmLMT

X=100;Y=256
timerID = setTimeout("interval1()",1)
}

//GAME STOP
function stopG(){
clearTimeout(timerID)
if (timeC<=0){
if (systm!="C"){
document.layers["TMOmes"].moveTo(0,1050)
}else{
TMOmes.style.posTop = 50
TMOmes.style.posLeft = 20+X
}
}else{
if (X>=1699){
if (systm!="C"){
document.layers["CLRmes"].moveTo(0,1050)
}else{
CLRmes.style.posTop = 50
CLRmes.style.posLeft = 50+X
}
}else{
if (systm!="C"){
document.layers["GMOmes"].moveTo(0,1050)
}else{
GMOmes.style.posTop = 50
GMOmes.style.posLeft = 20+X
}
}
}

gameFLG=0
startFLG=0
if (systm!="C"){
document.layers["starter"].moveTo(0,0)
}else{
starter.style.posTop = 100
starter.style.posLeft = 50+X
}
BGMSTOP()
}

function BGMSTOP(){
if (systm == "C"){
BG.outerHTML = "<div id='BG'></DIV>"
}else{
document.embeds[0].stop()
}
}

function BGMSTART(){
if (systm == "C"){
BG.outerHTML = "<div id='BG'><BGSOUND LOOP='-1' SRC='Soul_Food.mid'></DIV>"
}else{
document.embeds[0].stop()
document.embeds[0].play(true)
}
}

//LAYER SETUP
function spINI(spX,spY,spIMG){
if (systm!="C"){
document.write("<LAYER LEFT="+spX+" TOP="+spY+"><IMG SRC='"+spIMG+"'></LAYER>")
}else{
with (document) {
write("<IMG SRC='"+spIMG+"' STYLE='position:absolute'>")
images[spCOUNT].style.posLeft = spX
images[spCOUNT].style.posTop = spY
}
}
spCOUNT=spCOUNT+1
}

//LAYER MOVE
function spMOV(spNO,spX,spY){
if (systm!="C"){
document.layers[0].layers[spNO].moveTo(spX,spY)
}else{
document.images[spNO].style.posLeft = spX
document.images[spNO].style.posTop = spY
}
}

//IMAGE CHANGE
function imgchg(imgNo,dataNo){
if (systm!="C"){
document.layers[0].layers[imgNo].document.images[0].src=imgs[dataNo].src
}else{
document.images[imgNo].src=imgs[dataNo].src
}
}

//SCROLL
function sc2(scr2){
if (systm!="C"){
document.layers[0].left=-scr2
}else{
window.scroll(scr2,0)
}
}

//ON KEY DOWN
function keyDown(DnEvents){
if (systm != "C"){
k=DnEvents.which
if (k == 54){IIX=2} // 6
if (k == 52){DDX=2} // 4

if (k == 90){if (jmpFLG==0){DY=15;jmpFLG=1}} //Z
if (k == 122){if (jmpFLG==0){DY=15;jmpFLG=1}} //z
}else{
k=window.event.keyCode
if (k == 102){IIX=2} // 6
if (k == 100){DDX=2} // 4

if (k == 54){IIX=2} // 6
if (k == 52){DDX=2} // 4

if (k == 39){IIX=2} // Right
if (k == 37){DDX=2} // Left

if (k == 90){if (jmpFLG==0){DY=15;jmpFLG=1}} //Z
if (k == 122){if (jmpFLG==0){DY=15;jmpFLG=1}} //z

}
}

//ON KEY UP
function keyUp(UpEvents){
if (systm != "C"){
k=UpEvents.which
if (k == 54){IIX=-2}
if (k == 52){DDX=-2}

if (k == 90){if (DY>0){DY=DY/2}} //Z
if (k == 122){if (DY>0){DY=DY/2}} //z

}else{
k=window.event.keyCode
if (k == 102){IIX=-2} // 6
if (k == 100){DDX=-2} // 4

if (k == 54){IIX=-2} // 6
if (k == 52){DDX=-2} // 4

if (k == 39){IIX=-2} // Right
if (k == 37){DDX=-2} // Left

if (k == 90){if (DY>0){DY=DY/2}} //Z
if (k == 122){if (DY>0){DY=DY/2}} //z

}
}

//BLOCK SETUP
function bs(bx,by){
blockX[spCOUNT-1]=bx;blockY[spCOUNT-1]=by
spINI(bx*32,by*32,'blockmario.gif')
}

//COIN SETUP
function cs(cx,cy){
coinX[spCOUNT-blSP-1]=cx;coinY[spCOUNT-blSP-1]=cy
spINI(cx*32+8,cy*32+8,'coinmario.gif')
}

//MUSHROOM SETUP
function ki(kx,ky){
kiX[spCOUNT-coSP-1]=kx*32;kiY[spCOUNT-coSP-1]=ky*32
spINI(kx*32,ky*32,'kinoko.gif')
}

//MUSHROOM MOVE
function kmove(){
kiX[0]=kiX[0]+kiDX[0]
if (kiX[0]<=6*32+8){kiDX[0]=4}else{if (kiX[0]>=8*32){kiDX[0]=-4}}
if (X>9*32+100){kiF[0]=0;imgchg(coSP+1+0,7)}
kiX[1]=kiX[1]+kiDX[1]
if (kiX[1]<=11*32){kiDX[1]=4}else{if (kiX[1]>=13*32){kiDX[1]=-4}}
if (X>14*32+100){kiF[1]=0;imgchg(coSP+1+1,7)}
kiX[2]=kiX[2]+kiDX[2]
if (kiX[2]<=19*32){kiDX[2]=4}else{if (kiX[2]>=21*32-4){kiDX[2]=-4}}
if (X>22*32+100){kiF[2]=0;imgchg(coSP+1+2,7)}
if (X<19*32-300){kiF[2]=0;imgchg(coSP+1+2,7)}
kiX[3]=kiX[3]+kiDX[3]
if (kiX[3]<=24*32){kiDX[3]=4}else{if (kiX[3]>=26*32){kiDX[3]=-4}}
if (X>27*32+100){kiF[3]=0;imgchg(coSP+1+3,7)}
if (X<24*32-300){kiF[3]=0;imgchg(coSP+1+3,7)}
kiX[4]=kiX[4]+kiDX[4]
if (kiX[4]<=32*32){kiDX[4]=4}else{if (kiX[4]>=33*32){kiDX[4]=-4}}
if (X>34*32+100){kiF[4]=0;imgchg(coSP+1+4,7)}
if (X<32*32-300){kiF[4]=0;imgchg(coSP+1+4,7)}
kiX[5]=kiX[5]+kiDX[5]
if (kiX[5]<=45*32){kiDX[5]=4}else{if (kiX[5]>=46*32){kiDX[5]=-4}}
if (X>47*32+100){kiF[5]=0;imgchg(coSP+1+5,7)}
if (X<45*32-300){kiF[5]=0;imgchg(coSP+1+5,7)}

for (ik=0; ik<6; ik++){
spMOV(coSP+1+ik,kiX[ik],kiY[ik])
}
}

//HIT CHECK
function hitCHK(hx,hy){
tmpGND=0;tmpGn=0;mvH1=0
ltFLG=0
rtFLG=0
lfFLG=0
rfFLG=0
a0FLG=0
for (ia=0; ia<blSP+1; ia++){
tmpHIT=0;tmpLT=0;tmpRT=0;tmpLF=0;tmpRF=0;tmpBD=0
tmpXa=blockX[ia]*32;tmpXb=tmpXa+31
tmpYa=blockY[ia]*32;tmpYb=tmpYa+31
if (ia==0){tmpYa=tmpYa+ofs1;tmpYb=tmpYb+ofs1}
tmphx=hx+31;tmphy=hy+31

//Ltop
if (hx>=tmpXa){
if (hx<=tmpXb){
if (hy>=tmpYa){
if (hy<=tmpYb){
tmpHIT=1;tmpLT=1
}
}
}
}
//Rtop
if (tmphx>=tmpXa){
if (tmphx<=tmpXb){
if (hy>=tmpYa){
if (hy<=tmpYb){
tmpHIT=1;tmpRT=1
}
}
}
}
//Lfoot
if (hx>=tmpXa){
if (hx<=tmpXb){
if (tmphy>=tmpYa){
if (tmphy<=tmpYb){
tmpHIT=1;tmpLF=1
}
}
}
}
//Rfoot
if (tmphx>=tmpXa){
if (tmphx<=tmpXb){
if (tmphy>=tmpYa){
if (tmphy<=tmpYb){
tmpHIT=1;tmpRF=1
}
}
}
}

if (hx+4>=tmpXa){
if (hx+4<=tmpXb){
if (tmphy+1>=tmpYa){
if (tmphy+1<=tmpYb){
tmpGND=1;tmpGn=ia
}
}
}
}
if (tmphx-4>=tmpXa){
if (tmphx-4<=tmpXb){
if (tmphy+1>=tmpYa){
if (tmphy+1<=tmpYb){
tmpGND=1;tmpGn=ia
}
}
}
}

if (tmpHIT==1){
if (IX-DX>=0){
if (DY<=0){
if (tmpRT==1){
X=tmpXa-32;DX=0;IX=0;rtFLG=1
}else{
if (tmpLF==1){
Y=tmpYa-32;jmpFLG=0;DY=0;ltFLG=1
}else{
if (jmpFLG==0){if (ia==0){Y=tmpYa-32;a0FLG=1;DY=0}}
if (ltFLG==0){
if (rtFLG==0){
if (a0FLG==0){
bdCHK(tmphx,tmphy,tmpXa,tmpYa)
if (tmpBD==0){
Y=tmpYa-32;jmpFLG=0;DY=0
}else{
X=tmpXa-32;DX=0;IX=0
}
}
}
}
}
}
}else{
if (tmpLT==1){
Y=tmpYa+32;DY=0;ltFLG=1
}else{
if (tmpRF==1){
X=tmpXa-32;DX=0;IX=0;rfFLG=1
}else{
if (jmpFLG==0){if (ia==0){Y=tmpYa-32;a0FLG=1;DY=0}}
if (ltFLG==0){
if (rfFLG==0){
if (a0FLG==0){
bdCHK(tmphx,hy,tmpXa,tmpYa)
if (tmpBD==0){
Y=tmpYa+32;jmpFLG=0;DY=0
}else{
X=tmpXa-32;DX=0;IX=0
}
}
}
}
}
}
}
}else{
if (DY<=0){
if (tmpLT==1){
X=tmpXa+32;DX=0;IX=0;ltFLG=1
}else{
if (tmpRF==1){
Y=tmpYa-32;jmpFLG=0;rfFLG=1
}else{
if (jmpFLG==0){if (ia==0){Y=tmpYa-32;a0FLG=1;DY=0}}
if (ltFLG==0){
if (rfFLG==0){
if (a0FLG==0){
bdCHK(hx,tmphy,tmpXb,tmpYa)
if (tmpBD==0){
Y=tmpYa-32;jmpFLG=0;DY=0
}else{
X=tmpXa+32;DX=0;IX=0
}
}
}
}
}
}
}else{
if (tmpRT==1){
Y=tmpYa+32;rtFLG=1
}else{
if (tmpLF==1){
X=tmpXa+32;DX=0;IX=0;lfFLG=1
}else{
if (jmpFLG==0){if (ia==0){Y=tmpYa-32;a0FLG=1;DY=0}}
if (lfFLG==0){
if (rtFLG==0){
if (a0FLG==0){
bdCHK(hx,hy,tmpXb,tmpYa)
if (tmpBD==0){
Y=tmpYa+32;jmpFLG=0;DY=0
}else{
X=tmpXa+32;DX=0;IX=0
}
}
}
}
}
}
}
}
}

//for loop end
}

if (jmpFLG==0){
if (tmpGND==0){
jmpFLG=1;DY=0
}else{
if (tmpGn==0){
Y=blockY[0]*32+ofs1-32;mvH1=1
}
}
}
}

//GET CHECK
function getCHK(hx,hy){
for (ia=0; ia<blSP+1; ia++){
tmpGET=0
tmpXa=coinX[ia]*32+12;tmpXb=tmpXa+9
tmpYa=coinY[ia]*32+8;tmpYb=tmpYa+15
tmphx=hx+31;tmphy=hy+31

if (tmpXa>=hx){
if (tmpXa<=tmphx){
if (tmpYa>=hy){
if (tmpYa<=tmphy){
tmpGET=1
}
}
}
}
if (tmpXb>=hx){
if (tmpXb<=tmphx){
if (tmpYa>=hy){
if (tmpYa<=tmphy){
tmpGET=1
}
}
}
}

if (tmpXa>=hx){
if (tmpXa<=tmphx){
if (tmpYb>=hy){
if (tmpYb<=tmphy){
tmpGET=1
}
}
}
}
if (tmpXb>=hx){
if (tmpXb<=tmphx){
if (tmpYb>=hy){
if (tmpYb<=tmphy){
tmpGET=1
}
}
}
}

if (tmpGET==1){
imgchg(blSP+ia+1,6)
if (coinF[ia]==0){score=score+250}
coinF[ia]=1
}

}
}

//BORDER CHECK
function bdCHK(chX,chY,bdX,bdY){
tmpBDY=-1000
if (IX-DX!=0){tmpBDY=(-DY/(IX-DX))*(bdX-chX)+chY}
tmpBD=0
if (tmpBDY>bdY){if (tmpBDY<bdY+31){tmpBD=1}}
}

//ATTACK CHECK
function atCHK(hx,hy){
for (ia=0; ia<6; ia++){
tmpATA=0
tmpXa=kiX[ia]+5;tmpXb=tmpXa+21
tmpYa=kiY[ia]+8;tmpYb=tmpYa+21
tmphx=hx+31;tmphy=hy+31

if (tmpXa>=hx){
if (tmpXa<=tmphx){
if (tmpYa>=hy){
if (tmpYa<=tmphy){
tmpATA=1
}
}
}
}
if (tmpXb>=hx){
if (tmpXb<=tmphx){
if (tmpYa>=hy){
if (tmpYa<=tmphy){
tmpATA=1
}
}
}
}

if (tmpXa>=hx){
if (tmpXa<=tmphx){
if (tmpYb>=hy){
if (tmpYb<=tmphy){
tmpATA=1
}
}
}
}
if (tmpXb>=hx){
if (tmpXb<=tmphx){
if (tmpYb>=hy){
if (tmpYb<=tmphy){
tmpATA=1
}
}
}
}

if (tmpATA==1){
if (DY<0){
imgchg(coSP+ia+1,6)
if (kiF[ia]==0){score=score+100}
kiF[ia]=1
}else{
if (kiF[ia]==0){stopG()}
}
}

}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#00BFFF" ONLOAD="startFLG=0">

<DIV ID="BG"></DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("<LAYER TOP=0 LEFT=0>")
//BLOCK DATA
spINI(0,294,'sea2.gif')
bs(16,8)
bs(0,9)
bs(1,9)
bs(2,9)
bs(3,9)
bs(4,9)
bs(5,9)
bs(6,6)
bs(7,6)
bs(8,6)
bs(11,8)
bs(12,8)
bs(13,8)
bs(19,2)
bs(20,2)
bs(21,2)
bs(20,9)
bs(23,3)
bs(24,9)
bs(25,9)
bs(26,9)
bs(27,6)
bs(28,6)
bs(29,6)
bs(32,8)
bs(33,8)
bs(35,6)
bs(37,4)
bs(40,3)
bs(43,8)
bs(45,3)
bs(46,3)
bs(45,5)
bs(46,5)
bs(49,9)
bs(50,9)
bs(51,9)
bs(52,9)
bs(53,9)
bs(54,9)
bs(55,9)
bs(56,9)
bs(57,9)
bs(58,9)
bs(59,9)
bs(60,9)
bs(61,9)
bs(62,9)
blSP=spCOUNT-1

//COIN DATA
cs(7,4)
cs(8,4)
cs(12,0)
cs(13,0)
cs(14,0)
cs(18,4)
cs(19,4)
cs(18,5)
cs(19,5)
cs(18,6)
cs(19,6)
cs(19,0)
cs(20,0)
cs(21,0)
cs(20,8)
cs(21,6)
cs(22,6)
cs(26,0)
cs(26,1)
cs(26,2)
cs(27,5)
cs(28,5)
cs(29,5)
cs(32,3)
cs(33,3)
cs(32,4)
cs(33,4)
cs(35,1)
cs(38,0)
cs(42,4)
cs(43,4)
cs(44,4)
cs(45,4)
cs(46,4)
cs(47,4)
coSP=spCOUNT-1

//MUSHROOM DATA
ki(8,5)
ki(13,7)
ki(21,1)
ki(26,8)
ki(33,7)
ki(46,2)

spINI(1728,256,'qn.gif')

//my chr (imgNo mySP)
mySP=spCOUNT
spINI(100,256,'boy1c.gif')
document.write("</LAYER>")

//-->
</SCRIPT>

<LAYER TOP=0 LEFT=0 NAME="CLRmes">
<DIV ID="CLRmes" STYLE='position:absolute; top: -1000; left: 150'>
<FONT STYLE="font-size:24px" COLOR="#006600"><B>СБРОС!</B></FONT><P>
</DIV>
</LAYER>

<LAYER TOP=0 LEFT=0 NAME="TMOmes">
<DIV ID="TMOmes" STYLE='position:absolute; top: -1000; left: 120'>
<FONT STYLE="font-size:24px" COLOR="#990000"><B>ВРЕМЯ ЗАКОНЧИЛОСЬ!</B></FONT><P>
</DIV>
</LAYER>

<LAYER TOP=0 LEFT=0 NAME="GMOmes">
<DIV ID="GMOmes" STYLE='position:absolute; top: -1000; left: 120'>
<FONT STYLE="font-size:24px" COLOR="#990000"><B>ИГРА ЗАКОНЧЕНА!</B></FONT><P>
</DIV>
</LAYER>

<LAYER TOP=0 LEFT=0 NAME="starter">
<DIV ID="starter" STYLE='position:absolute; top: 100; left: 150'>
<FORM NAME="FORM1">
<INPUT TYPE="button" VALUE="СТАРТ" ONCLICK="if (startFLG!=1){startFLG=1;startG();if (systm!='C'){blur()}}else{blur()}">
</FORM>
</DIV>
</LAYER>

<LAYER TOP=0 LEFT=0 NAME="restarter">
<DIV ID="restarter" STYLE='position:absolute; top: -1000; left: 150'>
<FORM NAME="FORM2">
<INPUT TYPE="button" VALUE="ПАУЗА" ONCLICK="if (startFLG==1){clearTimeout(timerID);startFLG=2;restarter.style.posLeft=X+50}else{if (startFLG==2){startFLG=1;blur();restarter.style.posTop = -1000;timerID = setTimeout('interval1()',INT)}else{restarter.style.posTop = -1000}}">
</FORM>
</DIV>
</LAYER>

</BODY>
</HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game18

Математическая Олимпиада

Выберите категорию

Выберите сложность
Легко Средне Тяжело

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Anja Henseler -->
<!-- Web Site: http://www.hens.com/binoculars -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
correct=0;
wrong=0;

function random(maxValue) {
day= new Date();
hour= day.getHours();
min=day.getMinutes();
sec=day.getSeconds();
mili=day.getTime()
return(((hour*3600)+(min*60)+(sec)+mili) % maxValue);
}
function ranom(maxValue) {
day= new Date();
mil=day.getTime();
return((mil) % maxValue);
}

function add() {
if(document.quizform.arithmetic[0].checked)
maxValue=10;
else {
if(document.quizform.arithmetic[1].checked)
maxValue=30;
else {
maxValue=60;
}
}
numA=random(maxValue);
numB=ranom(maxValue);
numC=numA + numB;
Answer=window.prompt( numA + "+" + numB + " = ", "");
ans();
}
function subtract() {
if(document.quizform.arithmetic[0].checked)
maxValue=10;
else
{if(document.quizform.arithmetic[1].checked)
maxValue=30;
else {
maxValue=60
}
}
numA=random(maxValue);
numB=ranom(maxValue);
numC=numA - numB;
Answer=window.prompt( numA + "-" + numB+ " = ", 0);
ans()
}
function divide() {
if(document.quizform.arithmetic[0].checked)
maxValue=10;
else {
if(document.quizform.arithmetic[1].checked)
maxValue=30;
else {
maxValue=60
}
}
numA=random(maxValue)+1;
numB=ranom(maxValue)+1;
numC=numA / numB;
numC=Math.round(numC)
window.alert("Пожалуйста, округлите Ваш ответ до ЦЕЛОГО числа:\n"
+".5, .6, .7 и т.д. - в сторону увеличения\n"
+".4, .3, .2 и .1 - в сторону уменьшения");
Answer=window.prompt( numA + "/" + numB + " = ", 0);
ans()
}
function multiply() {
if(document.quizform.arithmetic[0].checked)
maxValue=10;
else {
if(document.quizform.arithmetic[1].checked)
maxValue=30;
else {
maxValue=60
}
}
numA=random(maxValue);
numB=ranom(maxValue);
numC=numA * numB;
Answer=window.prompt( numA + "*" + numB + " = ", 0);
ans();
}
function check() {
if ((correct+wrong) != 0) {
score = "" + ((correct / (correct + wrong)) * 100);
score = score.substring(0,4) + "%";
alert("Ваш счет: " + score + "\n"
+ correct + " правильно\n"
+ wrong + " неправильно")
}
else alert("Да Вы же ничего еще не посчитали!!!.");
}
function ans() {
if (Answer == numC) {
correct++;
msg = "Поздравляем, Ваш ответ верный!";
}
else {
wrong++;
msg = "Ой-ой! " + Answer + " - ответ не правильный!\n\n"
+ "Правильным был бы ответ " +numC + ".";
}
score = "" + ((correct / (correct + wrong)) * 100);
score = score.substring(0,4) + "%";
alert(msg + "\n\nВаш счет: " + score + "\n"
+ correct + " правильно\n"
+ wrong + " неправильно")
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=quizform>
<tt>
<font size="3" color="#0000FF">
Выберите категорию
</font>
</tt>
<font size="3" color="#000000">
<BR>
<input type=button value="сложение" onClick="add()">
<input type=button value="вычитание" onClick="subtract()">
<input type=button value="умножение" onClick="multiply()">
<input type=button value="деление" onClick="divide()">
<br>
<br>
</font>
<tt>
<font size="3" color="#0000FF">
Выберите сложность
</font>
</tt>
<font size="3" color="#000000">
<BR>
<input type="radio" name="arithmetic">Легко
<input type="radio" name="arithmetic" checked>Средне
<input type="radio" name="arithmetic">Тяжело
<br>
<br>
<input type=button value="Мой счет" onClick="check()">
<input type=button value="Сбросить все" onClick="javascript:correct=0;wrong=0;">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game1

Морской бой
Для начала новой игры просто перезагрузите (обновите) страничку - корабли выстроятся в случайном порядке. Помните, что компьютер не мошенничает, поэтому при проигрыше, кроме себя любимого, никого винить не стоит.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jason Hotchkiss (jasonhotchkiss@home.com) -->
<!-- Web Site: http://www.members.home.com/jasonhotchkiss -->

<!-- Begin
var ship = [[[1,5], [1,2,5], [1,2,3,5], [1,2,3,4,5]], [[6,10], [6,7,10], [6,7,8,10], [6,7,8,9,10]]];

var dead = [[[201,203], [201,202,203], [201,202,202,203], [201,202,202,202,203]], [[204,206], [204,205,206], [204,205,205,206], [204,205,205,205,206]]];

var shiptypes = [["Миноносец",2,4],["Фрегат",3,4],[ "Крейсер",4,2],[ "Линкор",5,1]];

var gridx = 16, gridy = 16;
var player = [], computer = [], playersships = [], computersships = [];
var playerlives = 0, computerlives = 0, playflag=true, statusmsg="";

var preloaded = [];
function imagePreload() {
var i,ids = [1,2,3,4,5,6,7,8,9,10,100,101,102,103,201,202,203,204,205,206];
window.status = "Preloading images...please wait";
for (i=0;i<ids.length;++i) {
var img = new Image, name = "batt"+ids[i]+".gif";
img.src = name;
preloaded[i] = img;
}
window.status = "";
}

function setupPlayer(ispc) {
var y,x;
grid = [];
for (y=0;y<gridx;++y) {
grid[y] = [];
for (x=0;x<gridx;++x)
grid[y][x] = [100,-1,0];
}

var shipno = 0;
var s;
for (s=shiptypes.length-1;s>=0;--s) {
var i;
for (i=0;i<shiptypes[s][2];++i) {
var d = Math.floor(Math.random()*2);
var len = shiptypes[s][1], lx=gridx, ly=gridy, dx=0, dy=0;
if ( d==0) {
lx = gridx-len;
dx=1;
}
else {
ly = gridy-len;
dy=1;
}
var x,y,ok;
do {
y = Math.floor(Math.random()*ly);
x = Math.floor(Math.random()*lx);
var j,cx=x,cy=y;
ok = true;
for (j=0;j<len;++j) {
if (grid[cy][cx][0] < 100) {
ok=false;
break;
}
cx+=dx;
cy+=dy;
}
} while(!ok);
var j,cx=x,cy=y;
for (j=0;j<len;++j) {
grid[cy][cx][0] = ship[d][s][j];
grid[cy][cx][1] = shipno;
grid[cy][cx][2] = dead[d][s][j];
cx+=dx;
cy+=dy;
}
if (ispc) {
computersships[shipno] = [s,shiptypes[s][1]];
computerlives++;
}
else {
playersships[shipno] = [s,shiptypes[s][1]];
playerlives++;
}
shipno++;
}
}
return grid;
}

function setImage(y,x,id,ispc) {
if ( ispc ) {
computer[y][x][0] = id;
document.images["pc"+y+"_"+x].src = "batt"+id+".gif";
}
else {
player[y][x][0] = id;
document.images["ply"+y+"_"+x].src = "batt"+id+".gif";
}
}

function showGrid(ispc) {
var y,x;
for (y=0;y<gridy;++y) {
for (x=0;x<gridx;++x) {
if ( ispc )
document.write ('<a href="javascript:gridClick('+y+','+x+');"><img name="pc'+y+'_'+x+'" src="batt100.gif" width=16 height=16></a>');
else
document.write ('<a href="javascript:void(0);"><img name="ply'+y+'_'+x+'" src="batt'+player[y][x][0]+'.gif" width=16 height=16></a>');
}
document.write('<br>');
}
}

function gridClick(y,x) {
if ( playflag ) {
if (computer[y][x][0] < 100) {
setImage(y,x,103,true);
var shipno = computer[y][x][1];
if ( --computersships[shipno][1] == 0 ) {
sinkShip(computer,shipno,true);
alert("Вы потопили мой "+shiptypes[computersships[shipno][0]][0]+"!");
updateStatus();
if ( --computerlives == 0 ) {
alert("Вы выйграли! Нажмите кнопку \"Обновить\"\n"+
"yoдля начала новой игры.");
playflag = false;
}
}
if ( playflag ) computerMove();
}
else if (computer[y][x][0] == 100) {
setImage(y,x,102,true);
computerMove();
}
}
}

function computerMove() {
var x,y,pass;
var sx,sy;
var selected = false;

for (pass=0;pass<2;++pass) {
for (y=0;y<gridy && !selected;++y) {
for (x=0;x<gridx && !selected;++x) {
if (player[y][x][0]==103) {
sx=x; sy=y;
var nup=(y>0 && player[y-1][x][0]<=100);
var ndn=(y<gridy-1 && player[y+1][x][0]<=100);
var nlt=(x>0 && player[y][x-1][0]<=100);
var nrt=(x<gridx-1 && player[y][x+1][0]<=100);
if ( pass == 0 ) {
var yup=(y>0 && player[y-1][x][0]==103);
var ydn=(y<gridy-1 && player[y+1][x][0]==103);
var ylt=(x>0 && player[y][x-1][0]==103);
var yrt=(x<gridx-1 && player[y][x+1][0]==103);
if ( nlt && yrt) { sx = x-1; selected=true; }
else if ( nrt && ylt) { sx = x+1; selected=true; }
else if ( nup && ydn) { sy = y-1; selected=true; }
else if ( ndn && yup) { sy = y+1; selected=true; }
}
else {
if ( nlt ) { sx=x-1; selected=true; }
else if ( nrt ) { sx=x+1; selected=true; }
else if ( nup ) { sy=y-1; selected=true; }
else if ( ndn ) { sy=y+1; selected=true; }
}
}
}
}
}
if ( !selected ) {
do{
sy = Math.floor(Math.random() * gridy);
sx = Math.floor(Math.random() * gridx/2)*2+sy%2;
} while( player[sy][sx][0]>100 );
}
if (player[sy][sx][0] < 100) {
setImage(sy,sx,103,false);
var shipno = player[sy][sx][1];
if ( --playersships[shipno][1] == 0 ) {
sinkShip(player,shipno,false);
alert("Я потопил Ваш "+shiptypes[playersships[shipno][0]][0]+"!");
if ( --playerlives == 0 ) {
knowYourEnemy();
alert("Я выйграл! Нажмите кнопку \"Обновить\"\n"+
"для начала новой игры.");
playflag = false;
}
}
}
else {
setImage(sy,sx,102,false);
}
}

function sinkShip(grid,shipno,ispc) {
var y,x;
for (y=0;y<gridx;++y) {
for (x=0;x<gridx;++x) {
if ( grid[y][x][1] == shipno )
if (ispc) setImage(y,x,computer[y][x][2],true);
else setImage(y,x,player[y][x][2],false);
}
}
}

function knowYourEnemy() {
var y,x;
for (y=0;y<gridx;++y) {
for (x=0;x<gridx;++x) {
if ( computer[y][x][0] == 103 )
setImage(y,x,computer[y][x][2],true);
else if ( computer[y][x][0] < 100 )
setImage(y,x,computer[y][x][0],true);
}
}
}

function updateStatus() {
var f=false,i,s = "Computer has ";
for (i=0;i<computersships.length;++i) {
if (computersships[i][1] > 0) {
if (f) s=s+", "; else f=true;
s = s + shiptypes[computersships[i][0]][0];
}
}
if (!f) s = s + "больше ничего не осталось. Спасибо!!";
statusmsg = s;
window.status = statusmsg;
}
function setStatus() {
window.status = statusmsg;
}
imagePreload();
player = setupPlayer(false);
computer = setupPlayer(true);
document.write("<center><table><tr><td align=center><p class='heading'>Игровое поле компьютера</p></td>"+
"<td align=center><p class='heading'>Ваше игровое поле</p></td></tr><tr><td>");
showGrid(true);
document.write("</td><td>");
showGrid(false);
document.write("</td></tr></table></center>");
updateStatus();
setInterval("setStatus();", 500);
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

Рисунки, использованные в примере: battal.zip


Game27

Нашествие злых покемонов

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Sam Dodge (nancied@mac.com) -->
<!-- Web Site:  http://raichusscastle.hypermart.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

var timerID = null;
var patno = 1;
var cr = "\r\n";
var spcf1 = "";
var spcf2 = "";
var spcf3 = "";
var hitflag = 0;
var score = 0;
var selec = 0;
var rsmiss = "";
function array1(arn) {
this.length = arn;
for (var ar1 = 0; ar1 <= arn; ar1++) {
this[ar1] = 1; }
return this;
}
function init() {
blankx = new array1(63);
for (var makeblank = 0; makeblank < 63; makeblank++) {
blankx[makeblank] = "";
for (var addBlank = 0; addBlank < makeblank; addBlank++) {
blankx[makeblank] = blankx[makeblank] + " ";
}
}
faker = new array1(24);
face = new array1(2);
face[1] = " (O_O) ";
face[2] = " (o_o) ";
mestotal = new array1(4);
interval1();
}
function restarter() {
inplay = 0;
blankno = 0;
totalblank = "";
lr = 1;
lowerlf = "";
downlf = "";
downno = 0;
missilex = 99;
missiley = 99;
mychrx = 1;
myblank = "";
mymove = 0;
selec = 1;
starter();
}
function starter() {
document.fmark.win.value=cr+cr+cr+cr+cr+cr+cr+cr+cr+cr
+"   Управляйте покемоном Пикачу, чтобы остановить нашествие!"+cr+cr+cr
+"                Нажмите Стрелять для начала игры!";
selec = 1;
}
function goleft() {
mymove = 0;
mychrx = mychrx - 1;
if (mychrx <= 0) { mychrx = 1; }
}
function goright() {
mymove = 0
mychrx = mychrx + 1;
if (mychrx >= 56) { mychrx = 55; }
}
function golmax() {
if (inplay == 1) { mymove = -1; }
}
function gormax() {
if (inplay == 1){ mymove = 1; }
}
function fire() {
if (inplay == 0){ if (selec == 1){ selec = 9; inplay = 1; init(); }
} else {
if (missiley == 99){ missiley = 18; missilex = mychrx + 3; }
}
}
function gameover() {
score = 0;
for (var enerme = 1; enerme < 25; enerme++) {
if (faker[enerme] == 1){ score = score + 1; }
}
if (score == 0) {
document.fmark.win.value = cr+cr+cr+cr+cr+cr+cr+cr
+"
      Поздравляем!"+cr+cr
+"
      ВЫ ОСТАНОВИЛИ НАШЕСТВИЕ!!";
} else {
document.fmark.win.value=cr+cr+cr+cr+cr+cr+cr+cr
+"
      ИГРА ЗАКОНЧЕНА"+cr+cr
+"                                 "+score+" ЗАВОЕВАТЕЛЕЙ ПРОНИКЛИ НА ЗЕМЛЮ";
}
inplay = 0;
}
function interval1() {
if (missiley != 99) { missiley = missiley - 1; }
if (missiley < 0){ missiley = 99; }
mychrx = mychrx + mymove;
if (mychrx <= 0){ mychrx = 1; }
if (mychrx >= 56){ mychrx = 55; }
blankno = blankno + lr;
totalblank = blankx[blankno];
if (blankno >= 20) { lr = -1; downno = downno + 1; blankno = 20; }
if (blankno <= 0) { lr = 1; downno = downno + 1; blankno = 0; }
if (downno >= 12) { gameover(); }
downlf = "";
for (var upperspc = 0; upperspc < downno; upperspc++) {
if (missiley == upperspc) {
downlf = downlf + blankx[missilex]+"|"+cr;
} else { downlf = downlf+cr; }
}
if (inplay == 1) {
patno = patno + 1;
if (patno >= 3) { patno = 1; }
for (var addline = 1; addline < 5; addline++){
mestotal[addline] = totalblank;
rsmiss = "";
if (missiley == (downno+addline*2-2)) {
if (blankno <= missilex) {
hitflag = parseInt((missilex-blankno)/7, 10);
if (hitflag < 6) {
if ((missilex - blankno - (hitflag * 7)) >= 1) {
if ((missilex - blankno - (hitflag * 7)) <= 5) {
if (faker[(addline * 6) + hitflag - 5] == 1) {
faker[(addline * 6) + hitflag - 5] = 0;
missiley = 99;
}
}
}
}else {
if (missilex > (blankno + 42)) {
rsmiss = blankx[missilex - blankno - 42]+"|";
}
}
} else {
mestotal[addline] = blankx[missilex]+"|";
if (missilex < (blankno-1)) {
mestotal[addline] = mestotal[addline]+blankx[blankno-1-missilex];
}
}
}
for (var addfaker = 1; addfaker < 7; addfaker++) {
if (faker[(addline*6)+addfaker-6] == 1) {
mestotal[addline] = mestotal[addline]+face[patno];
} else { mestotal[addline] = mestotal[addline]+"       "; }
}
mestotal[addline] = mestotal[addline]+rsmiss;
}
spcf1 = cr;
spcf2 = cr;
spcf3 = cr;
if (missiley == (downno+1)) { spcf1 = blankx[missilex]+"|"+cr; }
if (missiley == (downno+3)) { spcf2 = blankx[missilex]+"|"+cr; }
if (missiley == (downno+5)) { spcf3 = blankx[missilex]+"|"+cr; }
lowerlf = "";
for (var lowerspc = 0; lowerspc < (11-downno); lowerspc++) {
if (missiley == (downno+7+lowerspc)) {
lowerlf = lowerlf+blankx[missilex]+"|"+cr;
} else { lowerlf = lowerlf+cr; }
}
myblank = blankx[mychrx];
document.fmark.win.value = downlf+mestotal[1]+cr+spcf1
+mestotal[2]+cr+spcf2+mestotal[3]+cr+spcf3+mestotal[4]
+cr+lowerlf+myblank+""+cr+myblank+"(^_^)";
timerID = setTimeout("interval1()",250);
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="restarter()">

<center>
<form method=post name=fmark>
<table border=1 cellspacing=0 cellpadding=0>
<tr><td align=center>
<textarea name=win rows=20 cols=63 wrap=virtual style="border-style: solid; border-width: 0"></textarea>
<pre><input type=button name=button value="<- " onClick="golmax()"> <input type=button name=button value="Стрелять" onClick="fire()"> <input type=button name=button value=" ->" onClick="gormax()"></pre>
<input type=button name=button value="Новая игра" onClick="restarter()">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game36

Однорукий бандит

Количество оставшихся попыток:

Ваши деньги:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
tr=30
function tries() {
tr-=1
if(tr<0)
end()
else
document.timer.counter.value=tr
}

function ruout() {
u2 = new Image()
u2.src="rup.gif"
document.r.src=u2.src
}
function ru() {
u1 = new Image()
u1.src="rdown.gif"
document.r.src=u1.src
tries()
}

</script><script
language="JavaScript"><!--

n=0
b=0
c=0
a=0
k=0
l=0
m=0
v=0
x=0
t=0
u=0
g=0
j=0

function test() {
t*=10
u*=10
x*=10
g=t+u+x
if((t==u)&&(t==x)) {
g=t
g*=10
}
else
var h
}

function end() {
alert(' Рекорды\n .......................\n\n Бандит...............2100\n '+you+'.....................'+j+'\n\n .......................\nСпасибо за то, что сыграли!')
window.close()
}

function getRandom() {
y=Math.random()
y*=10
y/=2
x=Math.round(y)
}

function d() {
getRandom()
document.kv1.src="sh"+x+".gif"
t=x
if(t==4)
t=-5
else
var h
if(t==0)
t=10
else
var h

getRandom()
document.kv2.src="sh"+x+".gif"
u=x
if(u==4)
u=-5
else
var h
if(u==0)
u=10
else
var h

getRandom()
document.kv3.src="sh"+x+".gif"
v=0
v++
x=x
if(x==4)
x=-5
else
var h
if(x==0)
x=10
else
var h

}
function eu() {
n=0
b=0
c=0
a=0
}

function er() {
j=eval(document.mainform.money.value)
j+=g
document.mainform.money.value=j
em()
em()
em()
em()
eu()
em()
em()
em()
em()
em()
ruout()
}

function em(){

n++
img1 = new Image()
img2 = new Image()
img3 = new Image()
img1.src="sh"+n+".gif"
img2.src="sh"+n+".gif"
img3.src="sh"+n+".gif"

if(n==6) {
a=1
}
else {
if(c==1)
var h
else {
document.kv1.src=img1.src
}
}
if(n==6) {

b++
}
else {
if(b>1)
var h
else {
document.kv2.src=img2.src
}
}
if(n==6) {
n=0
c++
}
else {
if(c>2) {
d()
test()
}
else {
document.kv3.src=img3.src
setTimeout("em()",166);
}
}
}

// --></script>

<form name="timer">
<p align="center"><font color="#FFFF00" size="1"
face="MS Sans Serif">Количество
оставшихся попыток:</font> <input
type="text" size="2" name="counter" value="30"
onfocus="this.blur()"
style="font-family: sans-serif; font-size: 8pt; background-color: rgb(0,0,0); color: rgb(255,255,0); border: medium none rgb(0,0,0)"></p>
</form>

<form name="mainform">
<p align="center"><font color="#80FF00" size="1"
face="MS Sans Serif">Ваши деньги:</font> <input
type="text" size="5" name="money" value="0"
onfocus="this.blur()"
style="font-family: sans-serif; font-size: 8pt; background-color: rgb(0,0,0); color: rgb(0,255,0); border: medium none rgb(0,0,0)"></p>
</form>

<hr>

<p align="center"><img src="sh0.gif" width="30" height="30"
name="kv1"> <img src="sh0.gif" width="30" height="30"
name="kv2"> <img src="sh0.gif" width="30" height="30"
name="kv3"> </p>

<hr>

<p align="center"><img src="niz.gif" width="174" height="136"><a
href="javascript:er()"><img src="rup.gif" border="0" width="30"
height="136" name="r" onclick="ru()"><script
language="JavaScript"><!--

you=prompt('Введите ваше им\я:','Игрок')
// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: bandit.zip


Game55

"Однорукий бандит" 2

Крути-и-Выиграй!
Выиграй скидку для своей покупки!
Просто, кликни по рукоятке
левое колесо среднее колесо правое колесо
Рукоятка

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
ls=" abcdef";
/* Load your images into an array during initial
page loading. These are the wheel images. */
isn1=new Array();
for (i=1;i<7;i++){
isn1[i]=new Image();
isn1[i].src="slotw"+i+".gif";
}

// And these are the handle images.
isn=new Array();
for (i=1;i<5;i++){
isn[i]=new Image();
isn[i].src="slot"+i+"a.gif";
}

// And these are the prize images and a blank
var pri=new Array();
for (i=1;i<6;i++){
pri[i]=new Image();
pri[i].src="slotp"+i+".gif";
}

/* This array tells the script which wheel colors
to display. */
var win=new Array();
win[0]="ccc"; // 10% winner - change to abc if not wanted
win[1]="bcd";
win[2]="cde";
win[3]="dea";
win[4]="aaa"; // 25% winner - change to cba if not wanted
win[5]="bbe";
win[6]="ebe";
win[7]="eac";
win[8]="bbb"; // 15% winner - change to ecb if not wanted
win[9]="aeb";
var hctr=0;

function spinIt(){
if (hctr==1){
document.prize.src=pri[5].src;
}
hctr++;
if ((hctr>0)&&(hctr<7)){
handleIt();
}
else{
wheelIt();
}
}
function wheelIt(){
document.lfwhl.src=isn1[6].src;
setTimeout("document.mdwhl.src=isn1[6].src",2000);
setTimeout("document.rtwhl.src=isn1[6].src",4000);
setTimeout("wheelIt1()",6000);
}

function wheelIt1(){
srand();
pos=ls.indexOf(win[rec].substring(0,1))
document.lfwhl.src=isn1[pos].src;
pos=ls.indexOf(win[rec].substring(1,2))
document.mdwhl.src=isn1[pos].src;
pos=ls.indexOf(win[rec].substring(2,3))
document.rtwhl.src=isn1[pos].src;
if (win[rec]=="aaa"||win[rec]=="bbb"||win[rec]=="ccc"){
winIt();
}
else{
document.prize.src=pri[4].src;
}
}

function winIt(){
if (win[rec]=="aaa"){
document.prize.src=pri[3].src;
}
if (win[rec]=="bbb"){
document.prize.src=pri[2].src;
}
if (win[rec]=="ccc"){
document.prize.src=pri[1].src;
}
}

function srand(){
today=new Date();
rand=today.getTime();
picker="a"+rand
picker=picker.charAt((picker.length - 4));
rec=picker;
}

function handleIt(){
if (hctr==4){hctr=5;}
if (hctr<4){
document.spin.src=isn[hctr].src;
setTimeout("spinIt()",75);
}
else{
document.spin.src=isn[(7-hctr)].src;
setTimeout("spinIt()",75);
}
}
// End Hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD><TABLE BORDER=6 CELLPADDING=0 CELLSPACING=0>
<TR><TD COLSPAN=3 ALIGN=CENTER><FONT COLOR="red" SIZE=6><B>Крути-и-Выиграй!</B></FONT><BR>Выиграй скидку для своей покупки!<BR>Просто, кликни по рукоятке</TD></TR>
<TR><TD VALIGN=TOP>
<IMG NAME="lfwhl" HEIGHT=118 BORDER=0
WIDTH=59 SRC="slotw1.gif" ALT="левое колесо"></TD>
<TD VALIGN=TOP><IMG NAME="mdwhl" HEIGHT=118 BORDER=0
WIDTH=59 SRC="slotw1.gif" ALT="среднее колесо"></TD>
<TD VALIGN=TOP><IMG NAME="rtwhl" HEIGHT=118 BORDER=0
WIDTH=59 SRC="slotw1.gif" ALT="правое колесо"></TD></TR>
</TABLE>
<TD VALIGN=BOTTOM><A HREF="" style="cursor:hand" onClick="spinIt();hctr=1;handleIt();wheelIt()"><IMG NAME="spin" HEIGHT=118 BORDER=0
WIDTH=59 SRC="slot1a.gif" ALT="Рукоятка"></TD></TR>
<TR><TD COLSPAN=2><IMG SRC="slotp5.gif" NAME="prize" HEIGHT=40 WIDTH=256></TD></TR>
</TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере slotm.zip


Game28

Угадай число
Нажмите кнопку Старт и читайте условия.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var RNumber;
var RTries;
limit = 50;
function Random() {
today = new Date();
num = today.getTime();
num = Math.round(Math.abs(Math.sin(num) * 1000000)) % limit;
return num;
}
function Init(){
RNumber = Random();
RTries = '';
document.FGame.Output.value='Я задумал число от 0 до ' + (limit-1) +'. Угадайте!..';
document.FGame.Tries.value=RTries;
document.FGame.HighLow.value='';
document.FGame.Input.value='';
}
function Game(Number) {
if(Number==RNumber) {
RTries++;
document.FGame.Output.value='Вы угадали после ' + RTries + ' попыток! Это число ' + RNumber + '!';
document.FGame.HighLow.value='В яблочко!';
document.FGame.Tries.value='Невероятно! С ' + RTries + '-го раза!';
}
else {
RTries++;
document.FGame.Output.value='Нет, ' + Number + ' не то число, которое я задумал!';
document.FGame.HighLow.value=(RNumber > Number) ? '' + Number + ' меньше задуманного числа' : '' + Number + ' больше задуманного числа';
document.FGame.Tries.value='Это была ' + RTries + ' попытка';
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<FORM NAME="FGame">
<INPUT TYPE="txt" NAME="Output" style="border: none" VALUE="" Size="39"><br>
<INPUT TYPE="txt" style="border: none" NAME="Input" VALUE='' Size="3">&nbsp; <INPUT TYPE="txt" style="border: none" NAME="HighLow" VALUE='' Size="39">&nbsp;
<INPUT TYPE="txt" NAME="Tries" VALUE="" style="border: none" SIZE="23"><br>
<INPUT TYPE="button" NAME="one" VALUE="1" style="width:28" OnClick="FGame.Input.value += 1"><INPUT TYPE="button" NAME="one" VALUE="2" style="width:28" OnClick="FGame.Input.value += 2"><INPUT TYPE="button" NAME="one" VALUE="3" style="width:28" OnClick="FGame.Input.value += 3"><br>
<INPUT TYPE="button" NAME="one" VALUE="4" style="width:28" OnClick="FGame.Input.value += 4"><INPUT TYPE="button" NAME="one" VALUE="5" style="width:28" OnClick="FGame.Input.value += 5"><INPUT TYPE="button" NAME="one" VALUE="6" style="width:28" OnClick="FGame.Input.value += 6"><br>
<INPUT TYPE="button" NAME="one" VALUE="7" style="width:28" OnClick="FGame.Input.value += 7"><INPUT TYPE="button" NAME="one" VALUE="8" style="width:28" OnClick="FGame.Input.value += 8"><INPUT TYPE="button" NAME="one" VALUE="9" style="width:28" OnClick="FGame.Input.value += 9"><br>
<INPUT TYPE="button" NAME="one" VALUE="0" style="width:28" OnClick="FGame.Input.value += 0"><INPUT TYPE="button" NAME="DoIt" VALUE="Проба" style="width: 56; color: #FF0000;" OnClick="Game(FGame.Input.value); FGame.Input.value='';"><br>
<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var d = 500 // Интервал смены цветов
var ctext = "Старт";
var speed = 10000;
var x = 0;
var color = new initArray(
"white",
"black"
);
if(navigator.appName == "Netscape") {
document.write('<INPUT TYPE=\"button\" NAME=\"init\" id="c" VALUE='+ctext+' style=\"width:84\" OnClick=\"Init();stop()\">');
}
if (navigator.appVersion.indexOf("MSIE") != -1){
document.write('<INPUT TYPE=\"button\" NAME=\"init\" id="c" VALUE='+ctext+' style=\"width:84\" OnClick=\"Init();stop()\">');
}
function chcolor(){
if(navigator.appName == "Netscape") {
document.c.document.write('<center><font color="'+color[x]);
document.c.document.write('">'+ctext+'</font></center>');
document.c.document.close();
}
else if (navigator.appVersion.indexOf("MSIE") != -1){
document.all.c.style.color = color[x];
}
(x < color.length-1) ? x++ : x = 0;
}
setInterval("chcolor()",d);
function stop(){
color = '';
}
// End -->
</script>
</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game68

ESP

(Экстросенсорная чувствительность)

Эта страница имеет ESP.
Она читает мысли!.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
// "Copyright 1996-97 (C) Tatsuya Takemura. All rights reserved."

function es() {
alert("Задумайте любое число.")
x=0
var today=new Date()
sec=0
for (i=1;i<=5;i++) {
sec=today.getSeconds()
rand1 = 31
while ( rand1 > 30 ) {
rand1 = Math.random()*sec*100
rand1 = Math.ceil(rand1)
}
rand2 = Math.random()
if (rand2>0.5) { mes="прибавьте "; mes1=""; y=rand1 }
else{ mes="вычтите " ; mes1=" от полученного числа"; y=-rand1}
x1=x
x=x+y
if (x<0) { mes="прибавьте к нему "; mes1=""; x=x1+rand1 }
alert("Теперь, "+mes+rand1+mes1+". ")

}
alert("Теперь вычтите число, которое Вы задумали.")
alert("У Вас получилось "+x+" , не так ли ?")
}

//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<P><b>Экстосенсорная чувствительность</b>
<BR><BR>
Эта страница имеет ESP.
<br>
Она читает мысли!.

<FORM NAME="f">
<INPUT TYPE="button" VALUE="Нажмите!" onClick="es()">
</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game48

Отелло
JavaScript версия одноименной DOS-кой игры

Нажмите кнопку.

(скрипт очень большой - из файла справки возможна задержка загрузки до 20 сек.!)

Код игрушки скопируйте прямо из источника страницы с игрой "ОТЕЛЛО". Не следует ничего менять- страница оптимизирована - просто создайте новый документ. Рисунки, использованные в игре: othello.zip


Game14

Очисти поле
Правила такие. Выбираете уровень, после чего стараетесь убрать все "птички" возникшие на поле путем кликания по радио-кнопкам. Каждая кнопка, по которой Вы кликаете, становится активной (или дезактивируется), кроме того, кнопка сверху, кнопка снизу, кнопка слева и кнопка справа от выбранной кнопки изменят свое состояние: активная станет неактивной, неактивная - активной. Перебирая вот таким образом, Вы должны сделать неактивными ВСЕ кнопки.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Andrew Gacek (andrew@dgi.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function fillall() {
for (var i = 0; i < 24; i++) {
document.lightsform.elements[i].checked=1;
}
}
function clearall() {
for (var i = 0; i < 24; i++) {
document.lightsform.elements[i].checked=0;
}
}
function level1() {
clearall();
document.lightsform.elements[10].checked=1;
document.lightsform.elements[12].checked=1;
document.lightsform.elements[14].checked=1;
}
function level2() {
clearall();
document.lightsform.elements[12].checked=1;
document.lightsform.elements[16].checked=1;
document.lightsform.elements[17].checked=1;
document.lightsform.elements[18].checked=1;
document.lightsform.elements[20].checked=1;
document.lightsform.elements[21].checked=1;
document.lightsform.elements[22].checked=1;
document.lightsform.elements[23].checked=1;
document.lightsform.elements[24].checked=1;
}
function level3() {
fillall();
document.lightsform.elements[4].checked=0;
document.lightsform.elements[6].checked=0;
document.lightsform.elements[7].checked=0;
document.lightsform.elements[8].checked=0;
document.lightsform.elements[11].checked=0;
document.lightsform.elements[12].checked=0;
document.lightsform.elements[13].checked=0;
document.lightsform.elements[16].checked=0;
document.lightsform.elements[17].checked=0;
document.lightsform.elements[18].checked=0;
document.lightsform.elements[24].checked=0;
}
function level4() {
clearall();
document.lightsform.elements[2].checked=1;
document.lightsform.elements[6].checked=1;
document.lightsform.elements[8].checked=1;
document.lightsform.elements[10].checked=1;
document.lightsform.elements[12].checked=1;
document.lightsform.elements[14].checked=1;
document.lightsform.elements[16].checked=1;
document.lightsform.elements[18].checked=1;
document.lightsform.elements[22].checked=1;
}
function level5() {
clearall();
document.lightsform.elements[11].checked=1;
document.lightsform.elements[16].checked=1;
document.lightsform.elements[21].checked=1;
}
function checkall() {
var win=1;
for (var i = 0; i < 24; i++) {
if (document.lightsform.elements[i].checked==1) {
win=0;
}
}
if (win==1){
alert("\nYou Won!!\n")
}
}
function check(v){
q=5;
w=1;
row=parseInt(v/q)+w;
if (isNaN(row)) {
row=1;
}
intv = parseInt(v);
a=eval(intv+q);
b=eval(intv-q);
c=eval(intv+w);
d=eval(intv-w);
if (a<0 || a>24){
a=25;
}
if (b<0 || b>24){
b=25;
}
if (c<0 || c>24){
c=25;
}
if (d<0 || d>24){
d=25;
}
kc = (parseInt(c/q)+w)
kd = (parseInt(d/q)+w)
kv = row;
if (kc != kv){
c=25;
}
if (kd != kv){
d=25;
}
if (v==5) d=25; // correction for strange bug

if (document.lightsform.elements[a].checked == 1) {
document.lightsform.elements[a].checked=0;
}
else {
document.lightsform.elements[a].checked=1;
}
if (document.lightsform.elements[b].checked == 1) {
document.lightsform.elements[b].checked=0;
}
else {
document.lightsform.elements[b].checked=1;
}
if (document.lightsform.elements[c].checked == 1) {
document.lightsform.elements[c].checked=0;
}
else {
document.lightsform.elements[c].checked=1;
}
if (document.lightsform.elements[d].checked == 1) {
document.lightsform.elements[d].checked=0;
}
else {
document.lightsform.elements[d].checked=1;
}
checkall();
}
// End -->
</script>
</HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<form name=lightsform>
<table colspec="l20 l20 l20 l20 l20" border="2">
<tr>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=0 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=1 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=2 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=3 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=4 onClick="check(value)"></td>
</tr>
<tr>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=5 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=6 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=7 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=8 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=9 onClick="check(value)"></td>
</tr>
<tr>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=10 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=11 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=12 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=13 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=14 onClick="check(value)"></td>
</tr>
<tr>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=15 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=16 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=17 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=18 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=19 onClick="check(value)"></td>
</tr>
<tr>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=20 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=21 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=22 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=23 onClick="check(value)"></td>
<td bordercolor="#000000" bgcolor="#17BFBF"><input type=checkbox value=24 onClick="check(value)"></td>
</tr>
</table>
<br>
<table border=1>
<tr>
<td><input type=button value="Уровень 1" onClick="javascript:level1()"></td>
<td><input type=button value="Уровень 2" onClick="javascript:level2()"></td>
</tr>
<tr>
<td><input type=button value="Уровень 3" onClick="javascript:level3()"></td>
<td><input type=button value="Уровень 4" onClick="javascript:level4()"></td>
</tr>
<tr>
<td><input type=button value="Уровень 5" onClick="javascript:level5()"></td>
<td><input type="reset" value="  Сброс
 " style="color: #FF0000"></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game4

Разбивалка
Очень интересная, но "нервная" игра. Чрезмерно эмоциональным личностям следует держать себя в руках...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nick Young (ywing9787@aol.com) -->
<!-- Web Site: http://www.angelfire.com/biz6/ywing9787 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var timerID = null;
var INT = 10;
var loadFLG = 0;
var gameFLG = 0;
var missFLG = 0;
var tim = 0;
var blcol = new Array(5); // block color
var blsta = new Array(40); // block status
var blNO = new Array(40); // block No
var blclr = 0; // clear block
var ballX = 0; // ball data
var ballY = 0;
var ballN = 5;
var ballDX = 0;
var ballDY = 0;
var tmpRL = 193;
var X = 0;
blcol[0] = "#FFFF00";
blcol[1] = "#FFCF00";
blcol[2] = "#FF7F00";
blcol[3] = "#FF3F00";
blcol[4] = "#FF0000";
blcol[5] = "#000000";

function mainF() {
clearTimeout(timerID);
tim = tim + 1;
with (Math){ tmptim = floor(tim / 10)};
document.forms[0].TM.value = tmptim;
ballX = ballX + ballDX;
ballY = ballY + ballDY;
outCHK();
blkCHK();
ball.style.posTop = ballY;
ball.style.posLeft = ballX;
racket.style.posLeft = tmpRL;
if (gameFLG == 01){
timerID = setTimeout("mainF()", INT);
}
}
function initG() {
if (blclr >= 40) {
blclr = 0;
tim = 0;
ballN = 3;
with (Math) {
tmptim = floor(tim / 10);
}
document.forms[0].TM.value = tmptim;
clrmes.style.posTop = -1000;
clrmes.style.posLeft = -1000;
ovrmes.style.posTop = -1000;
ovrmes.style.posLeft = -1000;
for (ib = 0; ib < 5; ib++){ for (ia = 0; ia < 8; ia++) {
chc(ib * 8 + ia +1, ib);
blsta[ib * 8 + ia] = ib;
}
}
}
document.forms[0].BL.value = ballN;
starter.style.posTop = -1000;
starter.style.posLeft = -1000;
gameFLG = 1;
loadFLG = 1;
ballX = 209;
ballY = 270;
ballDX =- 8;
ballDY =- 8;
tmpRL = 193;
missFLG = 0;
timerID = setTimeout("mainF()", INT);
}
function SUP() {
UP.outerHTML = "<DIV ID='DN' STYLE='position:absolute'><A HREF='javascript:SDN()'>Уменьшить скорост</A></DIV>";
DN.style.posTop = 170;
DN.style.posLeft = 432;
INT = 10;
}
function SDN() {
DN.outerHTML = "<DIV ID='UP' STYLE='position:absolute'><A HREF='javascript:SUP()'>Увеличить скорость</A></DIV>";
UP.style.posTop = 170;
UP.style.posLeft = 432;
INT = 100;
}
function MouseMv() {
if (loadFLG == 1) {
tmpRL = X - 20;
if (tmpRL < 16) { tmpRL = 16; }
if (tmpRL > 370) { tmpRL = 370; }
}
}
function outCHK() {
if (ballX < 16){ ballX = 32 - ballX; ballDX = -ballDX; }
if (ballX > 401){ ballX = 802 - ballX; ballDX = -ballDX; }
if (ballY < 16){ ballY = 32 - ballY; ballDY = -ballDY; }
if (ballY >= 272) {
if (missFLG == 0) {
tmpX = (ballDX / ballDY) * (272 - ballY) + ballX;
if (tmpX >= tmpRL - 12) {
if (tmpX <= tmpRL + 42) {
ballY = 272; ballDY = -ballDY;
ballX = tmpX;
ballRD = tmpX - tmpRL;
with (Math){ ballDX = 8 * abs(ballDX) / ballDX; }
if (ballRD < -4){ ballDX = -15; }
if (ballRD > 36){ ballDX = 15; }
if (ballRD >= 14){ if (ballRD <= 16) { ballDX = -2; } }
if (ballRD >= 17){ if (ballRD <= 20) { ballDX = 2; } }
if (ballRD >= 0){ if (ballRD <= 4) { ballDX = -4; } }
if (ballRD >= 28){ if (ballRD <= 32) { ballDX = 4; } }
if (ballRD >= -4){ if (ballRD <= -1) { ballDX = -11; } }
if (ballRD >= 33){ if (ballRD <= 36) { ballDX = 11; } }
}
}
if (ballDY > 0){ missFLG = 1; }
} else {
if (ballY > 290){ missFLG = 0; ballN = ballN - 1; gameEnd(); }
}
}
}
function blkCHK() {
tmpY = ballY + 4;
tmpX = ballX + 4;
if (tmpY >= 48) {
if (tmpY <= 147) {
if (tmpX >= 29) {
if (tmpX <= 396) {
with (Math) {
ia = floor((tmpX - 29) / 46);
ib = floor((tmpY - 48) / 20);
ic = ib * 8 + ia;
}
if (blsta[ic] <= 4) {
tmpbc = blsta[ic] + 1;
blsta[ic] = tmpbc;
chc(ic + 1, tmpbc);
if (tmpbc == 5){ blclr = blclr + 1; }
if (blclr >= 40){ gameEnd(); }
if (ballDX > 0) {
iy=(ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY;
if (iy > 48 + 20 * ib + 18) {
tmpY1 = 48 + 20 * ib + 18;
tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDY = -ballDY;
} else {
if (iy < 44 + 20 * ib) {
tmpY1 = 48 + 20 * ib;
tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDY = -ballDY;
} else {
tmpX1 = 29 + 46 * ia;
tmpY1 = (ballDY / ballDX) * (29 + 46 * ia - tmpX) + tmpY;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDX = -ballDX;
}
}
} else {
iy = (ballDY / ballDX) * (29+46 * ia + 44 - tmpX) + tmpY;
if (iy > 48 + 20 * ib + 18) {
tmpY1 = 48 + 20 * ib + 18;
tmpX1 = (ballDX / ballDY) * (48 + 20 * ib + 18 - tmpY) + tmpX;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDY = -ballDY;
} else {
if (iy < 44 + 20 * ib) {
tmpY1 = 48 + 20 * ib;
tmpX1 = (ballDX / ballDY) * (48 + 20 * ib - tmpY) + tmpX;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDY = -ballDY;
} else {
tmpX1 = 29+46 * ia + 44;
tmpY1 = (ballDY / ballDX) * (29 + 46 * ia + 44 - tmpX) + tmpY;
ballX = tmpX1 - 4;
ballY = tmpY1 - 4;
ballDX = -ballDX;
}
}
}
}
}
}
}
}
}
function gameEnd() {
document.forms[0].BL.value = ballN;
gameFLG = 0;
loadFLG = 0;
starter.style.posTop = 200;
starter.style.posLeft = 180;
if (blclr >= 40) {
clrmes.style.posTop = 150;
clrmes.style.posLeft = 160;
}
if (ballN <= 0) {
ovrmes.style.posTop = 150;
ovrmes.style.posLeft = 160;
blclr = 40;
}
}
function onLD() {
bgIE.style.posTop = 16;
bgIE.style.posLeft = 16;
ball.style.posTop = 270;
ball.style.posLeft = 209;
racket.style.posTop = 280;
racket.style.posLeft = 193;
info.style.posTop = 16;
info.style.posLeft = 432;
starter.style.posTop = -1000;
starter.style.posLeft = -1000;
clrmes.style.posTop = -1000;
clrmes.style.posLeft = -1000;
ovrmes.style.posTop = -1000;
ovrmes.style.posLeft = -1000;
DN.style.posTop = 170;
DN.style.posLeft = 432;
for (ib = 0; ib < 5; ib++) {
for (ia = 0; ia < 8; ia++) {
blsta[ib * 8 + ia] = ib;
}
}
starter.style.posTop = 200;
starter.style.posLeft = 180;
}
function chc(bno,bcl) {
tmpbno = "b" + (bno-1);
eval(tmpbno).bgColor = blcol[bcl];
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="onLD();" onMouseMove='X=event.x;MouseMv();'>

<span id=info style='position:absolute'>
<pre>
<font color="#000044"><i><b><font style="font-size: 24px">Разбивалка</font></b></i></font>
</pre>
<form>
Мячи: <input type=text name=BL size=5 value=5>
Время: <input type=text name=TM size=5 value=0>
</form>
</span>

<SCRIPT LANGUAGE="JavaScript">
<!-- block image write
with (document) {
write("<table id='bgIE' width='394' height='300' bgcolor='#000000' style='position:absolute'><td></td></table>");

write("<table id='b0' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:29'><td></td></table>");
write("<table id='b1' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:75'><td></td></table>");
write("<table id='b2' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:121'><td></td></table>");
write("<table id='b3' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:167'><td></td></table>");
write("<table id='b4' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:213'><td></td></table>");
write("<table id='b5' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:259'><td></td></table>");
write("<table id='b6' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:305'><td></td></table>");
write("<table id='b7' width='42' height='16' bgcolor='#FFFF00' style='position:absolute; top:48; left:351'><td></td></table>");

write("<table id='b8' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:29'><td></td></table>");
write("<table id='b9' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:75'><td></td></table>");
write("<table id='b10' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:121'><td></td></table>");
write("<table id='b11' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:167'><td></td></table>");
write("<table id='b12' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:213'><td></td></table>");
write("<table id='b13' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:259'><td></td></table>");
write("<table id='b14' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:305'><td></td></table>");
write("<table id='b15' width='42' height='16' bgcolor='#FFCF00' style='position:absolute; top:68; left:351'><td></td></table>");

write("<table id='b16' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:29'><td></td></table>");
write("<table id='b17' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:75'><td></td></table>");
write("<table id='b18' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:121'><td></td></table>");
write("<table id='b19' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:167'><td></td></table>");
write("<table id='b20' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:213'><td></td></table>");
write("<table id='b21' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:259'><td></td></table>");
write("<table id='b22' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:305'><td></td></table>");
write("<table id='b23' width='42' height='16' bgcolor='#FF7F00' style='position:absolute; top:88; left:351'><td></td></table>");

write("<table id='b24' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:29'><td></td></table>");
write("<table id='b25' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:75'><td></td></table>");
write("<table id='b26' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:121'><td></td></table>");
write("<table id='b27' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:167'><td></td></table>");
write("<table id='b28' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:213'><td></td></table>");
write("<table id='b29' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:259'><td></td></table>");
write("<table id='b30' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:305'><td></td></table>");
write("<table id='b31' width='42' height='16' bgcolor='#FF3F00' style='position:absolute; top:108; left:351'><td></td></table>");

write("<table id='b32' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:29'><td></td></table>");
write("<table id='b33' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:75'><td></td></table>");
write("<table id='b34' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:121'><td></td></table>");
write("<table id='b35' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:167'><td></td></table>");
write("<table id='b36' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:213'><td></td></table>");
write("<table id='b37' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:259'><td></td></table>");
write("<table id='b38' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:305'><td></td></table>");
write("<table id='b39' width='42' height='16' bgcolor='#FF0000' style='position:absolute; top:128; left:351'><td></td></table>");

write("<div id='ball' style='position:absolute'>");
write("<table width='4' height='8' bgcolor='#B0B0B0' style='position:absolute; left:0; top:0'><td></td></table>");
write("<table width='8' height='4' bgcolor='#B0B0B0' style='position:absolute; left:-1; top:2'><td></td></table>");
write("<table width='4' height='4' bgcolor='#FFFFFF' style='position:absolute; left:0; top:1'><td></td></table>");
write("</div>");
write("<table id='racket' width='40' height='4' bgcolor='#B0B0FF' style='position:absolute'><td></td></table>");
write("<div id='starter' style='position:absolute'><form><input type='button' value='СТАРТ' ONCLICK='initG();blur()'></form></div>");
write("<div id='clrmes' style='position:absolute'><font style='font-size:24px' color='#44CC44'>ALL CLEAR!</font></div>");
write("<div id='ovrmes' style='position:absolute'><font style='font-size:24px' color='#CC4444'>GAME OVER!</font></div>");
write("<div id='DN' style='position:absolute'><a href='javascript:SDN()'>SPEED DOWN</a></div>");
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game75

Разбивалка 2
КРОССБРАУЗЕРНАЯ

Полный код страницы с игрой.

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Hard Block</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

var timerID = null
var INT = 10
var loadFLG=0
var gameFLG=0
var missFLG=0
var tim = 0                                    //time
var blcol = new Array(5)                       //block color
var blsta = new Array(40)                      //block status
var blclr = 0                                  //clear block
var ballX = 0                                  //ball data
var ballY = 0
var ballN = 3
var ballDX= 0
var ballDY= 0
var tmpRL = 193
var keyP=0
var keyPr=0
var endFLG=0

blcol[0]="#FFFF00"
blcol[1]="#FFB000"
blcol[2]="#FF8000"
blcol[3]="#FF4000"
blcol[4]="#FF0000"
blcol[5]="#000000"

var ieFLG=0
var n4FLG=0
if (document.all){
ieFLG=1
}else{
if (document.getElementById){
n4FLG=0
}else{
n4FLG=1
}
}

//-----------------------------------------
//------------- main function -------------
//-----------------------------------------

function mainF(){
clearTimeout(timerID)
tim=tim+1
with (Math){tmptim=floor(tim/10)}
tmptc=""
tmptb=tim/10
if (tim==tmptim*10){tmptc=".0"}
ballX=ballX+ballDX
ballY=ballY+ballDY
outCHK()
blkCHK()
if (document.getElementById){
document.SC.TM.value=tmptb+tmptc
document.SC.CL.value=blclr
document.SC.SR.value=blclr*200-tim
document.getElementById("ball").style.top =  ballY
document.getElementById("ball").style.left = ballX
}else{
if (ieFLG==1){
document.SC.TM.value=tmptb+tmptc
document.SC.CL.value=blclr
document.SC.SR.value=blclr*200-tim
ball.style.posTop = ballY
ball.style.posLeft = ballX
}else{
document.layers["info"].document.forms[0].TM.value=tmptb+tmptc
document.layers["info"].document.forms[0].CL.value=blclr
document.layers["info"].document.forms[0].SR.value=blclr*200-tim
document.layers["ball"].moveTo(ballX,ballY)
}
}
racketMove()
if (gameFLG==1){timerID = setTimeout("mainF()",INT)}
}

//-----------------------------------------
//------------- sub functions -------------
//-----------------------------------------

//game init
function initG(){
keyP=0
if (endFLG == 0){
endFLG=1
blclr=0
tim=0
ballN=3
with (Math){tmptim=floor(tim/10)}
if (document.getElementById){
document.SC.TM.value=tmptim
document.getElementById("ovrmes").style.top=-1000
document.getElementById("clrmes").style.top=-1000
}else{
if (ieFLG==1){
document.SC.TM.value=tmptim
clrmes.style.top=-1000
ovrmes.style.top=-1000
}else{
document.layers["info"].document.forms[0].TM.value=tmptim
document.layers["ovrmes"].visibility="HIDE"
document.layers["clrmes"].visibility="HIDE"
}
}
for (ib=0; ib<5; ib++){for (ia=0; ia<8; ia++){
tmpIDn=ib*8+ia+1
if (document.getElementById){
document.getElementById(tmpIDn).style.backgroundColor = blcol[ib]
}else{
if (ieFLG==1){
document.all(tmpIDn+9).style.backgroundColor = blcol[ib]
}else{
document.layers[tmpIDn].bgColor=blcol[ib]
}
}
blsta[ib*8+ia]=ib
}}
}
if (document.getElementById){
document.SC.BL.value=ballN
document.getElementById("starter").style.top=-1000
}else{
if (ieFLG==1){
document.SC.BL.value=ballN
starter.style.top=-1000
}else{
document.layers["info"].document.forms[0].BL.value=ballN
document.layers["starter"].visibility="HIDE"
}
}
gameFLG=1;loadFLG=1
ballX=209;ballY=270;ballDX=-8; ballDY=-8;tmpRL=193;missFLG=0
timerID = setTimeout("mainF()",INT)
}

function keyDown(DnEvents){
if (ieFLG==0){
k=DnEvents.which
}else{
k=window.event.keyCode
}

if (k == 54){keyP=5}                         //6
if (k == 102){keyP=5}                        //6

if (k == 52){keyP=-5}                        //4
if (k == 100){keyP=-5}                       //4

if (k == 83){if (gameFLG==0){initG()}}       //S
if (k == 115){if (gameFLG==0){initG()}}      //s
}

function keyUp(UpEvents){
if (ieFLG==0){
k=UpEvents.which
}else{
k=window.event.keyCode
}
if (k == 102){keyP=0}                   //6
if (k == 54 ){keyP=0}                   //4
if (k == 100){keyP=0}                   //6
if (k == 52 ){keyP=0}                   //4
}

//racket move
function racketMove(){
if (loadFLG==1){
if (keyP != 0){
tmpkeyP=keyP*keyPr
if (tmpkeyP>=0){
if (keyPr != 0){
if (Math.abs(keyPr)<15){keyPr=keyPr*1.2}
}else{
keyPr=keyP
}
}else{
keyPr=keyP
}
}else{
keyPr=0
}
tmpRL=tmpRL+keyPr
if (tmpRL<16){tmpRL=16}
if (tmpRL>370){tmpRL=370}
if (document.getElementById){
document.getElementById("racket").style.left=tmpRL
}else{
if (ieFLG==1){
racket.style.left=tmpRL
}else{
document.layers["racket"].left=tmpRL
}
}
}
}

//wall and racket check
function outCHK(){
if (ballX < 16){ballX=32-ballX;ballDX=-ballDX}
if (ballX > 401){ballX=802-ballX;ballDX=-ballDX}
if (ballY < 16){ballY=32-ballY;ballDY=-ballDY}
if (ballY >= 272){
if (missFLG==0){
tmpX=(ballDX/ballDY)*(272-ballY)+ballX
if (tmpX >= tmpRL-12){
if (tmpX <= tmpRL+42){
ballY=272;ballDY=-ballDY
ballX=tmpX
ballRD=tmpX-tmpRL
with (Math){ballDX=8*abs(ballDX)/ballDX}
if (ballRD<-4){ballDX=-15}
if (ballRD>36){ballDX=15}
if (ballRD>=14){if (ballRD<=16){ballDX=-2}}
if (ballRD>=17){if (ballRD<=20){ballDX=2}}
if (ballRD>=0){if (ballRD<=4){ballDX=-4}}
if (ballRD>=28){if (ballRD<=32){ballDX=4}}
if (ballRD>=-4){if (ballRD<=-1){ballDX=-11}}
if (ballRD>=33){if (ballRD<=36){ballDX=11}}
}
}
if (ballDY>0){missFLG=1}
}else{
if (ballY>290){missFLG=0;ballN=ballN-1;gameEnd()}
}
}
}

//block check
function blkCHK(){
tmpY=ballY+4;tmpX=ballX+4
if (tmpY>=48){if (tmpY<=147){if (tmpX>=29){if (tmpX<=396){
with (Math) {
ia=floor((tmpX-29)/46);ib=floor((tmpY-48)/20);ic=ib*8+ia
}
if (blsta[ic]<=4){
tmpbc=blsta[ic]+1
blsta[ic]=tmpbc
tmpIDnc=ic+1
if (document.getElementById){
document.getElementById(tmpIDnc).style.backgroundColor = blcol[tmpbc]
}else{
if (ieFLG==1){
document.all(tmpIDnc+9).style.backgroundColor = blcol[tmpbc]
}else{
document.layers[tmpIDnc].bgColor=blcol[tmpbc]
}
}
if (tmpbc==5){blclr=blclr+1}
if (blclr >= 40){gameEnd()}

if (ballDX>0){
iy=(ballDY/ballDX)*(29+46*ia-tmpX)+tmpY
if (iy>48+20*ib+18){
tmpY1=48+20*ib+18
tmpX1=(ballDX/ballDY)*(48+20*ib+18-tmpY)+tmpX
ballX=tmpX1-4;ballY=tmpY1-4
ballDY=-ballDY
}else{
if (iy<44+20*ib){
tmpY1=48+20*ib
tmpX1=(ballDX/ballDY)*(48+20*ib-tmpY)+tmpX
ballX=tmpX1-4;ballY=tmpY1-4
ballDY=-ballDY
}else{
tmpX1=29+46*ia
tmpY1=(ballDY/ballDX)*(29+46*ia-tmpX)+tmpY
ballX=tmpX1-4;ballY=tmpY1-4
ballDX=-ballDX
}
}
}else{
iy=(ballDY/ballDX)*(29+46*ia+44-tmpX)+tmpY
if (iy>48+20*ib+18){
tmpY1=48+20*ib+18
tmpX1=(ballDX/ballDY)*(48+20*ib+18-tmpY)+tmpX
ballX=tmpX1-4;ballY=tmpY1-4
ballDY=-ballDY
}else{
if (iy<44+20*ib){
tmpY1=48+20*ib
tmpX1=(ballDX/ballDY)*(48+20*ib-tmpY)+tmpX
ballX=tmpX1-4;ballY=tmpY1-4
ballDY=-ballDY
}else{
tmpX1=29+46*ia+44
tmpY1=(ballDY/ballDX)*(29+46*ia+44-tmpX)+tmpY
ballX=tmpX1-4;ballY=tmpY1-4
ballDX=-ballDX
}
}
}

}
}}}}
}

//game end
function gameEnd(){
gameFLG=0
loadFLG=0
if (document.getElementById){
document.SC.BL.value=ballN
document.getElementById("starter").style.top=200
if (blclr >= 40){
document.getElementById("clrmes").style.top=150
endFLG=0
}
if (ballN <= 0){
document.getElementById("ovrmes").style.top=160
endFLG=0
}
}else{
if (ieFLG==1){
document.SC.BL.value=ballN
starter.style.top=200
if (blclr >= 40){
clrmes.style.top=150
endFLG=0
}
if (ballN <= 0){
ovrmes.style.top=160
endFLG=0
}
}else{
document.layers["info"].document.forms[0].BL.value=ballN
document.layers["starter"].visibility="SHOW"
if (blclr >= 40){
document.layers["clrmes"].visibility="SHOW"
endFLG=0
}
if (ballN <= 0){
document.layers["ovrmes"].visibility="SHOW"
endFLG=0
}
}
}
}

//Event init
function onLD(){
document.onkeydown = keyDown
document.onkeyup = keyUp

if (document.getElementById){
document.getElementById("starter").style.top=200
document.getElementById("info").style.top=16
}else{
if (ieFLG==1){
starter.style.top=200
info.style.top=16
}else{
document.layers["starter"].visibility="SHOW"
}
}
if (n4FLG!=0) {document.captureEvents(Event.KEYDOWN|Event.KEYUP)}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#DEB887" ONLOAD="onLD()" ">
<A NAME="t0">
<DIV ID="gamewindow" STYLE="position:absolute; background-color:#000000; top:16px; left:16px; width:394px; height:300px"><LAYER CLIP="0,0,393,299" BGCOLOR="#000000"></LAYER></DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
//block layer write

for (ib=0; ib<5; ib++){
for (ia=0; ia<8; ia++){
tmpL=31+46*ia;tmpT=50+20*ib
tmpIDn=ib*8+ia+1
if (n4FLG!=1){
document.write("<DIV ID='"+tmpIDn+"' STYLE='position:absolute; background-color:"+blcol[ib]+"; top:"+tmpT+"px; left:"+tmpL+"px; width:42; height:16; clip:rect(0,43,17,0)'></DIV>")
}else{
document.write("<LAYER LEFT="+tmpL+" TOP="+tmpT+" CLIP='1,1,43,17' BGCOLOR='"+blcol[ib]+"'></LAYER>")
}
blsta[ib*8+ia]=ib
}
}
//-->
</SCRIPT>

<DIV ID="ball" STYLE="position:absolute; top:270px; left:209px; width:8px; height:8px">
<DIV STYLE="position:absolute; top:0px; left:2px; background-color:#B0B0B0; width:4; height:8; clip:rect(0,3,7,0)"></DIV>
<DIV STYLE="position:absolute; top:2px; left:0px; background-color:#B0B0B0; width:8; height:4; clip:rect(0,7,3,0)"></DIV>
<DIV STYLE="position:absolute; top:1px; left:1px; background-color:#FFFFFF; width:6; height:6; clip:rect(0,5,5,0)"></DIV>
</DIV>

<DIV ID="racket" STYLE="position:absolute; top:280px; left:193px; background-color:#B0B0FF; width:40px; height:4px; clip:rect(0,39,3,0)"></DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('<LAYER NAME="ball" LEFT="209" TOP="270" CLIP="0,0,7,7"> <LAYER LEFT="2" TOP="0" CLIP="0,0,3,7" BGCOLOR="#B0B0B0"></LAYER>
      <LAYER LEFT="0" TOP="2" CLIP="0,0,7,3" BGCOLOR="#B0B0B0"></LAYER><LAYER LEFT="1" TOP="1" CLIP="0,0,5,5" BGCOLOR="#FFFFFF"></LAYER></LAYER><LAYER NAME="racket" LEFT="193" TOP="280" CLIP="0,0,39,3" BGCOLOR="#B0B0FF"></LAYER><LAYER NAME="info" LEFT="416" TOP="16">')
}else{
document.write('<DIV ID="info" STYLE="position:absolute; top:-1000px; left:416px">')
}
//-->
</SCRIPT>

<FONT STYLE="font-size:22px; color:#000044"><I><B> &nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;Разбивалка</B></I></FONT>
<BR>
<FONT STYLE="font-size:14px; color:#003F00">....для IE4,IE5,NN4,Gecko....</FONT>
<BR><P>
<FORM NAME="SC"><pre>
Мячей   :      <INPUT TYPE="text" NAME="BL" SIZE=5 VALUE = "3" >

Время   :      <INPUT TYPE="text" NAME="TM" SIZE=5 VALUE = "0" >

Кирпичей:<INPUT TYPE="text" NAME="CL" SIZE=5 VALUE = "0" >

Счет    :        <INPUT TYPE="text" NAME="SR" SIZE=5 VALUE = "0" >

</pre><P><BR>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="clrmes" TOP=150 LEFT=160 visibility="HIDE">')
}else{
document.write('</DIV><DIV ID="clrmes" STYLE="position:absolute; top:-1000px; left:160px; visibility:visible">')
}
//-->
</SCRIPT>

<FONT STYLE="font-size:24px" COLOR="#44CC44">СБРОС!</FONT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="ovrmes" TOP=150 LEFT=160 visibility="HIDE">')
}else{
document.write('</DIV><DIV ID="ovrmes" STYLE="position:absolute; top:-1000px; left:160px; visibility:visible">')
}
//-->
</SCRIPT>

<FONT STYLE="font-size:24px" COLOR="#CC4444">ИГРА ЗАКОНЧЕНА!</FONT>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</LAYER><LAYER NAME="starter" TOP=200 LEFT=180 visibility="HIDE"><FONT COLOR="#FFFFFF">')
}else{
document.write('</DIV><DIV ID="starter" STYLE="position:absolute; top:-1000px; left:180px; color:#FFFFFF; visibility:visible">')
}
//-->
</SCRIPT>
<pre>
Влево   = 4 (клавиша)
Вправо = 6 (клавиша)
Старт   = S (клавиша)
</pre>
<SCRIPT LANGUAGE="JavaScript">
<!--
if (n4FLG==1){
document.write('</FONT></LAYER><LAYER TOP=280 LEFT=490><A HREF="http://plaza.harmonix.ne.jp/~jimmeans/">
      Автор</A></LAYER>')
}else{
if (document.getElementById){
document.write('</DIV><A HREF="http://plaza.harmonix.ne.jp/~jimmeans/" STYLE="position:absolute; top:280px; left:490px">Автор</A>')
}else{
document.write('</DIV> <DIV  STYLE="position:absolute; top:280px; left:490px"><A HREF="http://plaza.harmonix.ne.jp/~jimmeans/">
      Автор</A></DIV>')
}
}
//-->
</SCRIPT>

</BODY>
</HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game53

Пинг Понг

Для начала игры нажмите СТАРТ. Для управления "ракеткой" поместите курсор в синее поле и двигайте им вправо и влево.
Счет:

\\\ /// \\\ /// \\\ /// \\\ /// \\\ /// \\\ /// \\\ /// \\\ ///

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style><!--ВСЯ ЭТА ЧАСТЬ НЕ ОБЯЗАТЕЛЬНА, НО С НЕЙ КРАСИВЕЕ--->
a:link, a:visited, a:active { text-decoration: none; color: 14BAD8;}
a:hover { text-decoration: none; color: 14BAD8; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- to hide script contents from old browsers
// rev 0.04
var crlf = "\r\n";
// should determine from browser type
var x = 1;
var y = 1;
var dx = 1;
var dy = 1;
var s = "";
var u = 0;
var oops_flag = false;
var score = 0;

function move1() {
x += dx;
if (x > 31) {
x -= 2 * Math.abs(dx);
if (dx > 0) dx = -dx; }
if (x < 0) {
x += 2 * Math.abs(dx);
if (dx < 0) dx = -dx; }
y += dy;
if (y > 14) {
y -= 2 * Math.abs(dy);
if (dy > 0) dy = -dy;
if (Math.abs(x - 2*u - 1) > 2) {
oops_flag = true;
}
else {
score += 1;
}
}
if (y < 0) { y += 2 * Math.abs(dy);
if (dy < 0) dy = -dy; }
}

function display1() {
var s1 = ""
var i,j;
if (oops_flag) return "О-опс! Вы промазали в самой простой из всех существующих игр! Больно на это смотреть... Ладно, попробуйте еще разок.";
for (j=0;j<15;j++) {
for (i=0;i<32;i++) {
if (j == y && i == x) s1 += "o";
else s1 += ".";
}
s1 += crlf;
}
var s2 = ""
for (i=0;i<16;i++) {
if (u == i) s2 += "==";
else s2 += "..";
}
return (s1+s2)
}
var timerID = null;
var timerRunning = false;
var myform;

function stopclock (){
if(timerRunning) clearTimeout(timerID);
timerRunning = false;
}

function startclock (form) {
myform = form;
oops_flag = false;
if (navigator.userAgent.indexOf("Mac") > 2) crlf = "\n";
// Make sure the clock is stopped
stopclock();
dotime();
}

function dotime () {
move1();
if (myform != null) {
myform.text3.value = display1();
myform.score.value = " " + score;
}
if (!oops_flag) timerID = setTimeout("dotime()",200);
timerRunning = true;
}
// end hiding contents from old browsers -->
</SCRIPT>

<CENTER><H1><font color=red>Пинг Понг</font></H1></CENTER>

<CENTER>Для начала игры нажмите СТАРТ. Для управления "ракеткой" поместите
курсор в синее поле и двигайте им вправо и влево.
<hr>
<FORM NAME="myForm" >
Счет: <INPUT TYPE="text" NAME="score" SIZE=10 VALUE=0><BR>
<TEXTAREA NAME="text3" ROWS=16 COLS=34 WRAP>
[игровое поле]
</TEXTAREA>
<p>
<div style="width:270;background-color:14BAD8; CURSOR:crosshair; link:14BAD8; vlink:14BAD8; alink:14BAD8">
<a href="" onMouseOver="u = 0">\\\</a>
<a href="" onMouseOver="u = 1">///</a>
<a href="" onMouseOver="u = 2">\\\</a>
<a href="" onMouseOver="u = 3">///</a>
<a href="" onMouseOver="u = 4">\\\</a>
<a href="" onMouseOver="u = 5">///</a>
<a href="" onMouseOver="u = 6">\\\</a>
<a href="" onMouseOver="u = 7">///</a>
<a href="" onMouseOver="u = 8">\\\</a>
<a href="" onMouseOver="u = 9">///</a>
<a href="" onMouseOver="u = 10">\\\</a>
<a href="" onMouseOver="u = 11">///</a>
<a href="" onMouseOver="u = 12">\\\</a>
<a href="" onMouseOver="u = 13">///</a>
<a href="" onMouseOver="u = 14">\\\</a>
<a href="" onMouseOver="u = 15">///</a>
</div><BR>
<INPUT TYPE="button" NAME="Button1" VALUE=" СТАРТ " onCLick="startclock(this.form)">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game12

Пирамидка
Выберите количество "дисков" и время задержки и скрипт расположит "диски" по возрастающей сверху вниз.

Количество
Задержка переноса диска

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Amin Wong (aminwong@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var MAXHEIGHT = 8;
var ndisk;
var timer = null;
var mvfrom = new Array(255);
var mvto = new Array(255);
var mv, imv;
var tower = new Array(3);
var h = new Array(3);
var spc = "        ";
var dname = new Array(
"|",
"111",
"22222",
"3333333",
"444444444",
"55555555555",
"6666666666666",
"777777777777777",
"88888888888888888");

function init() {
if (!timer) {
s = document.formHanoi.disk. options[document.formHanoi.disk.selectedIndex].value;
if (s == "random") {
now = new Date();
ndisk = parseInt(now.getTime() / 1000) % 8 + 1;
delete now;
}
else ndisk = s;
mv = 0;
hanoi(0, 2, 1, ndisk);
for (i = 0; i < 3; i++)
tower[i] = new Array(MAXHEIGHT);
for (i = 0; i < ndisk; i++)
tower[0][i] = ndisk - i;
h[0] = ndisk;
h[1] = h[2] = 0;
imv = 0;
document.formHanoi.display.value = gentower();
timer = window.setTimeout("gennexttower()", document.formHanoi.delay.
      options[document.formHanoi.delay.selectedIndex].value);
}
}
function stop() {
if (timer) {
window.clearTimeout(timer);
timer = null;
}
}
function contin() {
if (!timer) {
timer = window.setTimeout("gennexttower()", document.formHanoi.delay.
      options[document.formHanoi.delay.selectedIndex].value);
}
}
function hanoi(from,to,buf,nmv) {
if (nmv > 1) {
hanoi(from, buf, to, nmv - 1);
mvfrom[mv] = from;
mvto[mv++] = to;
hanoi(buf, to, from, nmv - 1);
}
else {
mvfrom[mv] = from;
mvto[mv++] = to;
}
}
function gennexttower() {
tower[mvto[imv]][h[mvto[imv]]++] = tower[mvfrom[imv]][--h[mvfrom[imv]]];
document.formHanoi.display.value = gentower();
if (++imv < mv)
timer = window.setTimeout("gennexttower()", document.formHanoi.delay.
      options[document.formHanoi.delay.selectedIndex].value);
else {
for (i = 0; i < 3; i++)
delete tower[i];
timer = null;
}
}
function gentower() {
s = " \n";
for (i = MAXHEIGHT - 1; i >= 0; i--) {
for (j = 0; j < tower.length; j++) {
len = i < h[j] ? tower[j][i] : 0;
width = MAXHEIGHT - len;
s += " " + spc.substring(0, width) + dname[len] + spc.substring(0, width);
}
s += "\n";
}
return s+"=======================================================";
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=formHanoi>
<textarea name=display rows=10 cols=56 wrap=vertual style="font-size: 11; color: lime; background:black; cols=56: 150; border-top:1px solid rgb(255,255,102);border-bottom:1px solid rgb(255,255,102);border-left:1px solid rgb(255,255,102);border-right:1px solid rgb(255,255,102);"></textarea><br>
<table border=0 cellspacing=10 cellpadding=0>
<tr>
<td>Количество</td>
<td><select name=disk>
<option selected value=random>Случайно
<option value=1>1
<option value=2>2
<option value=3>3
<option value=4>4
<option value=5>5
<option value=6>6
<option value=7>7
<option value=8>8
</select></td>
</tr>
<tr>
<td>Задержка переноса диска</td>
<td><select name=delay>
<option value=100>100 milliseconds
<option value=200>200 milliseconds
<option value=300>300 milliseconds
<option value=400>400 milliseconds
<option selected value=500>500 milliseconds
<option value=600>600 milliseconds
<option value=700>700 milliseconds
<option value=800>800 milliseconds
<option value=900>900 milliseconds
<option value=1000>1000 milliseconds
</select></td>
</tr>
</table>
<input type=button value="Старт" onClick="init();">
<input type=button value="Стоп " onClick="stop();">
<input type=button value="Продолжить" onClick="contin();">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game35

Правила несложные, но подумать придется... Прежде всего, задание состоит в том, чтобы переместить пирамидку с центральной оси на левую. При этом можно брать только верхние диски с любой оси, а перемещать их можно только на свободное место или на другой диск, больший диаметром. Вот и все правила. Удачи!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Adam Stock (adam@digital-biz.com) -->

<!-- (c) Copyright 1998-99 Adam L. Stock. All Rights Reserved -->
<!-- You have permission to republish this code provided -->
<!-- that you do not remove this copyright notice -->
<!-- Begin

imgdir = ""; // здесь должен быть полный адрес папки, в которой находятся рисунки для этого скрипта

function preload() {
this.length = preload.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = new Image();
this[i].src = imgdir + preload.arguments[i];
}
}

var pics = new preload("disk1.gif","disk2.gif",
"disk3.gif","disk4.gif","disk5.gif","disk6.gif",
"disk7.gif","pole.gif", "disk1h.gif","disk2h.gif",
"disk3h.gif","disk4h.gif","disk5h.gif","disk6h.gif",
"disk7h.gif");

var selectedr = null;
var selectedc = null;
var maxposts = 3;
var maxdisks = 7;
var all_posts = 3;
var startpost = 1;
var endpost = (startpost-1 < 0 ? maxposts-1 : startpost-1);
var disks = 7;
var imgwidth = 160;
var imgheight = 14;
var game_is_over = false;
var show_messages = false;
var board = new Array(maxposts);
board[0] = new Array(maxdisks + 1);
board[1] = new Array(maxdisks + 1);
board[2] = new Array(maxdisks + 1);

function initboard(startpost, disks) {
var len = board[0].length;
selectedc = null;
selectedr = null;
game_is_over = false;
endpost = (startpost-1 < 0 ? maxposts-1 : startpost-1);

for (i = 0; i < len; i++) {
board[0][i] = 0;
board[1][i] = 0;
board[2][i] = 0;
}
for (i = len-disks, j = 0; i < len; i++, j++) {
board[startpost][i] = len - j - 1;
}
}

function drawall() {
for (j=0; j<board.length; j++) {
for (i=0; i<board[j].length; i++) {
draw(j,i, getName( board[j][i]));
}
}
message("Вы можете начинать! Выберите диск для перемещения.");
}

function restart(start) {
startpost = start;
disks = document.forms[0].disc.options[document.forms[0].disc.selectedIndex].text;
initboard(startpost,disks);
drawall();
theAnim = new Animation();
}
initboard(startpost, disks);

function getName( num ) {
if (num == 0) return "post.gif";
return "disk" + num + ".gif";
}

function message(str, force) {
if (force || !game_is_over && !show_messages)
document.disp.message.value = str;
}

function messageadd(str) {
if (!game_is_over)
document.disp.message.value = document.disp.message.value + "\n" + str;
}

function isempty(num) {
for (i = 0; i < board[num].length; i++) {
if ( board[num][i] != 0) return false;
}
return true;
}

function topmost(num) {
for (i = 0; i < board[num].length; i++) {
if (board[num][i] != 0) return i;
}
return -1;
}

function ispost(i,j) {
return (board[j][i] == 0);
}

function istopdisk(i,j) {
return (board[j][i-1] == 0);
}

function drawboard() {
document.writeln("<font color=red size=5>Наборная пирамидка</font><br>");
document.writeln("<font color=black size=3><tt>Великолепная JavaScript игрушка!</tt></font><p><br>");
document.writeln("<table cellspacing=0 cellpadding=0 border=0>");
document.write("<tr>");
for (j = 0; j < board.length; j++) {
document.write("<td>");
document.write("<a href='javascript:clicked("+0+","+j+")'><img src='" + imgdir + "posttop.gif' border=0></a><br>");
for (i=0; i< board[0].length; i++) {
document.write("<a href='javascript:clicked("+i+","+j+")'>");
document.write("<img src='" + imgdir + getName(board[j][i]) + "' name='pos"+ j + i + "' border=0><br>");
document.write("</a>");
}
document.writeln("</td>");
}
document.write("</tr></table>");
document.write("<form name='disp'><textarea name='message' wrap=virtual rows=2 cols=40></textarea><br>" +
"Диски: <select name=\"disc\" size=1><option>3<option>4<option>5<option>6<option selected>7</select><input "
+"type=button value=\"Начать игру\" onClick=\"restart(startpost);\"><input "
+"type=button value=\"Решить!\" onClick=\"restart(startpost);setTimeout('hanoi(disks,startpost,endpost)',300)\"></form>");
}

function draw(x,y,name) {
document.images["pos"+x+""+y].src = imgdir + name;
}

function animate(x,y,name) {
theAnim.addFrame( "pos"+x+""+y, imgdir + name);
}

function clicked(i,j) {
document.forms[0].message.focus(); // get rid of annoying outline in MSIE
document.forms[0].message.blur();

if (game_is_over) restart(startpost = endpost);
if (!isselection() && ispost(i,j)) { message("Выберите диск для перемещения."); return; }
if (!ispost(i,j)) { toggle(j); return; };
if (ispost(i,j) && selectedc == j) { message("Переместите диск на другую ось."); return; }
if (!legalmove(j)) { message("Такое перемещение запрещено. Попробуйте еще раз."); return; }
move(j); return;
}

function legalmove(j) {
if (isempty(j)) return true;
return (board[j][topmost(j)] < board[selectedc][selectedr]);
}

function isselection() {
return selectedc != null;
}

function toggle( num ) {
var toppos = topmost(num);

if (selectedc == num && selectedr == toppos) {
selectedc = null; selectedr = null;
animate(num,toppos,"disk" + board[num][toppos] + ".gif");
message("Выберите диск для перемещения");
return;
}
if (isselection()) {
animate(selectedc,selectedr,"disk" + board[selectedc][selectedr] + ".gif");
}
selectedc = num; selectedr = toppos;
animate(num,toppos,"disk" + board[num][toppos] + "h.gif");
message("Кликните по оси, на которую собираетесь переместить диск.");
}

function move( num ) {
var toppos = (!isempty(num) ? topmost(num) : board[num].length);
board[num][toppos-1] = board[selectedc][selectedr];
board[selectedc][selectedr] = 0;
animate(selectedc,selectedr,"post.gif");
animate(num,toppos-1,"disk" + board[num][toppos-1] + ".gif");
selectedc = null; selectedr = null;
message("Снова выберите диск для перемещения.");
game_over();
}

function hanoi(no_of_disks, start_post, goal_post) {
if (no_of_disks > 0) {
var free_post = all_posts - start_post - goal_post;
hanoi (no_of_disks - 1, start_post, free_post);
show_messages = true;
toggle(start_post);
move(goal_post);
show_messages = false;
hanoi (no_of_disks - 1 , free_post, goal_post);
game_over(true);
}
}

function game_over(forceMsg) {
var filledpost = null;
var val = 0;
for (k = 0; k < board.length; k++) {
val += ( isempty(k) ? 1 : 0 );
if (!isempty(k)) filledpost = k;
}

if (val == 2 && isempty(startpost)) {
message("Вы выйграли!!!", forceMsg);
game_is_over = true;
endpost = filledpost;
}
return game_is_over;
}

//
// Animation functions
//

function Animation() {
this.imageNum = new Array(); // Array of indicies document.images to be changed
this.imageSrc = new Array(); // Array of new srcs for imageNum array
this.frameIndex = 0; // the frame to play next
this.alreadyPlaying = false; // semaphore to ensure we play smoothly

this.getFrameCount = getframecount; // the total numebr of frame so far
this.moreFrames = moreframes; // tells us if there are more frames to play
this.addFrame = addframe; // add a frame to the animation
this.drawNextFrame = drawnextframe; // draws the next frame
this.startAnimation = startanimation; // start the animation if necessary
}

function getframecount() { return this.imageNum.length; }
function moreframes() { return this.frameIndex < this.getFrameCount(); }
function startanimation() {
if (!this.alreadyPlaying) {
theAnim.alreadyPlaying = true;
setTimeout('theAnim.drawNextFrame()',5);
}
}

function addframe(num, src) {
var theIndex = theAnim.imageNum.length;
theAnim.imageSrc[theIndex] = src;
theAnim.imageNum[theIndex] = num;
theAnim.startAnimation();
}

function drawnextframe() {
if (theAnim.moreFrames()) {
document.images[ theAnim.imageNum[theAnim.frameIndex] ].src = theAnim.imageSrc[theAnim.frameIndex];
theAnim.frameIndex++;
setTimeout('theAnim.drawNextFrame()', 30);
} else {
theAnim.alreadyPlaying = false;
}
}

drawboard();
var theAnim = new Animation();
message("Вы можете начинать! Выберите диск для перемещения.");
document.disp.message.value = "";
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: piramidka.zip


Game13

Поймай точку

Проверьте свой опыт. По скольким кнопкам с точками Вы успеете кликнуть за 30с?
Время:
Счет:

Инструкция:

  1. Кликайте по радио-кнопкам,
    в которых появляются точки.
  2. +1 очко за попадание, -1 очко за промах.

Установите время игры по своему желанию изменив выделенную белым цифру.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Josh Birk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
gamelength= 30
timerID=null
var playing=false;
var numholes=6*10;
var currentpos=-1;
function clrholes() {
for(var k=0;k<document.dmz.elements.length;k++)
document.dmz.elements[k].checked=false;
}
function stoptimer() {
if(playing)
clearTimeout(timerID);
}
function showtime(remtime) {
document.cpanel.timeleft.value=remtime;
if(playing) {
if(remtime==0) {
stopgame();
return;
}
else {
temp=remtime-1;
timerID=setTimeout("showtime(temp)",1000);
}
}
}
function stopgame() {
stoptimer();
playing=false;
document.cpanel.timeleft.value=0;
clrholes();
display("Игра закончена");
alert('Игра закончена.\nВаш счет: '+totalhits);
}
function play() {
stoptimer();
if(playing) {
stopgame();
return;
}
playing=true;
clrholes();
totalhits=0;
document.cpanel.score.value=totalhits;
display("Игра......");
launch();
showtime(gamelength);
}
function display(msg) {
document.cpanel.state.value=msg;
}
function launch() {
var launched=false;
while(!launched) {
mynum=random();
if(mynum!=currentpos) {
document.dmz.elements[mynum].checked=true;
currentpos=mynum;
launched=true;
}
}
}

function hithead(id) {
if(playing==false) {
clrholes();
display("Нажмите \"Старт\"");
return;
}
if(currentpos!=id) {
totalhits+=-1;
document.cpanel.score.value=totalhits;
document.dmz.elements[id].checked=false;
}
else {
totalhits+=1;
document.cpanel.score.value=totalhits;
launch();
document.dmz.elements[id].checked=false;
}
}

function random() {
return(Math.floor(Math.random()*100%numholes));
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center><h2><font color="#FF0000" size="5">Поймай точку</font></h2></center>
<font size="3" color="#000000">
<center>Проверьте свой опыт. По скольким кнопкам с точками Вы успеете кликнуть за 30с?</center>
<form name="cpanel">
<center>
<table cellspacing=3>
<tr>
<td><input type="button" name="startstop" value=" Старт | Стоп " onClick="play()"></td>
<td><pre> </pre></td>
<td align=right>Время:</td>
<td><input type="text" name="timeleft" size="4" onFocus="this.blur()"></td>
</tr>
<tr>
<td><input type="text" name="state" size="20" value="Нажмите Старт" onFocus="this.blur()"></td>
<td><pre> </pre></td>
<td align=right>Счет:</td>
<td><input type="text" name="score" size="4" onFocus="this.blur()"></td>
</tr>
</table>
</center>
</form>
<form name="dmz">
<center>
<table cellspacing=3 bgcolor="#CCCCCC">
<tr>
<td colspan=10><hr size=1></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(0)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(1)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(2)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(3)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(4)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(5)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(6)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(7)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(8)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(9)"></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(10)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(11)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(12)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(13)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(14)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(15)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(16)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(17)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(18)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(19)"></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(20)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(21)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(22)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(23)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(24)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(25)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(26)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(27)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(28)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(29)"></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(30)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(31)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(32)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(33)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(34)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(35)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(36)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(37)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(38)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(39)"></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(40)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(41)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(42)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(43)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(44)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(45)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(46)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(47)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(48)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(49)"></td>
</tr>
<tr>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(50)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(51)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(52)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(53)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(54)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(55)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(56)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(57)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(58)"></td>
<td align="center" valign="center" bgcolor="#CCCCCC"><input type="radio" onClick="hithead(59)"></td>
</tr>
<tr><td colspan=10><hr size=1></td>
</tr></table></center></form>

<center><table cellspacing=3><tr><td><code>
<p><strong>Инструкция:</strong>
<ol><li>Кликайте по радио-кнопкам,<BR>
в которых появляются точки.<BR>
<li>+1 очко за попадание, -1 очко за промах.<BR>
</ol></code></td></tr></table></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game73

Полигон
На старте игры Вы прочитаеете как в нее играть, справа вверху - карта маршрута, который надо пройти, изучите и только затем нажимайте кнопку Старт. Здесь рисунки, использованные в игрушке. В таблице дан полный код страницы с самой игрушкой. Удачи!

Полный код страницы с игрушкой.

<HTML>
<HEAD>
<TITLE></TITLE>
<STYLE type="text/css">

DIV#SPD {position:absolute; top:210; left:5;
font-size:16px; color:#3F3F3F}
DIV#TIM {position:absolute; top:210; left:440;
font-size:16px; color:#3F3F3F}
DIV#BTN {position:absolute; top:108; left:230}
DIV#T3 {position:absolute; top:-1000; left:256;
font-size:48px; color:#FF0000}
DIV#T2 {position:absolute; top:-1000; left:256;
font-size:48px; color:#FF0000}
DIV#T1 {position:absolute; top:-1000; left:256;
font-size:48px; color:#FF0000}
DIV#OUT {position:absolute; top:-1000; left:180;
font-size:36px; color:#FF0000}
DIV#GOAL{position:absolute; top:-1000; left:210;
font-size:36px; color:#FF0000}
DIV#miss{position:absolute; top:-1000; left:160;
font-size:36px; color:#FF0000}
DIV#infoCP{position:absolute; top:-1000; left:240;
font-size:16px; color:#FFFFFF}
DIV#N0 {position:absolute; top:-1000; left:90;
font-size:16px; color:#FFFFFF}
DIV#N1 {position:absolute; top:-1000; left:90;
font-size:16px; color:#FFFFFF}

</STYLE>

<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerINT = 100 //interval (ms)
var scr=0 //time counter
var keyLR=0 //Key L/R FLAG
var keyL=0
var keyR=0
var keyZ=0 //Key Z FLAG
var keyX=0 //Key X FLAG
var startFLG=0 //Game Start FLAG
var myX=0
var myY=0
var oldmyX=0
var oldmyY=0
var myA=0
var myVa=0
var speed=0
var wood=22
var pylon=10
var power=.1
var Bpower=.13
var drag=.03
var level=120
var drift=0
var sector=0

var pyX = new Array(50) //pylon X
var pyY = new Array(50) //pylon Y
pyX[0]=-5; pyY[0]=0
pyX[1]=-5; pyY[1]=10
pyX[2]=-5; pyY[2]=20
pyX[3]=-5; pyY[3]=30
pyX[4]=-5; pyY[4]=40
pyX[5]=-5; pyY[5]=50
pyX[6]= 5; pyY[6]=50
pyX[7]=15; pyY[7]=50
pyX[8]=25; pyY[8]=50
pyX[9]=35; pyY[9]=50

pyX[10]=45; pyY[10]=50
pyX[11]=45; pyY[11]=40
pyX[12]=45; pyY[12]=30
pyX[13]=45; pyY[13]=20
pyX[14]=45; pyY[14]=10
pyX[15]=45; pyY[15]= 0
pyX[16]=35; pyY[16]=-10
pyX[17]=25; pyY[17]=-10
pyX[18]=15; pyY[18]=-10
pyX[19]= 5; pyY[19]=-10

pyX[20]=-5; pyY[20]=-10
pyX[21]=45; pyY[21]=-10

pyX[22]=15; pyY[22]=25
pyX[23]=20; pyY[23]=20
pyX[24]=20; pyY[24]=25
pyX[25]=35; pyY[25]=20
pyX[26]=35; pyY[26]=30
pyX[27]=35; pyY[27]=40
pyX[28]=15; pyY[28]=0
pyX[29]=25; pyY[29]=0

pyX[30]=5; pyY[30]=40
pyX[31]=15; pyY[31]=20

var scX1 = new Array(50) //sector check point
var scY1 = new Array(50)
var scX2 = new Array(50)
var scY2 = new Array(50)
var scXY = new Array(50)

scX1[0]=-5; scY1[0]=40; scX2[0]=5 ; scY2[0]=40; scXY[0]="Y+"
scX1[1]=35; scY1[1]=40; scX2[1]=35; scY2[1]=50; scXY[1]="X+"
scX1[2]=35; scY1[2]=30; scX2[2]=35; scY2[2]=40; scXY[2]="X-"
scX1[3]=35; scY1[3]=20; scX2[3]=35; scY2[3]=30; scXY[3]="X+"
scX1[4]=35; scY1[4]=-10;scX2[4]=35; scY2[4]=20; scXY[4]="X-"
scX1[5]=-5; scY1[5]=20; scX2[5]=15; scY2[5]=20; scXY[5]="Y+"
scX1[6]=15; scY1[6]=25; scX2[6]=15; scY2[6]=50; scXY[6]="X+"
scX1[7]=20; scY1[7]=25; scX2[7]=45; scY2[7]=25; scXY[7]="Y-"
scX1[8]=20; scY1[8]=20; scX2[8]=40; scY2[8]=20; scXY[8]="Y-"
scX1[9]=15; scY1[9]=0 ; scX2[9]=25; scY2[9]=0 ; scXY[9]="Y-"

scX1[49]=15; scY1[49]=0 ; scX2[49]=25; scY2[49]=0 ; scXY[49]="Y-"

var endSector=10

var pyZ = new Array(50) //pylon Z
for (ia=0; ia<50; ia++){
pyZ[ia]=0
}

// ------------------------------------------------------------------
// Main function
// ------------------------------------------------------------------

function interval1(){
clearTimeout(timerID)
//time count
scr=scr+1
pscr=scr/10
tmpscr=scr-parseInt(pscr)*10
tmpSC0=""

//show speed & time
if (tmpscr==0){tmpSC0=".0"}
document.forms[1].elements[0].value = pscr+tmpSC0
tmpVspeed=parseInt(speed*60)
document.forms[0].elements[0].value = tmpVspeed
tmpSec0=parseInt((sector+1)/10)
tmpSec1=sector+1-tmpSec0*10
if (document.getElementById){
document.getElementById("N0").style.top = tmpSec0*1000+1000
document.getElementById("N1").style.top = tmpSec1*1000+1000
}else{
N0.style.top=tmpSec0*1000+1000
N1.style.top=tmpSec1*1000+1000
}

showMap()
keyLR=keyL+keyR

// turn
if (keyX!=0){
if (keyLR!=0){
if (speed!=0){
drift=drift+keyLR*2
}
}
}
if (speed==0){myA=myA+drift;drift=0}
if (speed!=0){myA=myA+keyLR*(6+keyX*2-keyZ*3)+drift*.1;drift=drift*.9}
if (myA>180){myA=myA-360}
if (myA<-180){myA=myA+360}
myVa=myA+drift
if (myVa>180){myVa=myVa-360}
if (myVa<-180){myVa=myVa+360}

// speed change
tmpOldSpeed=speed
speed=Math.sqrt(speed*speed+keyZ*power)
tmpSP=1
if (speed<.5){tmpSP=.3}
tmpBp=speed*speed-keyX*Bpower*tmpSP-drag
if (tmpBp<=0){tmpBp=0}
speed=Math.sqrt(tmpBp)

// surface level change
if (tmpOldSpeed<speed){
level=125
}else{
if (tmpOldSpeed==speed){
level= 120
}else{
if (keyX!=0){level= 115}else{level=120}
}
}

// my car move
oldmyX=myX;oldmyY=myY
myX=myX+speed*Math.sin(myA/180*Math.PI)
myY=myY+speed*Math.cos(myA/180*Math.PI)
secCHK(sector)

if (sector<endSector-1){
tmpSec=sector
sector=49
secCHK(49)
if (sector!=50){sector=tmpSec}
}

//show pylon & wood
showPylon(myX,myY,myVa)

// course out check
CourseOutCHK()

if (sector>=endSector){startFLG=0}

if (startFLG==1){

// game continue
timerID = setTimeout("interval1()",timerINT)
}else{

// game stop
myX=0
myY=0
myA=0
scr=0
speed=0
level=120
drift=0
myVa=0

if (sector<endSector){
if (document.getElementById){
document.getElementById("OUT").style.top = 96
document.getElementById("BTN").style.top = 140
document.getElementById("arrow").style.top = 4
}else{
OUT.style.top=96
BTN.style.top=140
arrow.style.top=4
}
}else{
if (document.getElementById){
if (sector==50){
document.getElementById("miss").style.top = 96
}else{
document.getElementById("GOAL").style.top = 96
}
document.getElementById("BTN").style.top = 140
document.getElementById("arrow").style.top = 4
}else{
if (sector==50){
miss.style.top=96
}else{
GOAL.style.top=96
}
BTN.style.top=140
arrow.style.top=4
}
}

}

}

// ------------------------------------------------------------------
// Sub function
// ------------------------------------------------------------------

// ON LOAD
function onLD(){
if (document.all){window.focus()}
a=0
showPylon(myX,myY,myVa)
}

// Game initiate
function initG(){
showPylon(myX,myY,myVa)
showMap()
startFLG=1
keyL=0
keyR=0
oldmyX=0
oldmyY=0
sector=0

if (document.getElementById){
document.getElementById("startMES").style.top = -1000
document.getElementById("BTN").style.top = -1000
document.getElementById("T3").style.top = 96
document.getElementById("OUT").style.top = -1000
document.getElementById("miss").style.top = -1000
document.getElementById("GOAL").style.top = -1000
document.getElementById("infoCP").style.top = 220
document.getElementById("N0").style.top = 1000
document.getElementById("N1").style.top = 2000
}else{
startMES.style.top=-1000
BTN.style.top=-1000
T3.style.top=96
OUT.style.top=-1000
miss.style.top=-1000
GOAL.style.top=-1000
infoCP.style.top= 220
N0.style.top= 1000
N1.style.top= 2000
}
timerID = setTimeout("T3R()",1000)
}

// 3sec before
function T3R(){
if (document.getElementById){
document.getElementById("T3").style.top = -1000
document.getElementById("T2").style.top = 96
}else{
T3.style.top=-1000
T2.style.top=96
}
timerID = setTimeout("T2R()",1000)
}

// 2sec before
function T2R(){
if (document.getElementById){
document.getElementById("T2").style.top = -1000
document.getElementById("T1").style.top = 96
}else{
T2.style.top=-1000
T1.style.top=96
}
timerID = setTimeout("T1R()",1000)
}

// 1sec before
function T1R(){
if (document.getElementById){
document.getElementById("arrow").style.top = -1000
document.getElementById("T1").style.top = -1000
}else{
arrow.style.top=-1000
T1.style.top=-1000
}
timerID = setTimeout("interval1()",1)
}

// KEY DOWN
function keyDown(DnEvents){
if (document.all){
k=window.event.keyCode
}else{
k=DnEvents.which
}

if (k == 54){keyR=1} //6
if (k == 102){keyR=1} //6
if (k == 39){keyR=1} //Right arrow

if (k == 52){keyL=-1} //4
if (k == 100){keyL=-1} //4
if (k == 37){keyL=-1} //Left arrow

if (k == 90){keyZ=1} //Z
if (k == 122){keyZ=1} //z

if (k == 88){keyX=1} //X
if (k == 120){keyX=1} //x

if (k == 83){if (startFLG==0){initG()}} //S
if (k == 115){if (startFLG==0){initG()}} //s

}

// KEY UP
function keyUp(UpEvents){
if (document.all){
k=window.event.keyCode
}else{
k=UpEvents.which
}
if (k == 102){keyR=0} //6
if (k == 54 ){keyR=0} //6
if (k == 100){keyL=0} //4
if (k == 52 ){keyL=0} //4
if (k == 37 ){keyL=0} //Left arrow
if (k == 39 ){keyR=0} //Right arrow
if (k == 90){keyZ=0} //Z
if (k == 122){keyZ=0} //z
if (k == 88){keyX=0} //X
if (k == 120){keyX=0} //x

}

//show map
function showMap(){
if (document.getElementById){
document.getElementById("star").style.top = 54-myY
document.getElementById("star").style.left = 499+myX
}else{
star.style.top=54-myY
star.style.left=499+myX
}
}

// show pylon ( EyePoint_X, Y, Angle )
function showPylon(epX,epY,epA){
// surface rewrite
if (document.getElementById){
document.getElementById("Surface").style.top = level
}else{
Surface.style.top=level
}

// distance
for (ia=0; ia<wood+pylon; ia++){
ttaX=pyX[ia]-epX
ttaY=pyY[ia]-epY
pyZ[ia]=Math.sqrt(ttaX*ttaX+ttaY*ttaY)
}

// sort pylon
for (ia=wood; ia<wood+pylon-1; ia++){
for (ib=ia; ib<wood+pylon; ib++){
if (pyZ[ia]<pyZ[ib]){
tmpS=pyZ[ia];pyZ[ia]=pyZ[ib];pyZ[ib]=tmpS
tmpS=pyX[ia];pyX[ia]=pyX[ib];pyX[ib]=tmpS
tmpS=pyY[ia];pyY[ia]=pyY[ib];pyY[ib]=tmpS
}
}
}

// sort wood
for (ia=0; ia<wood-1; ia++){
for (ib=ia; ib<wood; ib++){
if (pyZ[ia]<pyZ[ib]){
tmpS=pyZ[ia];pyZ[ia]=pyZ[ib];pyZ[ib]=tmpS
tmpS=pyX[ia];pyX[ia]=pyX[ib];pyX[ib]=tmpS
tmpS=pyY[ia];pyY[ia]=pyY[ib];pyY[ib]=tmpS
}
}
}

// co-ordinate calc
for (ia=0; ia<wood+pylon; ia++){
ttaX=pyX[ia]-epX
ttaY=pyY[ia]-epY
tmpA=Math.atan2(ttaX,ttaY)*180/Math.PI-epA
if (tmpA>180){tmpA=tmpA-360}
if (tmpA<-180){tmpA=tmpA+360}
tmpA=tmpA*6.2
tmpT=Math.atan2(4,pyZ[ia])*180/Math.PI*1.78

if (ia<wood){
// wood image rewrite
pXX=tmpT*2.5
imgZoom(ia,pXX,tmpT*6)
imgMove(ia,tmpA+280-pXX/2,level-tmpT*4.66666666)
}else{
// pylon image rewrite
pXX=tmpT/2.5
imgZoom(ia,pXX,tmpT)
imgMove(ia,tmpA+280-pXX/2,tmpT/3+level)
}

}

}

// Course Out Check
function CourseOutCHK(){
if (myX<-5){startFLG=0}
if (myX>45){startFLG=0}
if (myY<-10){startFLG=0}
if (myY>50){startFLG=0}
}

// Sector check
function secCHK(chNo){

if (scXY[chNo]=="Y+"){
if (oldmyY<=scY1[chNo]){
if (myY>scY1[chNo]){
tmpXR=(oldmyX-myX)*(scY1[chNo]-myY)/(oldmyY-myY)+myX

if (tmpXR>scX1[chNo]){
if (tmpXR<scX2[chNo]){
sector=sector+1
}
}

}
}
}

if (scXY[chNo]=="Y-"){
if (oldmyY>=scY1[chNo]){
if (myY<scY1[chNo]){
tmpXR=(oldmyX-myX)*(scY1[chNo]-myY)/(oldmyY-myY)+myX

if (tmpXR>scX1[chNo]){
if (tmpXR<scX2[chNo]){
sector=sector+1
}
}

}
}
}

if (scXY[chNo]=="X+"){
if (oldmyX<=scX1[chNo]){
if (myX>scX1[chNo]){
tmpYR=(oldmyY-myY)*(scX1[chNo]-myX)/(oldmyX-myX)+myY
if (tmpYR>scY1[chNo]){
if (tmpYR<scY2[chNo]){
sector=sector+1
}
}

}
}
}

if (scXY[chNo]=="X-"){
if (oldmyX>=scX1[chNo]){
if (myX<scX1[chNo]){
tmpYR=(oldmyY-myY)*(scX1[chNo]-myX)/(oldmyX-myX)+myY
if (tmpYR>scY1[chNo]){
if (tmpYR<scY2[chNo]){
sector=sector+1
}
}

}
}
}

}

// IMAGE MOVE ( ImageNo, co-ordinate_X, co-ordinate_Y )
function imgMove(mId,mX,mY){
document.images[mId].style.top=mY
document.images[mId].style.left=mX
}

// IMAGE ZOOM ( ImageNo, ZoomSize_X, ZoomSize_Y )
function imgZoom(zId,zX,zY){
document.images[zId].style.width=zX
document.images[zId].style.height=zY
}

// KEY EVENT SETUP
document.onkeydown = keyDown
document.onkeyup = keyUp

//-->
</SCRIPT>
</HEAD>

<BODY ONLOAD="onLD()">

<DIV ID="GameWindow"
STYLE="position:absolute; background-color:#7FBFFF;
top:0px; left:0px; width:560px; height:240px;
clip:rect(0,560,240,0)">
<DIV ID="Surface"
STYLE="position:absolute; background-color:#7F7F7F;
top:120px; left:0px; width:560px; height:150px;
clip:rect(0,560,150,0)">
</DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
for (ia=0; ia<wood; ia++){
document.write('<IMG ID="'+ia+'" src="woodyy.gif" alt="Полигон" STYLE="position:absolute; top:-1000px; left:280px; width:40px; height:100px">')
}
for (ia=wood; ia<wood+pylon; ia++){
document.write('<IMG ID="'+ia+'" src="pylonyy.gif" alt="Полигон" STYLE="position:absolute; top:-1000px; left:280px; width:40px; height:100px">')
}
//-->
</SCRIPT>

</DIV>

<DIV ID="startMES" STYLE="position:absolute; top:150; left:200;
font-size:16px; color:#3F0000">
<B>Играем клавишами!</B><BR>
<LI>Ускорение..Z (клавиша)<BR>
<LI>Торможение..X (клавиша)<BR>
<LI>Вращение.. 4,6 (клавиши)<BR>

</DIV>
<DIV ID="SPD"><FORM>Скорость<INPUT TYPE="text" size="6" value=""></FORM></DIV>
<DIV ID="TIM"><FORM>Время<INPUT TYPE="text" size="6" value=""></FORM></DIV>
<DIV ID="BTN"><FORM><INPUT TYPE="button" value="СТАРТ" ONCLICK="initG()"></FORM></DIV>

<DIV ID="T3">3</DIV>
<DIV ID="T2">2</DIV>
<DIV ID="T1">1</DIV>

<DIV ID="OUT">Аут!</DIV>
<DIV ID="GOAL">Финиш!</DIV>
<DIV ID="miss">Промазал!</DIV>

<SCRIPT LANGUAGE="JavaScript">
<!--
for (ia=0; ia<wood; ia++){
tmpDX=pyX[ia]+5+497;tmpDY=70-pyY[ia]-15+2
document.write('<DIV STYLE="position:absolute; background-color:#007F00; top:'+tmpDY+'px; left:'+tmpDX+'px; width:2px; height:2px; clip:rect(0,2,2,0)"></DIV>')
}
for (ia=wood; ia<wood+pylon; ia++){
tmpDX=pyX[ia]+5+497;tmpDY=70-pyY[ia]-15+2
document.write('<DIV STYLE="position:absolute; background-color:#CF0000; top:'+tmpDY+'px; left:'+tmpDX+'px; width:2px; height:2px; clip:rect(0,2,2,0)"></DIV>')
}
//-->
</SCRIPT>
<DIV ID="arrow" STYLE="position:absolute;top:4px; left:499px">
<IMG SRC="arrowyy.gif" STYLE="position:absolute;top:0px; left:0px" width="50" height="60">
</DIV>

<DIV ID="star" STYLE="position:absolute;top:54px; left:499px">
<IMG SRC="staryy.gif" STYLE="position:absolute;top:0px; left:0px; width:8; height:8" width="16" height="16">
</DIV>

<DIV ID="N0">
<DIV STYLE="position:absolute;top:-9780px; left:208px">9</DIV>
<DIV STYLE="position:absolute;top:-8780px; left:208px">8</DIV>
<DIV STYLE="position:absolute;top:-7780px; left:208px">7</DIV>
<DIV STYLE="position:absolute;top:-6780px; left:208px">6</DIV>
<DIV STYLE="position:absolute;top:-5780px; left:208px">5</DIV>

<DIV STYLE="position:absolute;top:-4780px; left:208px">4</DIV>
<DIV STYLE="position:absolute;top:-3780px; left:208px">3</DIV>
<DIV STYLE="position:absolute;top:-2780px; left:208px">2</DIV>
<DIV STYLE="position:absolute;top:-1780px; left:208px">1</DIV>
<DIV STYLE="position:absolute;top:-780px; left:208px">0</DIV>
</DIV>

<DIV ID="N1">
<DIV STYLE="position:absolute;top:-9780px; left:216px">9</DIV>
<DIV STYLE="position:absolute;top:-8780px; left:216px">8</DIV>
<DIV STYLE="position:absolute;top:-7780px; left:216px">7</DIV>
<DIV STYLE="position:absolute;top:-6780px; left:216px">6</DIV>
<DIV STYLE="position:absolute;top:-5780px; left:216px">5</DIV>

<DIV STYLE="position:absolute;top:-4780px; left:216px">4</DIV>
<DIV STYLE="position:absolute;top:-3780px; left:216px">3</DIV>
<DIV STYLE="position:absolute;top:-2780px; left:216px">2</DIV>
<DIV STYLE="position:absolute;top:-1780px; left:216px">1</DIV>
<DIV STYLE="position:absolute;top:-780px; left:216px">0</DIV>
</DIV>

<DIV ID="infoCP">Сектор</DIV>

</BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game57

Посадка на Луну
 Старый скучный

Moon-Lander!

Высота
Скорость
Осталось топлива
Использовано топлива
% Торможение

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
function init() {
throttle=0; fuelused=0;height=500;speed=-50;
fuelleft=250-fuelused;a=0;c=0;
update();
if(go==1) alert("Сейчас будет второй \"полет\". Может, выживите.");
if(go==2) alert("На третий заход?! Ну, Вы, прямо, самоубийца какой-то....");
if(go==3) alert("Вы точно уверены, что хотите участвовать в этом снова?");
if(go==4) alert("Итак, начнем по пятому разу...");
if(go==5) alert("Наверное, достаточно! Отдохните!");
if(go==6) alert("Давай, давай! Настойчивый ты наш...");
if(go==7) alert("Не знаю... Стоит ли так издеваться над собой?");
if(go==8) alert("За то время, пока Вы, уже в девятый раз, собираетесь \nбессмысленно нажимать эти дурацкие кнопочки, \nнастоящий самолет пролетает 900 киллометров!");
if(go==9) alert("Все!!! Без комментариев!");
go++;
}

function init1() {
go=0;
init();
}
function update() {
if(speed < 0) pad="v"; else pad="^";
speed1=speed+" "+pad;
document.forms[0].height.value=height;
document.forms[0].speed.value=speed1;
document.forms[0].fuelleft.value=fuelleft;
document.forms[0].fuelused.value=fuelused;
document.forms[0].percent.value=throttle;
}

function upfuel() {
if(throttle < 100) throttle = throttle+1;
update();
}
function downfuel() {
if(throttle > 0) throttle = throttle-1;
update();
}
function play() {

fuelused=fuelused+throttle*2;
fuelleft=500-fuelused;
x=throttle-5;
speed=speed+x;
height=height+speed+(x/2);
update();
if((height < 0) && (speed < -2))
alert("****** Бабах об Луну!!! Вы, наверняка, погибли...:(");
if((height > 1) && (fuelleft < 0))
alert("****** Бабах об Луну!!! Топливо-то кончилось..!!!");

if((height < 10)&&(fuelleft>0)&&(speed > -3)&&(speed < 0))
alert("*** Наши поздравления космонавту, совершившему удачную посадку на Луну!!!\n\nПередавайте привет лунатикам...");
}
//--->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="init1()">

<center>
<table width=328 bgcolor="#808080" border="2">
<tr>
<td width=316>
<form>
<font size="3" color="#FFFFFF"><b>
Высота&nbsp;&nbsp;&nbsp; <input type="text" name="height" size=18><br>
Скорость&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name="speed" size=18><br>
Осталось топлива&nbsp; <input type="text" name="fuelleft" size=18><br>
Использовано топлива&nbsp; <input type="text" name="fuelused" size=18><br>
<input type="text" name="percent" size=3>% Торможение<br>
<input type="button" value="Больше топлива" onClick="upfuel()" style="width:120">
<br>
<input type="button" value="Меньше топлива" onClick="downfuel()" style="width:120">
<input type="button" value="Сброс" onClick="init()">
<input type="button" value="Следующий ход" onClick="play()" style="width:120">
</b></font>
</form>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game29

Ракеты
Нажмите Старт для начала игры. Во время работы игрушки копированиe кода можно осуществить способом, указанным внизу страницы. Используйте также клавишу Пробел для приостановки игры и получения информации о результатах "войны".

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type = "text/css">
.basic {position:absolute; visibility:visible; top:-3000px;}
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site: http://www.bgaudiodr.iwarp.com -->

<!-- Begin
var yoffset = 20; // pixels from top

var isNS = (document.layers);
var _all = (isNS) ? 'outer.document.' : 'all.' ;
var _style = (isNS) ? '' : '.style' ;
var _visible = (isNS) ? 'show' : 'visible' ;
var py = 0, px = 0, xoffset, loaded = false, obj = new Object();
var target, field, rocket1, rocket2, rocket3, rocket4, rocket5, rocket6, bullet, explosion;
var oktoshoot = false, bulletlevel, speed = 10, missed = 0, fired = 0, hit = 0, accuracy = 0;
function init() {
target = eval('document.'+_all+'target'+_style);
field = eval('document.'+_all+'field'+_style);
rocket1 = eval('document.'+_all+'rocket1'+_style);
rocket2 = eval('document.'+_all+'rocket2'+_style);
rocket3 = eval('document.'+_all+'rocket3'+_style);
rocket4 = eval('document.'+_all+'rocket4'+_style);
rocket5 = eval('document.'+_all+'rocket5'+_style);
rocket6 = eval('document.'+_all+'rocket6'+_style);
bullet = eval('document.'+_all+'bullet'+_style);
explosion = eval('document.'+_all+'explosion'+_style);
resize();
if (isNS) {
target.moveTo(300,0);
}
else {
target.pixelLeft = 300;
target.pixelTop = 0;
}
target.visibility = _visible;
field.visibility = _visible;
alert('ИНСТРУКЦИЯ:\n\n- Взрывайте ракеты до того, как они достигнут правого края поля.\n- Стреляйте с небольшим опережением для компенсации расстояния.\n- Стрельба ведется с помощью обычного клика левой кнопкой мыши.\n- Для паузы в игре используйте клавишу ПРОБЕЛ.\n- Во время паузы Вы сможете ознакомиться с результатами.\n- Количество пропущенных ракет можно видеть на статусной строке.\n- Используйте кнопку Старт для увеличения скорости.\n\nНажмите Ok для начала игры...');
loaded = true;
oktoshoot = true;
dispmisses();
animate();
}
function dispmisses() {
status = "Пропущено ракет: "+missed;
setTimeout('dispmisses()', 500);
}
function showstat() {
accuracy = (Math.round(hit/fired*100));
if (isNaN(accuracy)) {accuracy = 0};
alert('Пауза.....\n\nДля продолжения нажмите OK.\n\nВсего выстрелов: '+fired+'\nПромахов: '+(fired-hit)+'\nУничтожено ракет: '+hit+'\nПропущено ракет: '+missed+'\nТочность стрельбы: '+accuracy+'%');
}
function testandmoveX(rocketN) {
if (isNS) {
rocketN.clip.left = -rocketN.left-speed;
rocketN.clip.right = 500-rocketN.left;
if (rocketN.left+speed>500) {
rocketN.left = -60;
if (rocketN.top != -3000) { missed++; }
}
else {
rocketN.left+=speed;
}
if (rocketN.left == -60)rocketN.top = Math.floor(Math.random()*12)*20+30;
}
else {
rocketN.clip = "rect(0px, "+(500-speed-rocketN.pixelLeft)+"px, 15px, "+(-rocketN.pixelLeft-speed)+"px)";
if (rocketN.pixelLeft+speed > 500) {
if (rocketN.pixelTop != -3000) {missed++}
rocketN.pixelLeft = -60;
}else {
rocketN.pixelLeft+=speed;
}
if (rocketN.pixelLeft == -60)rocketN.pixelTop = Math.floor(Math.random()*12)*20+30;
}
}
function animate() {
for (i = 1; i <= 6; i++) {
testandmoveX(eval('rocket'+i));
}
setTimeout('animate()',100);
}
function shootrocket(x,y) {
fired++;
bulletlevel = 4;
bullettime(x,y);
}

function bullettime(x,y) {
if (bulletlevel > 0) {
if (isNS) {
bullet.clip.width = bulletlevel*4;
bullet.clip.height = bulletlevel*4;
bullet.moveTo(x-(bulletlevel*2),y-(bulletlevel*2));
if (bulletlevel == 1) {
for (r = 1;r <= 6;r++) {
tr = eval('rocket'+r);
if ( (bullet.top >= tr.top+2) && (bullet.top <= tr.top+9) && (bullet.left <= tr.left+57) && (bullet.left >= tr.left) ) {
explosion.moveTo(tr.left,tr.top);
tr.top = -3000;
hit++;
setTimeout('explosion.top = -3000', 400);
}
}
}
}
else {
bullet.width = bulletlevel*4;
bullet.height = bulletlevel*4;
bullet.pixelTop = y-(bulletlevel*2);
bullet.pixelLeft = x-(bulletlevel*2)
if (bulletlevel == 1) {
for (r = 1; r <= 6; r++) {
tr = eval('rocket'+r);
if ( (bullet.pixelTop >= tr.pixelTop+2) && (bullet.pixelTop <= tr.pixelTop+9) && (bullet.pixelLeft <= tr.pixelLeft+57) && (bullet.pixelLeft >= tr.pixelLeft) ) {
explosion.pixelLeft = tr.pixelLeft;
explosion.pixelTop = tr.pixelTop;
tr.pixelTop = -3000;
hit++;
setTimeout('explosion.pixelTop = -3000', 400);
}
}
}
}
bulletlevel--;
setTimeout('bullettime('+x+','+y+')',200);
}
else {
(isNS) ? bullet.top = -3000 : bullet.pixelLeft = -3000;
oktoshoot = true;
}
}
function resize() {
if (isNS) {
xoffset = (window.innerWidth-300)/2;
document.outer.moveTo((window.innerWidth-500)/2 , yoffset);
}
else {
xoffset = (document.body.clientWidth-300)/2
document.all.outer.style.pixelTop = yoffset;
document.all.outer.style.pixelLeft = (document.body.clientWidth-500)/2;
}
}
function movetarget(evnt) {
if (loaded) {
if (isNS) {
py = evnt.pageY-yoffset-59;
px = evnt.pageX-xoffset+59;
}
else {
py = event.clientY-yoffset-59;
px = event.clientX-xoffset+59;
}
if ((py >= 0) && (py <= 241)) { (isNS) ? target.top = py : target.pixelTop = py; };
if ((px >= 0) && (px <= 441)) { (isNS) ? target.left = px : target.pixelLeft = px };
return false;
}
}

function fire(mouse) {
if (oktoshoot) {
oktoshoot = false;
(isNS) ? shootrocket(target.left+30,target.top+30) : shootrocket(target.pixelLeft+30,target.pixelTop+30) ;
return false;
}
else {
}
}
function reloadNS() {
setTimeout('reloadNS_1()', 500);
}
function reloadNS_1() {
window.location.reload();
}
(isNS) ? window.onresize = reloadNS : window.onresize = resize;

function getkeypress(keypress) {
keyp = (isNS) ? keypress.which : window.event.keyCode;
if (keyp == 32)showstat();
return false;
}
if (isNS) window.captureEvents(Event.KEYPRESS);
if (isNS) document.captureEvents(Event.KEYPRESS);
window.onkeypress = getkeypress;
document.onkeypress = getkeypress;

if (isNS) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = movetarget;

if (isNS) document.captureEvents(Event.MOUSEDOWN);
if (isNS) window.captureEvents(Event.MOUSEDOWN);
document.onmousedown = fire;
window.onmousedown = fire;

// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">

var basic = 'visibility="visible" width="60" top="-3000" height="15"';
var txt = '';
if (isNS) {
txt += '<layer name="outer" visibility="visible" width="300">';
txt += '<layer name="target" visibility="hidden" z-index="12"><img src="target.gif"></layer>';
txt += '<layer name="field" visibility="hidden" z-index="1" width="500" height="300"></layer>';
txt += '<layer name="explosion" '+basic+'z-index="11"><img src="explosion.gif"></layer>';
txt += '<layer name="rocket1" '+basic+'left="-460" z-index="4"><img src="rocket.gif"></layer>';
txt += '<layer name="rocket2" '+basic+'left="-380" z-index="5"><img src="rocket.gif"></layer>';
txt += '<layer name="rocket3" '+basic+'left="-300" z-index="6"><img src="rocket.gif"></layer>';
txt += '<layer name="rocket4" '+basic+'left="-220" z-index="7"><img src="rocket.gif"></layer>';
txt += '<layer name="rocket5" '+basic+'left="-140" z-index="8"><img src="rocket.gif"></layer>';
txt += '<layer name="rocket6" '+basic+'left="-60" z-index="9"><img src="rocket.gif"></layer>';
txt += '<layer name="bullet" visibility="visible" width="10" top="-3000" height="10" bgcolor="white" z-index="10"></layer>';
txt += '</layer>';
}
else {
txt += '<div id="outer" style="position:absolute; width:600px; height:300px">';
txt += '<div id="field" style="position:absolute; top:0px; left:0px; visibility:hidden; width:500px; height:300px; z-index:2;"></div>';
txt += '<div id="target" style="position:absolute; visibility:hidden; z-index:12"><img src="target.gif"></div>';
txt += '<div id="explosion" style="z-index:11;" class="basic"><img src="explosion.gif"></div>';
txt += '<div id="rocket1" style="left:-460px; z-index:4" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="rocket2" style="left:-380px; z-index:5" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="rocket3" style="left:-300px; z-index:6" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="rocket4" style="left:-220px; z-index:7" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="rocket5" style="left:-140px; z-index:8" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="rocket6" style="left:-60px; z-index:9" class="basic"><img src="rocket.gif"></div>';
txt += '<div id="bullet" style="z-index:10; background-color:white; width:10px; height:10px; font-size:1px;" class="basic"></div>';
txt += '</div>';
}
document.write(txt);
// End -->
</script>
<center>
<form>
<span style="position: absolute; left: 101; top: 3; z-index: 28">
<input type=button value="Старт | увеличить скорость" onClick="init()">
</span>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: rocket.zip


Game21

Minesweeper
(если по какой-то причине у Вас отсутствует "Сапер" в Windows)

Содержимое этой таблицы поместите между <BODY> и </BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: minesw.zip


Game69

Сапер 2
(фреймы)

В таблицах даны полные коды трех документов. Сохраните их в одной директории. Открывать следует Game68a.htm. (Назвать вы можете их как хотите, но не забудьте, в таком случае, изменить названия и в фреймсете)

Создайте новый HTML документ Game69a.htm (это фреймсет, запускной файл)

<HTML>
<HEAD>
<TITLE>Сапер2</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<FRAMESET cols="140,*">
<FRAME SRC="Game69b.htm" NAME="init" MARGINWIDTH="0" MARGINHEIGHT="0" scrolling="auto">
<FRAME SRC="Game69c.htm" NAME="game" MARGINWIDTH="0" MARGINHEIGHT="0" scrolling="auto">
</FRAMESET>
</HTML>

Создайте новый HTML документ Game69b.htm

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<SCRIPT LANGUAGE="JavaScript">
<!--
/*
Script written in November 1996 by VBP
Contact: vbp@via.ecp.fr or http://www.via.ecp.fr/~vbp/
*/

function LoadGame(nbCols, nbRows, nbMines) {
cols = nbCols
rows = nbRows
mines = nbMines
document.init_form.columns.value = cols
document.init_form.rows.value = rows
document.init_form.mines.value = mines
left = cols * rows - mines
stat = document.init_form.status
stat.value = 'Загрузка...'
doc = parent.game.document
doc.close()
doc.open('text/html')
doc.bgColor = "#FDEAB9"
doc.write('<H1>Идет загрузка, подождите...</H1>')
doc.close()
var strg = Table()
doc.open('text/html')
doc.bgColor = "#000000"
doc.write(strg)
doc.close()
stat.value = left + ' квадратов осталось'
}

function Personalized(form) {
nbCols = form.columns.value
nbRows = form.rows.value
nbMines = form.mines.value
if ( nbMines > nbCols*nbRows/2) {
alert('А не слишком много мин? Уменьшите количество, пожалуйста!')
}
else LoadGame(nbCols, nbRows, nbMines)
}

function format(n) {
if ( n < 10 )
var strg = '0'
else
var strg = ''
return strg + n
}

function Table() {
field = new MineField()
var strg = '<HTML><head></head><body bgcolor=black><CENTER>\n\n<P><FORM NAME="mineField">\n\n</P>\n\n<TABLE BORDER="2" brcolor=gray>\n'
for (var i = 0; i < rows ; i++) {
strg += '<TR>\n'
for (var j = 0; j < cols; j++)
strg += '<TD><INPUT TYPE="button" STYLE=\"WIDTH:30\" VALUE="" NAME="' + format(i) + format(j) + '" onClick="parent.init.Check(this)"></TD>\n'
strg += '</TR>\n'
}
strg += '</TABLE>\n\n</FORM></body></HTML>\n'
return strg
}

function HandsOff(textfield) {
textfield.blur()
}

function MakeArray(n) {
for (var i = 0; i < n; i++)
this[i] = false
return this
}

function MineField() {
for (var i = 0; i < rows; i++)
this[i] = new MakeArray(cols)
for (var k = 0; k < mines; k++) {
var i_r = Math.floor(Math.random()*rows)
var j_r = Math.floor(Math.random()*cols)
while ( this[i_r][j_r] ) {
i_r = Math.floor(Math.random()*rows)
j_r = Math.floor(Math.random()*cols)
}
this[i_r][j_r] = true
}
return this
}

function Check(button) {
if ( button.value == '' ) {
var ci = eval(button.name.substring(0, 2))
var cj = eval(button.name.substring(2, 4))
if ( field[ci][cj] ) {
stat.value = 'Проиграли'
ShowMines()
alert('Бабах!!!')
}
else {
button.value = Count(ci, cj)
if ( button.value == 0 ) with (Math) {
for (var i = max(0, ci-1); i < min(rows, ci+2); i++)
for (var j = max(0, cj-1); j < min(cols, cj+2); j++)
Check(parent.game. document.mineField.elements[i*cols+j])
}
left--
if ( left == 0 ) {
stat.value = 'Вы выиграли! :-)'
ShowMines()
alert('ПОЗДРАВЛЯЕМ!')
}
else
stat.value = left + ' квадратов осталось'
}
}
button.blur()
}

function Count(ci, cj) {
var k = 0
with (Math) {
for (var i = max(0, ci-1); i < min(rows, ci+2); i++)
for (var j = max(0, cj-1); j < min(cols, cj+2); j++)
if ( field[i][j] ) k++
}
return k
}

function ShowMines() {
for (var i = 0; i < rows; i++)
for (var j = 0; j < cols; j++)
if ( field[i][j] )
parent.game.document. mineField.elements[i*cols+j].value = '#'
else if ( parent.game.document.mineField.elements[i*cols+j].value == '' )
parent.game.document. mineField.elements[i*cols+j].value = ' '
}

// -->
function stoperror(){
return true
}
window.onerror=stoperror;
</SCRIPT>

</HEAD>

<BODY BGCOLOR="black">

<FORM NAME="init_form"><CENTER><BR>
<INPUT TYPE="text" NAME="status" SIZE="13" VALUE=" Привет!" onFocus="HandsOff(this)" style="background-color: #000000; color: #FFFFFF; font-size: 8pt; font-weight: bold; border-style: solid; border-width: 0"><BR>
<BR>
<table bgcolor="#808080" border="2"><tr><td align="center">
<strong><font size="+2" color="#00FF00">Выберите :</font></strong>
<HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Начинающий" onClick="LoadGame(8, 4, 4)"><HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Средний" onClick="LoadGame(14, 8, 20)"><HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Супер" onClick="LoadGame(17, 12, 40)"><HR>
<TABLE BORDER="0">
<TR>
<TH COLSPAN="2"><INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Определить" onClick="Personalized(this.form)"></TH>
<TR>
<TD><b><font color="#00FF00">Колонок&nbsp;:</font></b></TD>
<TD><INPUT TYPE="text" NAME="columns" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR><TR>
<TD><b><font color="#00FF00">Рядов:</font></b></TD>
<TD><INPUT TYPE="text" NAME="rows" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR><TR>
<TD><b><font color="#00FF00">Мин:</font></b></TD>
<TD><INPUT TYPE="text" NAME="mines" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR>
</TABLE><HR>
</td></tr></table>
</CENTER>
</FORM>

</BODY>

</HTML>

Создайте новый HTML документ Game69c.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script>
function stoperror(){
alert("Выберите уровень!");
return true
}
window.onerror=stoperror;
</script>
</head>

<body bgcolor=black>
<CENTER>

<P><FORM NAME="mineField">

</P>

<TABLE BORDER="2" bgcolor=gray>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0000" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0001" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0002" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0003" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0004" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0005" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0006" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0007" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0100" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0101" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0102" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0103" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0104" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0105" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0106" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0107" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0200" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0201" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0202" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0203" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0204" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0205" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0206" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0207" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0300" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0301" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0302" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0303" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0304" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0305" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0306" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0307" onClick="parent.init.Check(this)"></TD>
</TR>
</TABLE>

</FORM>
</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game67

Скакалка
Правила такие. Двойки должны перебраться налево, а единицы направо. При этом прыгать можно через кнопку, одна из которых пустышка(0). Или делать один ход в разрешенном направлении, но только опять же используя пустышку.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
/***************** Hop Over Functions *********************/
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i]
}

var pos = new initArray(1,1,1,1,0,2,2,2,2);
var numMoves=0;

function display(pos) {
for (var i=0; i<9; i++) {
document.forms[0].elements[i].value = pos[i];
}
if (numMoves> 1) win();
}

function move(num) {
// num is the number of the field the user clicked - not the image!
// switch 1 with 0
if (num < 8 && pos[num]==1) {
if (pos[num+1]==0) {
pos[num+1]= pos[num];
pos[num]= 0;
numMoves++;
}
else if (num < 7 && pos[num+2]==0) {
pos[num+2]= pos[num];
pos[num]= 0;
numMoves++;
}
}
// switch 2 with 0
else if (num > 0 && pos[num]==2) {
if (pos[num-1]==0) {
pos[num-1]= pos[num];
pos[num]= 0;
numMoves++;
}
else if (num > 1 && pos[num-2]==0) {
pos[num-2]= pos[num];
pos[num]= 0;
numMoves++;
}
}
display(pos);
}

function win() {
if (pos[0]== 1 & pos[1]== 1 & pos[2]== 1 & pos[3]== 1 &
pos[4]== 0 & pos[5]== 2 & pos[6]== 2 & pos[7]== 2 & pos[8]== 2) {
if (confirm('You did it! Do you want to restart?')) newgame();
}
}

function newgame() {
var x=1;
for (var i=0; i<4; i++) pos[i]=1;
pos[4]=0;
for (var i=5; i<9; i++) pos[i]=2;
numMoves=0;
display(pos);
}
// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.newgame()">

<CENTER>
<FORM>
<TABLE BORDER=2 bgcolor="#808080">
<TR><TD>
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 1 " onClick="window.move(0)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 1 " onClick="window.move(1)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 1 " onClick="window.move(2)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 1 " onClick="window.move(3)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 0 " onClick="window.move(4)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 2 " onClick="window.move(5)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 2 " onClick="window.move(6)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 2 " onClick="window.move(7)">
<INPUT TYPE="button" STYLE="WIDTH:30" value=" 2 " onClick="window.move(8)">
</TD></TR>
</TABLE><P>
<INPUT TYPE="button" value="Новая игра" onClick="document.location.reload()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game70

Скакалка 2
Цель игры - оставить на поле только одну единицу. Остальные кнопки должны стать нулями. Ходить нужно через кнопку, при этом кнопка, через которую перепрыгнули, становится нулем. Ходить начинает ноль.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
/***************** Peg Jumping Functions *********************/
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i]
}

var pos = new initArray(0,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
var numMoves=0;

function display(pos) {
for (var i=0; i<15; i++) {
document.forms[0].elements[i].value = pos[i];
}
if (numMoves> 1) win();
}

function move(num) {
// num is the number of the field the user clicked - not the image!

if (num > 9 && num < 13 && pos[num-4]==1 && pos[num-7]==0) {
pos[num-7]=1
pos[num]=pos[num-4]=0;
numMoves++;
}
else if (num > 2 && num < 6 && pos[num+3]==1 && pos[num+7]==0) {
pos[num+7]=1
pos[num]=pos[num+3]=0;
numMoves++;
}

else if (num > 5 && num < 8 && pos[num-3]==1 && pos[num-5]==0) {
pos[num-5]=1
pos[num]=pos[num-3]=0;
numMoves++;
}
else if (num > 0 && num < 3 && pos[num+2]==1 && pos[num+5]==0) {
pos[num+5]=1
pos[num]=pos[num+2]=0;
numMoves++;
}

else if (num == 3 && pos[1]==1 && pos[0]==0) {
pos[0]=1
pos[3]=pos[1]=0;
numMoves++;
}
else if (num == 0 && pos[1]==1 && pos[3]==0) {
pos[3]=1
pos[num]=pos[1]=0;
numMoves++;
}

/***************************** *****************************/

else if (num > 11 && pos[num-5]==1 && pos[num-9]==0) {
pos[num-9]=1
pos[num]=pos[num-5]=0;
numMoves++;
}
else if (num > 2 && num < 6 && pos[num+4]==1 && pos[num+9]==0) {
pos[num+9]=1
pos[num]=pos[num+4]=0;
numMoves++;
}

else if (num > 7 && num < 10 && pos[num-4]==1 && pos[num-7]==0) {
pos[num-7]=1
pos[num]=pos[num-4]=0;
numMoves++;
}
else if (num > 0 && num < 3 && pos[num+3]==1 && pos[num+7]==0) {
pos[num+7]=1
pos[num]=pos[num+3]=0;
numMoves++;
}

else if (num == 5 && pos[2]==1 && pos[0]==0) {
pos[0]=1
pos[5]=pos[2]=0;
numMoves++;
}
else if (num == 0 && pos[2]==1 && pos[5]==0) {
pos[5]=1
pos[num]=pos[2]=0;
numMoves++;
}

/**************************** ****************************/

else if (num > 9 && num < 13 && pos[num+1]==1 && pos[num+2]==0) {
pos[num+2]=1
pos[num]=pos[num+1]=0;
numMoves++;
}
else if (num > 11 && pos[num-1]==1 && pos[num-2]==0) {
pos[num-2]=1
pos[num]=pos[num-1]=0;
numMoves++;
}

else if (num > 5 && num < 8 && pos[num+1]==1 && pos[num+2]==0) {
pos[num+2]=1
pos[num]=pos[num+1]=0;
numMoves++;
}
else if (num > 7 && num < 10 && pos[num-1]==1 && pos[num-2]==0) {
pos[num-2]=1
pos[num]=pos[num-1]=0;
numMoves++;
}

else if (num ==3 && pos[num+1]==1 && pos[num+2]==0) {
pos[num+2]=1
pos[num]=pos[num+1]=0;
numMoves++;
}
else if (num == 5 && pos[num-1]==1 && pos[num-2]==0) {
pos[num-2]=1
pos[num]=pos[num-1]=0;
numMoves++;
}

display(pos);
}

function win() {
if (pos[0]== 1 & pos[1]== 1 & pos[2]== 1 & pos[3]== 1 &
pos[4]== 0 & pos[5]== 2 & pos[6]== 2 & pos[7]== 2 & pos[8]== 2) {
if (confirm('You did it! Do you want to restart?')) newgame();
}
}

function newgame() {
var x=1;
pos[0]=0;
for (var i=1; i<15; i++) pos[i]=1;
numMoves=0;
display(pos);
}
// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.newgame()">

<FORM>
<TABLE BORDER=2 bgcolor=gray>
<TR><TD ALIGN=CENTER>
<INPUT TYPE="button" style="width:27" value=" 0 " onClick="window.move(0)"><BR>
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(1)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(2)"><BR>
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(3)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(4)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(5)"><BR>
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(6)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(7)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(8)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(9)"><BR>
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(10)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(11)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(12)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(13)">
<INPUT TYPE="button" style="width:27" value=" 1 " onClick="window.move(14)"><BR>
</TD></TR>
</TABLE><P>
<INPUT TYPE="button" value="Новая игра" onClick="document.location.reload()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game25

Солитер
(когда-то, до "всеобщей компьютеризации", эта игра называлась "Йога")

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Erik Gos (erik.gos@hiva.kuleuven.ac.be)  -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var pos=new Array(49);
var jumps=new Array();
var boardType="Solitaire";
var numMoves=0;
var finished=false;
var selectnum=false;
var autosolve=false;
var running=false;
var basenum=0;
var destnum=0;
var destnum1=0;
var destnum2=0;
var destnum3=0;
var destnum4=0;
var delaynum=500;
if (document.images) {
blank = new Image(19,19);
blank.src = "blank.gif";
empty = new Image(19,19);
empty.src = "emptys.gif";
emptysel = new Image(19,19);
emptysel.src = "emptysel.gif";
peg = new Image(19,19);
peg.src = "peg.gif";
pegact = new Image(19,19);
pegact.src = "pegact.gif";
}
function display(pos,basenum,destnum) {
selectnum=false;
if (!basenum && !destnum) {
for (var i=0; i<pos.length; i++) {
if (pos[i]==-1) document.images["img"+i].src=blank.src;
else if (pos[i]==1) document.images["img"+i].src=peg.src;
else document.images["img"+i].src=empty.src;
}
}
else {
document.images["img"+basenum].src=empty.src;
document.images["img"+(basenum+destnum/2)].src=empty.src;
document.images["img"+(basenum+destnum)].src=peg.src;
for (var i=0; i<pos.length; i++) {
if (document.images["img"+i].src==emptysel.src)
document.images["img"+i].src=empty.src;
}
}
if (numMoves>1) win();
}
function move(num) {
var curNumMoves=numMoves;
if (!document.images)
alert("Ваш браузер некорректно поддерживает 'document.images'.Вам\n" +
"следует установить как минимум Netscape 3.0 или Internet explorer 4.0.");
else if (autosolve && running) {}
else if (autosolve && !finished) {
if (confirm('Вы прервали работу функции \'Решить\'. \nВероятно, хотите поиграть сами?'))
newGame();
}
else if (selectnum) {
if (num!=basenum && num!=basenum+destnum1 && num!=basenum+destnum2 &&
num!=basenum+destnum3 && num!=basenum+destnum4)
alert("Select a destination or click on the original peg again!");
else if (num==basenum) {
document.images["img"+basenum].src=peg.src;
if (destnum1!=0)
document.images["img"+(basenum+destnum1)].src=empty.src;
if (destnum2!=0)
document.images["img"+(basenum+destnum2)].src=empty.src;
if (destnum3!=0)
document.images["img"+(basenum+destnum3)].src=empty.src;
if (destnum4!=0)
document.images["img"+(basenum+destnum4)].src=empty.src;
selectnum=false;
}
else if (num==basenum+destnum1) movePeg(basenum,destnum1)
else if (num==basenum+destnum2) movePeg(basenum,destnum2)
else if (num==basenum+destnum3) movePeg(basenum,destnum3)
else if (num==basenum+destnum4) movePeg(basenum,destnum4)
}
else if (pos[num]==0) {
}
else if ((num==3 || num==10) && pos[num+7]==1 && pos[num+14]==0) movePeg(num,14);
else if ((num==45 || num==38) && pos[num-7]==1 && pos[num-14]==0) movePeg(num,-14);
else if ((num==21 || num==22) && pos[num+1]==1 && pos[num+2]==0) movePeg(num,2);
else if ((num==26 || num==27) && pos[num-1]==1 && pos[num-2]==0) movePeg(num,-2);
else if (num==4 || num==11 || num==19 || num==20) {
if (pos[num-1]==1 && pos[num-2]==0 && pos[num+7]==1 && pos[num+14]==0)
selPeg(num,-2,14);
else if (pos[num-1]==1 && pos[num-2]==0) movePeg(num,-2);
else if (pos[num+7]==1 && pos[num+14]==0) movePeg(num,14);
}
else if (num==2 || num==9 || num==14 || num==15) {
if (pos[num+1]==1 && pos[num+2]==0 && pos[num+7]==1 && pos[num+14]==0)
selPeg(num,2,14);
else if (pos[num+1]==1 && pos[num+2]==0) movePeg(num,2);
else if (pos[num+7]==1 && pos[num+14]==0) movePeg(num,14);
}
else if (num==28 || num==29 || num==37 || num==44) {
if (pos[num+1]==1 && pos[num+2]==0 && pos[num-7]==1 && pos[num-14]==0)
selPeg(num,2,-14);
else if (pos[num+1]==1 && pos[num+2]==0) movePeg(num,2);
else if (pos[num-7]==1 && pos[num-14]==0) movePeg(num,-14);
}
else if (num==33 || num==34 || num==39 || num==46) {
if (pos[num-1]==1 && pos[num-2]==0 && pos[num-7]==1 && pos[num-14]==0)
selPeg(num,-2,-14);
else if (pos[num-1]==1 && pos[num-2]==0) movePeg(num,-2);
else if (pos[num-7]==1 && pos[num-14]==0) movePeg(num,-14);
}
else if (num==16 || num==17 || num==18 || num==23 || num==24 || num==25 || num==30 || num==31 || num==32) {
var cond1=(pos[num-1]==1 && pos[num-2]==0);
var cond2=(pos[num-7]==1 && pos[num-14]==0);
var cond3=(pos[num+1]==1 && pos[num+2]==0);
var cond4=(pos[num+7]==1 && pos[num+14]==0);
if ((cond1 && (cond2 || cond3 || cond4)) ||
(cond2 && (cond1 || cond3 || cond4)) ||
(cond3 && (cond1 || cond2 || cond4)))
{
basenum=num;
destnum1=destnum2=destnum3=destnum4=0;
document.images["img"+basenum].src=pegact.src;
if (cond1) {
destnum1=-2;
document.images["img"+(basenum+destnum1)].src=emptysel.src;
}
if (cond2) {
destnum2=-14;
document.images["img"+(basenum+destnum2)].src=emptysel.src;
}
if (cond3) {
destnum3=2;
document.images["img"+(basenum+destnum3)].src=emptysel.src;
}
if (cond4) {
destnum4=14;
document.images["img"+(basenum+destnum4)].src=emptysel.src;
}
selectnum=true;
}
else if (cond1) movePeg(num,-2);
else if (cond2) movePeg(num,-14);
else if (cond3) movePeg(num,2);
else if (cond4) movePeg(num,14);
}
if (curNumMoves!=numMoves) display(pos,basenum,destnum);
else if (finished) win();
}
function selPeg(num,ofset1,ofset2) {
basenum=num;
destnum1=ofset1;
destnum2=ofset2;
destnum3=destnum4=0;
document.images["img"+basenum].src=pegact.src;
document.images["img"+(basenum+destnum1)].src=emptysel.src;
document.images["img"+(basenum+destnum2)].src=emptysel.src;
selectnum=true;
}
function movePeg(num,ofset) {
pos[num+ofset]=1;
pos[num+ofset/2]=pos[num]=0
basenum=num;
destnum=ofset;
numMoves++;
}
function win() {
var cnt=0;
for(var i=0; i<pos.length; i++) {
if (pos[i]!=-1) cnt+=pos[i];
}
if (cnt==1 && autosolve) {
if (confirm('За Вас играла функция \'Решить\'. \n\nНе хотите ли поиграть самостоятельно?'))
newGame();
}
else if (cnt==1 && pos[24]==1) {
finished=true;
if (confirm('Вы нашли наилучшее решение!!! \n\nХотите сыграть еще?')) newGame();
}
else if (cnt==1) {
finished=true;
if (confirm('Вы это сделали!!! \n\nХотите сыграть еще раз?')) newGame();
}
else {
var legalMoves=false;
var num=0;
while (num<pos.length && !legalMoves) {
if (pos[num]==1 &&
(((num==2 || num==9 || num==14 || num==15 || num==16 || num==17 ||
num==18 || num==23 || num==24 || num==25 || num==30 || num==31 ||
num==32 || num==21 || num==22 || num==28 || num==29 || num==37 ||
num==44) && pos[num+1]==1 && pos[num+2]==0) ||
((num==4 || num==11 || num==19 || num==20 || num==16 || num==17 ||
num==18 || num==23 || num==24 || num==25 || num==30 || num==31 ||
num==32 || num==26 || num==27 || num==33 || num==34 || num==39 ||
num==46) && pos[num-1]==1 && pos[num-2]==0) ||
((num==2 || num==9 || num==14 || num==15 || num==16 || num==17 ||
num==18 || num==23 || num==24 || num==25 || num==30 || num==31 ||
num==32 || num==4 || num==11 || num==19 || num==20 || num==3 ||
num==10) && pos[num+7]==1 && pos[num+14]==0) ||
((num==33 || num==34 || num==39 || num==46 || num==16 || num==17 ||
num==18 || num==23 || num==24 || num==25 || num==30 || num==31 ||
num==32 || num==45 || num==38 || num==28 || num==29 || num==37 ||
num==44) && pos[num-7]==1 && pos[num-14]==0)))
legalMoves=true;
num++;
}
if (!legalMoves) {
finished=true;
if (confirm('Больше ходов нет! Хотите начать заново?')) newGame();
}
}
}
function newGame() {
if (autosolve && running) {}
else if (document.images) {
autosolve=false;
finished=false;
if (boardType=="Cross") {
for (var i=0; i<pos.length; i++) pos[i]=0;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[10]=pos[16]=pos[17]=pos[18]=pos[24]=pos[31]=1;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Plus") {
for (var i=0; i<pos.length; i++) pos[i]=0;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[10]=pos[17]=pos[22]=pos[23]=pos[24]=1;
pos[25]=pos[26]=pos[31]=pos[38]=1;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Fireplace") {
for (var i=0; i<pos.length; i++) pos[i]=0;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[2]=pos[3]=pos[4]=pos[9]=pos[10]=1;
pos[11]=pos[16]=pos[17]=pos[18]=1;
pos[23]=pos[25]=1;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Up Arrow") {
for (var i=0; i<pos.length; i++) pos[i]=0;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[3]=pos[9]=pos[10]=pos[11]=pos[15]=1;
pos[16]=pos[17]=pos[18]=pos[19]=1;
pos[24]=pos[31]=pos[37]=pos[38]=1;
pos[39]=pos[44]=pos[45]=pos[46]=1;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Pyramid") {
for (var i=0; i<pos.length; i++) pos[i]=0;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[10]=pos[16]=pos[17]=pos[18]=pos[22]=1;
pos[23]=pos[24]=pos[25]=pos[26]=1;
pos[28]=pos[29]=pos[30]=pos[31]=1;
pos[32]=pos[33]=pos[34]=1;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Diamond") {
for (var i=0; i<pos.length; i++) pos[i]=1;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[2]=pos[4]=pos[14]=pos[20]=pos[24]=0;
pos[28]=pos[34]=pos[44]=pos[46]=0;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
else if (boardType=="Solitaire") {
for (var i=0; i<pos.length; i++) pos[i]=1;
pos[0]=pos[1]=pos[5]=pos[6]=-1;
pos[7]=pos[8]=pos[12]=pos[13]=-1;
pos[24]=0;
pos[35]=pos[36]=pos[40]=pos[41]=-1;
pos[42]=pos[43]=pos[47]=pos[48]=-1;
}
numMoves=0;
running=true;
changeBoard();
running=false;
solveArray();
display(pos);
}
else
alert("Ваш браузер некорректно поддерживает 'document.images'.Вам\n" +
"следует установить как минимум Netscape 3.0 или Internet explorer 4.0.");
}
function initArray() {
this.length=initArray.arguments.length;
for (var i=0; i<this.length; i++) {
this[i] = initArray.arguments[i];
}
}
function drawPreview(start,end) {
i=start;
j=end;
baseref=jumps[start];
offset=jumps[start+1];
pos[baseref]=pos[baseref+offset/2]=0;
pos[baseref+offset]=1;
document.images["img"+baseref].src=pegact.src;
document.images["img"+(baseref+offset)].src=emptysel.src;
solveRunning=setTimeout('drawJump(i,j)',delaynum);
}
function drawJump(start,end) {
i=start; j=end;
baseref=jumps[start];
offset=jumps[start+1];
document.images["img"+baseref].src=empty.src;
document.images["img"+(baseref+offset/2)].src=empty.src;
document.images["img"+(baseref+offset)].src=peg.src;
if (start+2==end) {
document.buttonsform.solve.value="Решить";
running=false;
finished=true;
setTimeout('win()',delaynum);
}
else solveRunning=setTimeout('drawPreview(i+2,j)',delaynum);
}
function solve() {
if (!document.images)
alert("Ваш браузер некорректно поддерживает 'document.images'.Вам\n" +
"следует установить как минимум Netscape 3.0 или Internet explorer 4.0.");
else if (autosolve && running) {
clearTimeout(solveRunning);
document.buttonsform.solve.value="Решить";
running=false;
}
else {
document.buttonsform.solve.value="   Стоп
      ";
newGame();
autosolve=true;
running=true;
solveRunning=setTimeout('drawPreview(0,jumps.length)',delaynum);
}
}
function changeBoard() {
formName=document.buttonsform;
if (!running) {
boardType=formName.options[formName.options.selectedIndex].value;
newGame();
}
else {
optlength=formName.options.length;
for (var m=0; m<optlength; m++) {
if (formName.options[m].value==boardType) {
formName.options.selectedIndex=m;
break;
}
}
}
}
function solveArray() {
if (boardType=="Cross") {
jumps = new initArray(17,-2,31,-14,18,-2,15,2,10,14);
}
else if (boardType=="Plus") {
jumps = new initArray(23,-2,25,-2,10,14,24,-2,21,2,
38,-14,23,2,26,-2);
}
else if (boardType=="Fireplace") {
jumps = new initArray(17,2,4,14,25,-14,2,2,4,14,
19,-2,10,14,24,-2,9,14,22,2);
}
else if (boardType=="Up Arrow") {
jumps = new initArray(46,-14,31,2,45,-14,44,-14,30,2,33,-2,
18,-14,4,-2,16,2,2,14,15,2,18,-2,31,
-14,16,2,19,-2,10,14);
}
else if (boardType=="Pyramid") {
jumps = new initArray(23,14,25,14,28,2,34,-2,37,-14,39,-14,
16,14,18,-2,31,-2,29,-14,15,2,17,14,
26,-2,31,-14,10,14);
}
else if (boardType=="Diamond") {
jumps = new initArray(30,14,44,2,32,2,34,-14,18,-14,4,-2,
16,-2,14,14,46,-14,20,-2,2,14,28,2,
38,-14,17,-2,15,14,29,2,31,2,33,-14,
19,-2,24,-2,10,14,25,-2,22,2);
}
else if (boardType=="Solitaire") {
jumps = new initArray(38,-14,33,-2,46,-14,25,14,44,2,46,-14,
11,14,20,-2,17,2,34,-14,20,-2,
15,2,2,14,23,-14,4,-2,2,14,
37,-14,28,2,31,-2,14,14,28,2,
17,-2,15,14,29,2,31,2,33,-14,19,-2,
24,-2,10,14,25,-2,22,2);
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.newGame()">

<CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write(
"<center>\n"+
"<table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n"+
"<tr><td valign=\"middle\" align=\"center\">\n"+
"<table bgcolor=\"#CCCCCC\" border=\"1\" width=300>\n"+
"<tr><td align=\"center\">\n"+
"<h2 align=\"center\"><font face=\"Verdana, Arial, Helvetica\" color=\"#000080\">\n"+
"Забивай!\n"+
"</h2></font>\n"+
"<p>\n"+
"<table border=\"1\" bgcolor=\"#007777\" cellpadding=\"15\" cellspacing=\"0\">\n"+
"<tr><td align=\"center\">");
if (navigator.appName != "Microsoft Internet Explorer") {
document.write(
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img0\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img1\">\n"+
"<a href=\"#\" onClick=\"window.move(2);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img2\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(3);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img3\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(4);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img4\"></A>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img5\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img6\"><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img7\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img8\">\n"+
"<a href=\"#\" onClick=\"window.move(9);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img9\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(10);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img10\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(11);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img11\"></A>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img12\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img13\"><BR>\n"+
"<a href=\"#\" onClick=\"window.move(14);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img14\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(15);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img15\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(16);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img16\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(17);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img17\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(18);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img18\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(19);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img19\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(20);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img20\"></A><BR>\n"+
"<a href=\"#\" onClick=\"window.move(21);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img21\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(22);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img22\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(23);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img23\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(24);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"empty.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img24\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(25);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img25\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(26);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img26\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(27);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img27\"></A><BR>\n"+
"<a href=\"#\" onClick=\"window.move(28);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img28\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(29);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img29\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(30);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img30\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(31);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img31\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(32);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img32\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(33);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img33\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(34);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img34\"></A><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img35\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img36\">\n"+
"<a href=\"#\" onClick=\"window.move(37);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img37\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(38);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img38\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(39);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img39\"></A>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img40\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img41\"><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img42\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img43\">\n"+
"<a href=\"#\" onClick=\"window.move(44);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img44\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(45);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img45\"></A>\n"+
"<a href=\"#\" onClick=\"window.move(46);return false\" onMouseOver=\"window.status='';\n"+
"return true\"><img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img46\"></A>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img47\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img48\"><BR>")
}
else {
document.write(
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img0\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img1\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img2\" \n"+
"onClick=\"window.move(2);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img3\" \n"+
"onClick=\"window.move(3);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img4\" \n"+
"onClick=\"window.move(4);return false\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img5\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img6\"><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img7\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img8\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img9\" \n"+
"onClick=\"window.move(9);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img10\" \n"+
"onClick=\"window.move(10);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img11\" \n"+
"onClick=\"window.move(11);return false\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img12\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img13\"><BR>\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img14\" \n"+
"onClick=\"window.move(14);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img15\" \n"+
"onClick=\"window.move(15);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img16\" \n"+
"onClick=\"window.move(16);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img17\" \n"+
"onClick=\"window.move(17);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img18\" \n"+
"onClick=\"window.move(18);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img19\" \n"+
"onClick=\"window.move(19);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img20\" \n"+
"onClick=\"window.move(20);return false\"><BR>\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img21\" \n"+
"onClick=\"window.move(21);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img22\" \n"+
"onClick=\"window.move(22);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img23\" \n"+
"onClick=\"window.move(23);return false\">\n"+
"<img src=\"empty.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img24\" \n"+
"onClick=\"window.move(24);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img25\" \n"+
"onClick=\"window.move(25);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img26\" \n"+
"onClick=\"window.move(26);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img27\" \n"+
"onClick=\"window.move(27);return false\"><BR>\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img28\" \n"+
"onClick=\"window.move(28);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img29\" \n"+
"onClick=\"window.move(29);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img30\" \n"+
"onClick=\"window.move(30);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img31\" \n"+
"onClick=\"window.move(31);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img32\" \n"+
"onClick=\"window.move(32);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img33\" \n"+
"onClick=\"window.move(33);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img34\" \n"+
"onClick=\"window.move(34);return false\"><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img35\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img36\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img37\" \n"+
"onClick=\"window.move(37);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img38\" \n"+
"onClick=\"window.move(38);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img39\" \n"+
"onClick=\"window.move(39);return false\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img40\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img41\"><BR>\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img42\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img43\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img44\" \n"+
"onClick=\"window.move(44);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img45\" \n"+
"onClick=\"window.move(45);return false\">\n"+
"<img src=\"peg.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img46\" \n"+
"onClick=\"window.move(46);return false\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img47\">\n"+
"<img src=\"blank.gif\" border=\"0\" width=\"19\" height=\"19\" name=\"img48\"><BR>\n");
}
document.write(
"</td></tr>\n"+
"</table>\n"+
"<p>\n"+
"<form name=\"buttonsform\">\n"+
"<input type=\"button\" name=\"new\" value=\"Новая игра\" onClick=\"window.newGame()\">\n"+
"<input type=\"button\" name=\"solve\" value=\"Решить\" onClick=\"window.solve()\">\n"+
"<select name=\"options\" onChange=\"(window.changeBoard())\">\n"+
"<option value=\"Cross\">Крест\n"+
"<option value=\"Plus\">Плюс\n"+
"<option value=\"Fireplace\">Камин\n"+
"<option value=\"Up Arrow\">Стрелка\n"+
"<option value=\"Pyramid\">Пирамида\n"+
"<option value=\"Diamond\">Бриллиант\n"+
"<option selected value=\"Solitaire\">Солитер\n"+
"</select>\n"+
"</form>\n"+
"<p>\n"+
"<table width=\"300\" border=\"0\">\n"+
"<tr><td>\n"+
"<font face=\"Verdana, Arial, Helvetica\" SIZE=\"-1\" color=\"#000080\">\n"+
"<P align=\"justify\">\n"+
"Попытайтесь очистить игровое поле от всех шариков.\n"+
"Шарики \"съедаются\" как в шашках. Если для шарика\n"+
"есть несколько путей \"съедания\" соседей, Вам \n"+
"будет предложен выбор. В идеале должен остаться \n"+
"только один шарик, по-центру.\n"+
"</font>\n"+
"</td></tr>\n"+
"</table>\n"+
"</td></tr>\n"+
"</table>\n"+
"</td></tr>\n"+
"</table>\n"+
"</center>");
newGame();
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, ипользованные в примере: soliter.zip


Game40

Спички
Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game54

Спички 2
 (многорядные)

Это фреймсет. Но все, что требуется - это поддержка вашим браузером фреймов. Скрипт сам пишет коды для фреймов и сам же их запускает. Поэтому создавать Вам нужно только два HTML документ, полный код первого приведен в первой таблице, код второго (без контента) - во второй таблице. Скрипт значительно модифицирован, поэтому возможны "неотловленные" баги.

Нажмите кнопку.
(скрипт большой - возможна задержка загрузки!)

Создайте документ (фреймсет) с любым именем. Это и есть сама игра.

<html><head><title>Robbans JavaScript-NIM version 1.01</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<SCRIPT LANGUAGE="JavaScript">
<!--
var baseurl;
var chg=0;
var myurl;
function linkto(a,b,c)
{
// return ("<a onMouseOver='window.status=\""+c+"\";return true;' href='javascript:parent.xx(\""+a+"\")';\">"+b+"</a>");
return ("<a href='javascript:parent.xx(\""+a+"\")';\">"+b+"</a>");
}

function mkbut(a,b)
{
// return ("<a onMouseOver='window.status=\""+c+"\";return true;' href='javascript:parent.xx(\""+a+"\")';\">"+b+"</a>");
return ("&nbsp;<a href='javascript:parent."+b+"'>"+a+"</a>&nbsp;");
}

function ad()
{
var aaa="";
today = new Date();
var x=(today.getTime()%10000);
var n=(x%2);
var l=""+x ;
if(n==1)
{
var adno=1;
return '<a href=ad'+adno+'.htm><img width=440 height=40 border=1 ismap src=ad'+adno+'.gif></a>';
}
else
{
return '';

//+
//'<a href="http://ad.linkexchange.com/X961105/gotoad.map" target="_blank">'+
//'<img width=440 height=40 border=1 ismap alt="Internet Link Exchange" src="http://ad.linkexchange.com/X961105/logoshowad?free+'+l+'"></a>';

}

}

function valueof(t)
{
// if(t<'0') return -1;
// if(t>'9') return -1;
// return --t; // It didn't work!!!

if(0);
else if(t=='0') return 0;
else if(t=='1') return 1;
else if(t=='2') return 2;
else if(t=='3') return 3;
else if(t=='4') return 4;
else if(t=='5') return 5;
else if(t=='6') return 6;
else if(t=='7') return 7;
else if(t=='8') return 8;
else if(t=='9') return 9;
else return -1;
}

function makeinf(a,b,c)
{
lll="Take "+(b-a)+" matches from the ";
if(b-a==1) lll="Take one match from the ";
if(a==0) lll="Take all matches from the ";
if(b==1) lll="Take the last match from the ";
if(c==1) lll+="first tile";
if(c==2) lll+="second tile";
if(c==3) lll+="third tile";
return lll;
}

function one(a) {
ret1="";
//
chg=1;
{

if(a=="r")
{
ret1+="<content=\"text/html; charset=windows-1251\"><font face=\"MS Sans Serif\" size=2 color=lime><b><center><h1>Правила игры NIM!</h1></b></font></center>";
ret1+="<p><font face=\"MS Sans Serif\" size=2 color=yellow><b>Цель игры - забрать последнюю спичку с игрового поля.";
ret1+="<p>Два игрока (один из них компьютер) могут брать спички из любого ряда.";
ret1+="<p>Игрок может взять сколько угодно спичек, но только из одного ряда.";
ret1+="<p>Игрок, который возьмет последнюю спичку побеждает.";
ret1+="<p><p>Играйте!";
ret1+="<br></b></font><center><form>";
ret1+=("<input type=button value=МЕНЮ onClick=window.location='javascript:parent.xx(\"\")';>");
//ret1+=mkbut("MENU","xx(\"\")");
ret1+="</form></center>";
}
else if(a=="")
{

today = new Date()
x1=today.getTime()%1000 ;
x2=today.getTime()%1001 ;
x3=today.getTime()%1002 ;

x1%= 10;
x2%= 10;
x3%= 10;
x1+=5;
x2+=5;
x3+=5;
z="<img border=0 width=16 height=64 align=middle src=\""+baseurl+"/match.gif\">";
z2="<img border=0 width=64 height=4 align=middle src=\""+baseurl+"/empty.gif\">";

ret1+=("<BODY BGCOLOR='#000000'>");

ret1+=("<hr>");
ret1+=("<center><font color=white><h1>"+z+z2+"Добро пожаловать в NIM!"+z2+z+"</h1></font><br><font color=lime><b>Новая версия!<b></font>");
ret1+=("<br><form >");
ret1+=("<input type=button value=ПРАВИЛА onClick=window.location='javascript:parent.xx(\"r\")';>");
//ret1+=mkbut("RULES","xx(\"r\")");
ret1+=("<input type=button value=СТАРТ onClick=window.location='javascript:parent.xx(\"x\")';>");
//ret1+=mkbut("START","xx(\"x\")");
ret1+=("</center>");
ret1+='<hr> ';

}
else
{
if(a.substring(0,1)=='x')
{

comp=0;
today = new Date();
x1=today.getTime()%1000 ;
x2=today.getTime()%1001 ;
x3=today.getTime()%1002 ;

x1%= 10;
x2%= 10;
x3%= 10;
x1+=5;
x2+=5;
x3+=5;

}
else
{
x=0;
x1=0;
x2=0;
x3=0;
i=0;
t=a.substring(i,i+1);
if(t=='c') {comp=1;i++;}
else comp=0;
// I want a scanf, or at least atoi.
for(;i<a.length;i++) if(valueof(a.substring(i,i+1))>=0) break;
for(;i<a.length;i++)
{
t=a.substring(i,i+1);
if(valueof(t)>=0) x1=x1*10+(valueof(t));
else break;
}
for(;i<a.length;i++) if(valueof(a.substring(i,i+1))>=0) break;
for(;i<a.length;i++)
{
t=a.substring(i,i+1);
if(valueof(t)>=0) x2=x2*10+(valueof(t));
else break;
}
for(;i<a.length;i++) if(valueof(a.substring(i,i+1))>=0) break;
for(;i<a.length;i++)
{
t=a.substring(i,i+1);
if(valueof(t)>=0) x3=x3*10+(valueof(t));
else break;
}
}
if(x1>25) x1=25;
if(x2>25) x2=25;
if(x3>25) x3=25;
ox1=x1;
ox2=x2;
ox3=x3;
sum=x1+x2+x3;
ret1+=("<h1><center>");
if(sum==0)
{
if(comp)
ret1+="<blink><font color=red>Вы выйграли!!!</font></blink>";
else
ret1+="<blink><font color=red>Компьютер выйграл!</font></blink>";
}
else
{
ret1+="<font face=verdana color=red>ИГРА НАЧАТА</font>";
//ret1+=ad();
}
ret1+=("</center></h1>");
ret1+=("<form>");
ret1+=("<center><table border=2 bgcolor=gray width=470><tr><td colspan=4>");
z="<img border=0 src=\""+baseurl+"/match.gif\">";
z2="<img border=0 height=64 width=20 src=\""+baseurl+"/empty.gif\">";
ret1+=("<p>"+z2);
for(i=0;i<x1;i++)
{

if(comp) ret1+=(z);
else ret1+=linkto("c"+i+","+x2+","+x3,z,makeinf(i,x1,1));
}
ret1+=("<p>"+z2);
for(i=0;i<x2;i++)
{
if(comp) ret1+=(z);
else ret1+=linkto("c"+x1+","+i+","+x3,z,makeinf(i,x2,2));
}
ret1+=("<p>"+z2);
for(i=0;i<x3;i++)
{
if(comp) ret1+=(z);
else ret1+=linkto("c"+x1+","+x2+","+i,z,makeinf(i,x3,3));
}
{
ret1+=("<tr><td width=100%><center>");
if(sum>0)
{
if(comp)
{
if(0);
else if((x1^x2)<x3) x3=x1^x2;
else if((x2^x3)<x1) x1=x2^x3;
else if((x3^x1)<x2) x2=x3^x1;
else if(x1>=x2&&x2>=x3) x1--;
else if(x2>=x3&&x3>=x1) x2--;
else if(x3>=x1&&x1>=x2) x3--;
else if(x1) x1--;
else if(x2) x2--;
else if(x3) x3--;
ret1+="<input type=button value=\"ход компьютера\" style=\"width:150; font-size: 10pt; font-family: Verdana; font-weight: bold; color:red\" onClick=window.location='javascript:parent.xx(\""+x1+","+x2+ "," +x3+"\")'>";
//ret1+=mkbut("JavaScript","xx(\""+x1+","+x2+ "," +x3+"\")");
}
else
{
x1=ox1;x2=ox2;x3=ox3;
ret1+=("<font face=Verdana color=white size=4><b>Ваш ход</b></font>");
}
}

ret1+="</center></td><td ><center>";
ret1+=("<input type=button value=РЕСТАРТ onClick=parent.frames['xxx'].location='javascript:parent.xx(\"x\")'>");
//ret1+=mkbut("Restart","xx(\"x\")");
ret1+="</center></td><td ><center>";
ret1+=("<input type=button value=МЕНЮ onClick=window.location='javascript:parent.xx(\"\")'>");
//ret1+=mkbut("Menu","xx(\"\")");
ret1+="</center></td><td ><center>";
ret1+=("<input type=button value=ПРАВИЛА onClick=window.location='javascript:parent.xx(\"r\")'>");
//ret1+=mkbut("Rules","xx(\"r\")");
ret1+="</center>";
}
ret1+=("</table>");
ret1+=("</form>");
ret1+="<font face=\"MS Sans Serif\" size=2 color=lime><b>Выберите спичку, кликнув по любой. Считается, что все спички, справа от выбранной, Вы забираете.<p>";
ret1+="Нажмите \"ХОД КОМПЬЮТЕРА\" для разрешения хода компьютеру</b></font><p>";
ret1+=("<br>");
}}
return ret1;
}
var starturl=location+"";

function findbase()
{
myurl=starturl+"";
baseurl=myurl+"";
i1=0;
for(i2=0;i2<baseurl.length;i2++)
{
if(baseurl.substring(i2,i2+1)=='/') i1=i2;
}
baseurl=baseurl.substring(0,i1);
}
function xx(a)
{
findbase();
xxret="<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"></head><body bgcolor=black>";
xxret+=one(a);
xxret+="</body></html>";
return xxret;
}

function tupp()
{
if(chg||1)
{
chg=0;
frames['fupper'].location.href="javascript:parent.upper();";
}
setTimeout('tupp()',30000);
}

function tupp1()
{
tupp();
frames['xxx'].location.href="javascript:parent.xx(\"\")";
}

function upper()
{
findbase();
var xxret;
xxret="<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"></head>";
xxret+="<body bgcolor=#008000 text=#000000><center><table align=center border=0 cellpadding=0 cellspacing=0><tr><td>";
z="<tt><font size=+8 color=#000000>NIM</font></tt>";
m=25;
for(i=m;i>1;i--)
{
//w=(Math.cos(i*3.14*2/m)+2)/3;
//z1="<img align=middle width="+w*16+" height="+w*64+" src=\""+baseurl+"/match.gif\">";
//z=z1+z+z1;
}
xxret+=z;
xxret+=ad();
xxret+="</td></tr></table></center></body>";
xxret+="</html>";
return xxret;
}

//-->
</SCRIPT>

</head>
<frameset rows="1,*" onload='tupp1()'>
<frame src="game.htm" name="fupper">
<frame src="game.htm" oldsrc=javascript:parent.xx("") name="xxx">

</frameset>

</html>

Создайте пустую страницу (фрейм) с именем game.htm

<html>

<head>

</head>

<body bgcolor=black>

</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: matches2.zip


Game7

Тараканьи бега
(или крабьи?)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike McGrath (mike_mcgrath@lineone.net) -->
<!-- Web Site: http://website.lineone.net/~mike_mcgrath -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function browser_check() {
var lecture = "Your browser does not support dynamic HTML \n"
+"- this page cannot display in your browser.";
var browser = (document.all || document.layers) ? true : alert(lecture);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="browser_check()">

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

// полный адрес рисунка http://и так далее.ru
var pic = "crab.gif";

var mask = '<IMG SRC="' + pic + '">';
var fancy, stake, level, winner;
var total = 10000;
var running = 0;
var stopped = 1;
var odds  = new Array();
var step  = new Array();

var band='<TABLE BORDER=1 BORDERCOLOR=#000000 WIDTH=300 HEIGHT=160 ALIGN=CENTER CELLPADDING=0 CELLSPACING=0><FORM NAME="f"><TR>';
band  += '<TD COLSPAN=4 BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=TEXT NAME="msg" SIZE=24 VALUE="" ></TD></TR><TR>';
band  += '<TD BGCOLOR=#FF0000  ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=TEXT  NAME="box0" SIZE=3 VALUE="" onfocus="blur(this)"><BR><INPUT TYPE=RADIO NAME="back" VALUE="красный" onclick="choose_fancy(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#00FF00 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=TEXT  NAME="box1" SIZE=3 VALUE="" onfocus="blur(this)"><BR><INPUT TYPE=RADIO NAME="back" VALUE="зеленый" onclick="choose_fancy(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#0000FF  ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=TEXT  NAME="box2" SIZE=3 VALUE="" onfocus="blur(this)"><BR><INPUT TYPE=RADIO NAME="back" VALUE="синий" onclick="choose_fancy(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#FFF000 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=TEXT  NAME="box3" SIZE=3 VALUE="" onfocus="blur(this)"><BR><INPUT TYPE=RADIO NAME="back" VALUE="желтый" onclick="choose_fancy(this.form,this.value);"><
 /TD></TR><TR>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON VALUE=" 1000 " onclick="choose_stake(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON VALUE=" 2000 " onclick="choose_stake(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON VALUE=" 3000 " onclick="choose_stake(this.form,this.value);"></TD>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON VALUE=" 4000 " onclick="choose_stake(this.form,this.value);">
 </TD></TR><TR>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON NAME="next" VALUE="Сброс" onclick="init();"></TD>';
band  += '<TD BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT NAME="wlt" TYPE=TEXT SIZE=5 VALUE='+total+' onfocus="blur(this)"></TD>';
band  += '<TD COLSPAN=2 BGCOLOR=#C0C0C0 ALIGN=CENTER VALIGN=MIDDLE><INPUT TYPE=BUTTON NAME="go" VALUE=" Начать забег  " onclick="lets_go(this.form);"></TD></TR>
 </FORM></TABLE>';
if(document.all)
{
var content=('<DIV ID="trak"  STYLE="position:absolute; top: 70; left:40; width:300; height:100; background:#000000;"></DIV>');
content  += ('<DIV ID="line"  STYLE="position:absolute; top: 70; left:307;width:  1; height:100; background:#FFFFFF;"></DIV>');
content  += ('<DIV ID="book"  STYLE="position:absolute; top:170; left:40; width:300; height:160; background:#C0C0C0;">'+band+'</DIV>');
content  += ('<DIV ID="redc"  STYLE="position:absolute; top: 73; left:40; width: 31; height: 22; background:#FF0000;">'+mask+'</DIV>');
content  += ('<DIV ID="grnc"  STYLE="position:absolute; top: 97; left:40; width: 31; height: 22; background:#00FF00;">'+mask+'</DIV>');
content  += ('<DIV ID="bluc"  STYLE="position:absolute; top: 121; left:40; width: 31; height: 22; background:#0000FF;">'+mask+'</DIV>');
content  += ('<DIV ID="yelc"  STYLE="position:absolute; top: 146; left:40; width: 31; height: 22; background:#FFF000;">'+mask+'</DIV>');
}
else if (document.layers)
{
var content=('<LAYER ID="trak" top=" 70"  left="40" width="300" height="100" bgColor="#000000"></LAYER>');
content  += ('<LAYER ID="line" top=" 70" left="307" width="1"  height="100" bgColor="#FFFFFF"></LAYER>');
content  += ('<LAYER ID="book" top="170" left="40" width="300" height="160" bgColor="#C0C0C0">'+band+'</LAYER>');
content  += ('<LAYER ID="redc"  top=" 73" left="40" width=" 31" height=" 22"
 bgColor="#FF0000">'+mask+'</LAYER>');
content  += ('<LAYER ID="grnc"  top=" 97" left="40" width=" 31" height=" 22" bgColor="#00FF00">'+mask+'</LAYER>');
content  += ('<LAYER ID="bluc"  top=" 121" left="40" width=" 31" height=" 22" bgColor="#0000FF">'+mask+'</LAYER>');
content  += ('<LAYER ID="yelc"  top=" 146" left="40" width=" 31" height=" 22" bgColor="#FFF000">'+mask+'</LAYER>');
}
document.write(content);
init();
function init()
{
if(!running)
{
fancy="";
stake="";
level="";
stopped = 0;
for(i=0; i<4; i++)
{
odds[i] = Math.round(Math.random() * 3)+1;
step[i] = eval(10 - odds[i]);
odds[i] +="/1";
}
if(document.all)
{
document.all.msg.value  = "Делайте ставку ..."
document.all.box0.value = odds[0];
document.all.box1.value = odds[1];
document.all.box2.value = odds[2];
document.all.box3.value = odds[3];
for(i=0; i<4; i++)
{
document.all.back[i].checked=0;
}
document.all.redc.style.left=40;
document.all.grnc.style.left=40;
document.all.bluc.style.left=40;
document.all.yelc.style.left=40;
}
if(document.layers)
{
with(document.book)
{
document.f.msg.value  = "Делайте ставку ..."
document.f.box0.value = odds[0];
document.f.box1.value = odds[1];
document.f.box2.value = odds[2];
document.f.box3.value = odds[3];
for(i=0; i<4; i++)
{
document.f.back[i].checked=0;
}
}
document.redc.left = 20;
document.grnc.left = 20;
document.bluc.left = 20;
document.yelc.left = 20;
}
}
}
function choose_fancy(f,color)
{
if(!running)
{
switch(color)
{
case "красный"    : level=odds[0]; break;
case "зеленый"  : level=odds[1]; break;
case "синий"   : level=odds[2]; break;
case "желтый" : level=odds[3]; break;
}
fancy = color;
if(stake != "") f.msg.value="Ставка: "+fancy+" "+stake+" ("+level+")";
else f.msg.value= "Выбран "+fancy;
}
}
function choose_stake(f,amount)
{
if(!running)
{
stake = amount;
if(fancy != "") f.msg.value="Ставка: "+fancy+" "+stake+" ("+level+")";
else f.msg.value = "Ставка "+stake;
}
}

function lets_go(f)
{
if(!running && stopped) init();
if(!running && !stopped)
{
if(stake > parseInt(f.wlt.value)) f.msg.value="Нельзя сделать такую ставку!";
else
if(fancy == "") f.msg.value="Выберите цвет";
else
if(stake == "") f.msg.value="Выберите сумму ставки";
else
{
running = 1;
run_race();
}
}
}
function run_race()
{
var n = Math.floor(Math.random() * 4);
if(document.all)
{
switch(n)
{
case 0 : document.all.redc.style.left = parseInt(document.all.redc.style.left)+step[0];
if(parseInt(document.all.redc.style.left) >= 288)
{
document.all.redc.style.left = 288;
winner = "красный";
running = 0;
stopped = 1;
}
break;

case 1 : document.all.grnc.style.left = parseInt(document.all.grnc.style.left)+step[1];
if(parseInt(document.all.grnc.style.left) >= 288)
{
document.all.grnc.style.left = 288;
winner = "зеленый";
running = 0;
stopped = 1;
}
break;

case 2 : document.all.bluc.style.left = parseInt(document.all.bluc.style.left)+step[2];
if(parseInt(document.all.bluc.style.left) >= 288)
{
document.all.bluc.style.left = 288;
winner = "синий";
running = 0;
stopped = 1;
}
break;

case 3 : document.all.yelc.style.left = parseInt(document.all.yelc.style.left)+step[3];
if(parseInt(document.all.yelc.style.left) >= 288)
{
document.all.yelc.style.left = 288;
winner = "желтый";
running = 0;
stopped = 1;
}
break;
}
}
if(document.layers)
{
switch(n)
{
case 0 : document.redc.left += step[0];
if(document.redc.left >= 288)
{
document.redc.left = 288;
winner = "красный";
running = 0;
stopped = 1;
}
break;
case 1 : document.grnc.left += step[1];
if(document.grnc.left >= 288)
{
document.grnc.left = 288;
winner = "зеленый";
running = 0;
stopped = 1;
}
break;
case 2 : document.bluc.left += step[2];
if(document.bluc.left >= 288)
{
document.bluc.left = 288;
winner = "синий";
running = 0;
stopped = 1;
}
break;
case 3 : document.yelc.left += step[3];
if(document.yelc.left >= 288)
{
document.yelc.left = 288;
winner = "желтый";
running = 0;
stopped = 1;
}
break;
}
}
if(running) window.setTimeout("run_race()", 100);
else
results();
}
function results()
{
if(document.all)
{
if(winner == fancy)
{
var winnings = parseInt(stake) * parseInt(level.charAt(0));
document.f.msg.value = winner+" побеждает: выигрыш "+winnings;
total += winnings;
document.f.wlt.value = total;
}
else
{
document.f.msg.value = winner+" побеждает: проигрыш "+stake;
total -= parseInt(stake);
document.f.wlt.value = total;
}
if(parseInt(document.f.wlt.value) == 0) var refill = confirm("Вы продулись! - Сыгранем еще? ");
if(refill)
{
total = 10000;
document.f.wlt.value = total;
init();
}
}
if(document.layers)
{
with(document.book)
{
if(winner == fancy)
{
var winnings = parseInt(stake) * parseInt(level.charAt(0));
document.f.msg.value = winner+" побеждает: выигрыш "+winnings;
total += winnings;
document.f.wlt.value = total;
}
else
{
document.f.msg.value = winner+" побеждает: проигрыш "+stake;
total -= parseInt(stake);
document.f.wlt.value = total;
}
if(parseInt(document.f.wlt.value) == 0) var refill = confirm("Вы продулись! - Сыгранем еще? ");
if(refill)
{
total = 10000;
document.f.wlt.value = total;
init();
}
}
}
}
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

crab.gif


Game5

Как Вы управляетесь с мышкой

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Tomer Shiran

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var total = 0
var play = false
function display(element) {
var now = new Date()
if (!play) {
play = true
startTime = now.getTime()}
if (now.getTime() - startTime > 20000) {
element.checked = !element.checked
return
}
if (element.checked)
total++
else
total--
element.form.num.value = total
}
function restart(form) {
total = 0
play = false
for (var i = 1; i <= 100; ++i) {
form.elements[i].checked = false
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>Проверьте свой опыт!<br>Сколько "фишек" Вы поставите за 20 секунд?</CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("<CENTER><table bgcolor=\"CCCCCC\"><tr><td bgcolor=\"CCCCCC\"><FORM>")
document.write('<INPUT TYPE="text" VALUE="0" ');
document.write('NAME="num" SIZE=10 onFocus="this.blur()"><BR>')
document.write("<HR SIZE=1 WIDTH=40%>")
for (var i = 0; i < 10; ++i) {
for (var j = 0; j < 10; ++j) {
document.write('<INPUT TYPE="checkbox" ');
document.write('onClick="display(this)">')}
document.write("<BR>")}
document.write("<HR SIZE=1 WIDTH=40%>")
document.write('<INPUT TYPE="button" VALUE="рестарт" ');
document.write('onClick="restart(this.form)">')
document.write("</FORM></td></tr></table></CENTER>")
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game63

Тест на реакцию!

Нажмите кнопку "СТАРТ" и ждите, когда изменится цвет фона. Сразу после этого нажимайте кнопку "СТОП".
Установите цвет фона, который должен появиться:

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center><script language="JavaScript">
<!-- hiding for old browsers
// response time test, created by Jasper van Zandbeek
// e-mail: jasperz@stack.urc.tue.nl

var startTime=new Date();
var endTime=new Date();
var startPressed=false;
var bgChangeStarted=false;
var maxWait=20;
var timerID;

function startTest()
{
document.bgColor= document.response.bgColorChange.options[document.
 response.bgColorChange.selectedIndex].text;
bgChangeStarted=true;
startTime=new Date();
}

function remark(responseTime)
{
var responseString="";
if (responseTime < 0.10)
responseString="Отлично!";
if (responseTime >= 0.10 && responseTime < 0.20)
responseString="Совсем неплохо!";
if (responseTime >=0.20 && responseTime < 0.30)
responseString="Могло быть лучше...";
if (responseTime >=0.30 && responseTime < 0.60)
responseString="Продолжайте тренироваться!";
if (responseTime >=0.60 && responseTime < 1)
responseString="Вы что, выпили?";
if (responseTime >=1)
responseString="Вы, наверное, еще не проснулись?";
if (responseTime >=3)
responseString="Н-да...";

return responseString;
}

function stopTest()
{
if(bgChangeStarted)
{
endTime=new Date();
var responseTime=(endTime.getTime()-startTime.getTime())/1000;

document.bgColor="c0c0c0";
alert("Время Вашей реакциии: " + responseTime + " сек. " + "\n" + remark(responseTime));
startPressed=false;
bgChangeStarted=false;
}
else
{
if (!startPressed)
{
alert("Нажмите сначала СТАРТ!");
}
else
{
clearTimeout(timerID);
startPressed=false;
alert("Мошенничаем? Не надо нажимать НАСТОЛЬКО быстро..., что получается раньше, чем цвет изменится!");
}
}
}

var randMULTIPLIER=0x015a4e35;
var randINCREMENT=1;
var today=new Date();
var randSeed=today.getSeconds();
function randNumber()
{
randSeed = (randMULTIPLIER * randSeed + randINCREMENT) % (1 << 31);
return((randSeed >> 15) & 0x7fff) / 32767;
}

function startit()
{
if(startPressed)
{
alert("Да, стартанули уже...! СТОП жмите теперь...когда цвет изменится.");
return;
}
else
{
startPressed=true;
timerID=setTimeout('startTest()', 6000*randNumber());
}
}
// -->
</script>
<p><b><font color="#FF0000" size="5">Тест на реакцию!</font></b></p>
<font size="3" color="#000000">
Нажмите кнопку "СТАРТ" и ждите, когда изменится цвет фона. Сразу после этого нажимайте кнопку "СТОП".

<form name="response">
Установите цвет фона, который должен появиться:
<select name="bgColorChange">
<option selected>deeppink
<option>aliceblue
<option>crimson
<option>darkkhaki
<option>cadetblue
<option>darkorchid
<option>coral
<option>chocolate
<option>mediumslateblue
<option>tomato
<option>darkslategray
<option>limegreen
<option>cornflowerblue
<option>darkolivegreen
</select>
<input type="button" value="СТАРТ" onClick="startit()">
<input type="button" value="СТОП" onClick="stopTest()">
</form></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game34

Таймер
0:00:00
Убегающая кнопка
  • Включите таймер (кнопка "Старт")
  • Ровно через 10 сек. нажмите "Нажми"
  • Если Вам удастся остановить таймер на 10 секундах - Вы выйграли! Нет - что ж... на то всегда имеется "Сброс"!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/sitemap.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
Bdown = new Image();
Bdown.src = "press2.gif";
bX = 200; bY = 250;
function moveButton() {
x = Math.random() * 50;
y = Math.random() * 50;
r1 = Math.random() * 10000;
r2 = Math.random() * 10000;
if (r1 > 5000) r1 = 1; else r1 = -1;
if (r2 > 5000) r2 = 1; else r2 = -1;
if (x < 25) x = 25;
if (y < 25) y = 25;
x = x * r1;
y = y * r2;
if (clock == "on") {
bX += x;
bY += y;
if (document.all) {
button.style.pixelTop = bY;
button.style.pixelLeft = bX;
}
if (document.layers){
document.button.left = bX;
document.button.top = bY;
}
}
}
function message() {
if (s <= 0) alert('Сначала часы запустите! А потом уж кликайте..!');
if (s > 0 && s < 7) alert("Да что с Вами?! Дождитесь пока таймер покажет 10 сек!");
if (s > 6 && s < 9) alert("Не нервничайте! Подождите пока таймер отсчитает 10сек.");
if (s == 9) alert("Попрактикуйтесь еще!. Вы очень близки к успеху.");
if (s == 10) {
clearTimeout(timeID);
alert("Ух ты!!! Я и представить себе не мог, что это возможно сделать! \n\nМои поздравления!");
}
if (s == 11) alert("Попрактикуйтесь еще!. Вы очень близки к успеху.");
if (s > 11 && s < 13) alert("Может быть Вас что-то отвлекает?");
if (s > 13) alert("Эй! Вы инструкцию читали? Через десять секунд Вы вне игры! Нажмите кнопку \"Сброс\", затем \"Старт\".");
}
var clock = "off";
var timeID;
var count = 0;
var h = 0;
var m = 0;
var mm = 0;
var s = 0;
var ss = 0;
kickStart = "off";
function setMove(xx) {
kickStart = xx;
}
function timer() {
clearTimeout(timeID);
count += 1;
s += 1;
if (s > 8 && s < 11) {
clock = "on";
if (kickStart == "on") moveButton();
kickStart = "off";
}
else clock = "off";
ss = s;
if (s > 59) { s -= 60; m += 1; ss -= 60; }
mm = m;
if (m > 59) { m -= 60; h += 1; mm -= 60; }
if (ss < 10) ss = "0" + ss;
if (mm < 10) mm = "0" + mm;
msg = "<font size=+3>" + h + ":" + mm + ":" + ss + "</font>";
if (navigator.appName == "Netscape") {
document.t.document.write(msg);
document.t.document.close();
}
else t.innerHTML = msg;
timeID = setTimeout("timer()", 1000);
}
function stopTimer(c) {
clock = "off"
if (c == 'stop') clearTimeout(timeID);
if (c == 'clear') {
clearTimeout(timeID);
ss = 0; mm = 0; m = 0; s = -1;
count = 0;
timer();
stopTimer('stop');
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id=object1 style="position:absolute; visibility:show; left:60px; top:170px; z-index:2">
<table cellpadding=2 border=1 width=175><tr>
<td><center><font size="+2" color="#000000"><b>Таймер</b></font></center></td>
</tr>
<font size="3" color="#000000">
<tr>
<td align=center>
<table><tr>
<td><input type=button value=Старт onClick="javascript:timer();setMove('off')"></td>
<td><input type=button value=Стоп onClick="javascript:stopTimer('stop')"></td>
<td><input type=button value=Сброс onClick="javascript:stopTimer('clear')"></td>
</tr></table>
</td>
</tr></table>
</div>

<div id=t style="position: absolute; visibility: show; left: 99; top: 248; z-index: 2; width: 106; height: 36"><font size=+3>0:00:00</font></div>

</font>

<div id=object1 style="position: absolute; visibility: show; left: 34; top: 4; z-index: 2; width: 328; height: 197">
<font size="+2" color=red><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Вредная кнопка</b></font><font size="3" color="#000000">
<ul>
<li>Включите таймер (кнопка &quot;Старт&quot;)<br>
<li>Ровно через 10 сек. нажмите &quot;Нажми&quot;<br>
<li>Если Вам удастся остановить таймер на 10
секундах - Вы выйграли! Нет - что ж... всегда
имеется &quot;Сброс&quot;!
</ul>
</div>

<div id="button" style="position:absolute;left:110;top:290;z-index:5;">
<a href="javascript:message()"
onMouseDown = "document.images['imBut'].src='press2.gif'"
onMouseUp = "document.images['imBut'].src='press1.gif'"
onMouseOut="setMove('off')"
onMouseOver="moveButton(),setMove('on')">
<img name="imBut" src="press1.gif" width=78 height=25 border=0></a>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

press1.gif
press2.gif


Game66

Уголки
Цель игры - переместить все двойки и единицы в противоположные углы, используя пустышку (0). Единицы могут ходить только вниз и направо, двойки - вверх и налево. Для начала новой игры используйте кнопку "Re"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
/***************** Exchange Functions *********************/
function initArray() {
this.length = initArray.arguments.length
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i]
}

var pos = new initArray(1,1,1,1,1,1,1,1,0,2,2,2,2,2,2,2,2);
var numMoves=0;

function display(pos) {
for (var i=0; i<17; i++) {
document.forms[0].elements[i].value = pos[i];
document.forms[0].elements['start'].value="Re"
}
if (numMoves> 1) win();
}

function move(num) {
// num is the number of the field the user clicked - not the image!

// move '1's to adjacent horizontal space
if ((num > 13 && num < 16 && pos[num]==1 && pos[num+1]==0) ||
(num > 10 && num < 13 && pos[num]==1 && pos[num+1]==0) ||
(num > 5 && num < 10 && pos[num]==1 && pos[num+1]==0) ||
(num > 2 && num < 5 && pos[num]==1 && pos[num+1]==0) ||
(num > -1 && num < 2 && pos[num]==1 && pos[num+1]==0)) {
pos[num]=0;
pos[num+1]=1
numMoves++;
//alert("1");
}
// move '2's to adjacent horizontal space
else if ((num > 0 && num < 3 && pos[num]==2 && pos[num-1]==0) ||
(num > 3 && num < 6 && pos[num]==2 && pos[num-1]==0) ||
(num > 6 && num < 11 && pos[num]==2 && pos[num-1]==0) ||
(num > 11 && num < 14 && pos[num]==2 && pos[num-1]==0) ||
(num > 14 && num < 17 && pos[num]==2 && pos[num-1]==0)) {
pos[num]=0;
pos[num-1]=2
numMoves++;
//alert("2");
}

/****************************** ****************************/

// move '1's to adjacent vertical space
else if ((num < 14 && num > 10 && pos[num]==1 && pos[num+3]==0) ||
(num < 11 && num > 7 && pos[num]==1 && pos[num+3]==0) ||
(num < 6 && num > 2 && pos[num]==1 && pos[num+3]==0) ||
(num < 3 && num > -1 && pos[num]==1 && pos[num+3]==0)) {
pos[num]=0;
pos[num+3]=1;
numMoves++;
//alert("3");
}
// move '2's to adjacent vertical space
else if ((num < 6 && num > 2 && pos[num]==2 && pos[num-3]==0) ||
(num < 9 && num > 5 && pos[num]==2 && pos[num-3]==0) ||
(num < 14 && num > 10 && pos[num]==2 && pos[num-3]==0) ||
(num < 17 && num > 13 && pos[num]==2 && pos[num-3]==0)) {
pos[num]=0;
pos[num-3]=2;
numMoves++;
//alert("4");
}

/************************ **********************************/

// skip '1' over '2' horizontally
else if (pos[num]==1 && pos[num+2]==0 && pos[num+1]==2 &&
(num==14 || num==11 || num==8 || num==7 || num==6 ||
num==3 || num==0)) {
pos[num]=0;
pos[num+2]=1;
numMoves++;
//alert("5");
}
// skip '2' over '1' horizontally
else if (pos[num]==2 && pos[num-2]==0 && pos[num-1]==1 &&
(num==2 || num==5 || num==8 || num==9 || num==10 ||
num==13 || num==16)) {
pos[num]=0;
pos[num-2]=2;
numMoves++;
//alert("6");
}

/************************** ********************************/

// skip '1' over '2' vertically
else if (pos[num]==1 && pos[num+6]==0 && pos[num+3]==2 &&
(num==10 || num==9 || num==8 || num==5 || num==2 ||
num==1 || num==0)) {
pos[num]=0;
pos[num+6]=1;
numMoves++;
//alert("7");
}
// skip '2' over '1' horizontally
else if (pos[num]==2 && pos[num-6]==0 && pos[num-3]==1 &&
(num==6 || num==7 || num==8 || num==11 || num==14 ||
num==15 || num==16)) {
pos[num]=0;
pos[num-6]=2;
numMoves++;
//alert("8");
}

display(pos);
}

function win() {
if (pos[0]== 2 & pos[1]== 2 & pos[2]== 2 & pos[3]== 2 &
pos[4]== 2 & pos[5]== 2 & pos[6]== 2 & pos[7]== 2 & pos[8]== 0) {
if (confirm('You did it! Do you want to restart?')) newgame();
}
}

function newgame() {
var i;
for (i=0; i<8; i++) pos[i]=1;
pos[8]=0;
for (i=9; i<17; i++) pos[i]=2;
numMoves=0;
display(pos);
}

// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.newgame()">

<FORM>

<CENTER><TABLE BORDER=2 bgcolor="#808080" bordercolor="#FFFFFF" >
<TR>
<TD><INPUT TYPE="button" NAME="but0" STYLE="WIDTH:30" VALUE=" 0 " onClick="window.move(0)"></TD>

<TD><INPUT TYPE="button" NAME="but1" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(1)"></TD>

<TD><INPUT TYPE="button" NAME="but2" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(2)"></TD>

<TD></TD>

<TD></TD>
</TR>

<TR>
<TD><INPUT TYPE="button" NAME="but3" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(3)"></TD>

<TD><INPUT TYPE="button" NAME="but4" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(4)"></TD>

<TD><INPUT TYPE="button" NAME="but5" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(5)"></TD>

<TD></TD>

<TD></TD>
</TR>

<TR>
<TD><INPUT TYPE="button" NAME="but6" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(6)"></TD>

<TD><INPUT TYPE="button" NAME="but7" STYLE="WIDTH:30" VALUE=" 1 " onClick="window.move(7)"></TD>

<TD><INPUT TYPE="button" NAME="but8" STYLE="WIDTH:30" VALUE=" 0 " onClick="window.move(8)"></TD>

<TD><INPUT TYPE="button" NAME="but9" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(9)"></TD>

<TD><INPUT TYPE="button" NAME="but10" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(10)"></TD>
</TR>

<TR>
<TD></TD>

<TD></TD>

<TD><INPUT TYPE="button" NAME="but11" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(11)"></TD>

<TD><INPUT TYPE="button" NAME="but12" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(12)"></TD>

<TD><INPUT TYPE="button" NAME="but13" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(13)"></TD>
</TR>

<TR>
<TD><INPUT TYPE="button" NAME="start" STYLE="WIDTH:30; background-color:black; font-family:helvetica;font-weight:bold; color:white;border:solid 1 black" VALUE="" onClick="window.location.reload()"></TD>

<TD></TD>

<TD><INPUT TYPE="button" NAME="but14" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(14)"></TD>

<TD><INPUT TYPE="button" NAME="but15" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(15)"></TD>

<TD><INPUT TYPE="button" NAME="but16" STYLE="WIDTH:30" VALUE=" 2 " onClick="window.move(16)"></TD>
</TR>
</TABLE></CENTER></form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game76

Фланкер
Это аркадная игра. И довольно объемная для JS. Кроссбраузерная - это ее заслуга, - но за счет этого и объем. Так что приготовьтесь к 15 минутам работы взамен обычных 2-3! Для начала распакуйте архив с рисунками. Затем создайте HTML документы, полные коды которых предложены в таблицах . С ПРЕДЛОЖЕННЫМИ ИМЕНАМИ!. Поместите все это в одну директорию и запускайте файл Game76a.htm (вот его, кстати, можно переименовать)

Game76a.htm

<HTML>

<HEAD>
<TITLE>JS Фланкер</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function clk(){
if (document.forms[0].elements[0].value != "НАЖМИТЕ СТАРТ"){
parent.GAME.document.all.RES.style.posTop = 150
}
}
//-->
</SCRIPT>

</HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
if(document.layers){
document.write('<FRAMESET ROWS="315,*" BORDER="0"><FRAMESET COLS="414,*" BORDER="0"><FRAMESET ROWS="16,*" BORDER="0"><FRAME SRC="sub1.html" NAME="sub0a" NORESIZE SCROLLING="NO"><FRAMESET COLS="16,*" BORDER="0"><FRAME SRC="sub1.html" NAME="sub0b" NORESIZE SCROLLING="NO"><FRAME SRC="nn4.html" NAME="main" NORESIZE SCROLLING="NO"></FRAMESET></FRAMESET><FRAME SRC="score2.html" NAME="scr" NORESIZE SCROLLING="NO"></FRAMESET><FRAME SRC="sub2.html" NAME="sub2" NORESIZE SCROLLING="NO"></FRAMESET>')
}
//-->
</SCRIPT>

<BODY BGCOLOR="#7F7F00" LEFTMARGIN="16" TOPMARGIN="16" TEXT="#FFFFFF" ONCLICK="clk()" ONLOAD="if (document.all){document.forms[0].elements[0].value='НАЖМИТЕ СТАРТ';document.forms[0].elements[1].value='500';document.forms[0].elements[2].value='10';document.forms[0].elements[3].value='2000'}">
<SCRIPT LANGUAGE="JavaScript">
<!--
ver=navigator.appVersion
Nv=ver.charAt(0)
if (Nv>=4){
if(document.layers){
document.write('Вы не можете играть в эту игру с Вашим браузером.')
}else{
document.write('<IFRAME SRC="ie4.html" NAME="GAME" WIDTH="400" HEIGHT="300" FRAMEBORDER="0" SCROLLING="no" ALIGN="left" NORESIZE>Если Вы хотите играть в эту игру, Вы должнв использовать IE4.0 или выше.<P></IFRAME>')
document.write('<FONT COLOR="#CCFFCC" SIZE="+2"><I><B>JS Фланкер</B></I><BR></FONT><PRE><TT><P><FORM>СЧЕТ: <BR><INPUT TYPE="text" VALUE="НАЖМИТЕ СТАРТ"><P><FONT SIZE="-1">Пулемет: <INPUT TYPE="text" SIZE="6" VALUE="500"><BR><FONT SIZE="-1">Ракеты: <INPUT TYPE="text" SIZE="6" VALUE="10"><BR><FONT SIZE="-1">Лимит времени:<INPUT TYPE="text" SIZE="6" VALUE="2000"></FONT></FORM><P></TT></PRE><CENTER><A HREF="javascript:history.back()">ПАУЗА</A></CENTER>')
document.write('<DIV STYLE="position:absolute; top: 320; left: 16">Движение..2,4,6,8<TT><FONT COLOR="#7F7F00">XXXX</FONT></TT>Пулемет..Z<TT><FONT COLOR="#7F7F00">XXXX</FONT></TT>Ракеты..X<P></DIV>')
}
}else{
document.write("Если Вы хотите играть в эту игру, Вы должны использоват NN4.0/IE4.0 или выше.")
}

//-->
</SCRIPT>

</BODY>
</HTML>

sub1.html

<HTML>
<HEAD>
<TITLE>SUB FRAME 1</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function clk(){
parent.main.focus()
}
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#7F7F00" TEXT="#FFFFFF" onclick="clk()">
</BODY>
</HTML>

sub2.html

<HTML>
<HEAD>
<TITLE>SUB FRAME 2</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function clk(){
parent.main.focus()
}
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#7F7F00" TEXT="#FFFFFF" onclick="clk()">
Движение..2,4,6,8<TT><FONT COLOR="#7F7F00">XXXX</FONT></TT>Пулемет..Z<TT><FONT COLOR="#7F7F00">XXXX</FONT></TT>Ракеты..X
</BODY>
</HTML>

nn4.html

<HTML>

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>MAIN PROGRAM of JS FLANKER for NN4.0</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var intervalID = null
var intervaltime = 150 //interval (ms)
var IX=0 //key flag
var IY=0
var DX=0
var DY=0
var FIRE=0 //fire flag
var MSL=0 //missile flag
var MSLr=10 //missile remain
var MSLc=0 //missile counter
var MSLx = new Array(8) //missile X
var MSLy = new Array(8) //missile Y
var TGT=0 //missile target

var eMSLx=0 //enemy missile
var eMSLy=0
var eMSLdx=0
var eMSLdy=0

var SCORE=0
var Mtimer=0 //Main Timer
var AHtimer=0 //AH64 Timer
var ahFLG=0 //AH64 FLAG

var GUN=500
var endFLG=0

var enemy = new Array(3) //2D Array for enemy
for (i=0; i<4; i++){enemy[i] = new Array(4)}
enemy[0][0]=280 //enemy0.X
enemy[0][1]=100 //enemy0.Y
enemy[0][2]=0 //enemy0.size
enemy[0][3]=0 //enemy0.PTN
enemy[0][4]=0 //enemy0.oldsize
enemy[0][5]=0 //enemy0.timer

enemy[1][0]=150 //enemy1.X
enemy[1][1]=120 //enemy1.Y
enemy[1][2]=0 //enemy1.size
enemy[1][3]=0 //enemy1.PTN
enemy[1][4]=0 //enemy1.oldsize
enemy[1][5]=0 //enemy1.timer

var Hwait = new Array(10) //hit wait
for (i=0; i<8; i++){
Hwait[i]=0
}

var icons = new Array(99) //image data

icons[0]=new Image();icons[0].src="f4c0.gif"
icons[1]=new Image();icons[1].src="f4c1.gif"
icons[2]=new Image();icons[2].src="f4c2.gif"
icons[3]=new Image();icons[3].src="f4c3.gif"
icons[4]=new Image();icons[4].src="f4c4.gif"
icons[5]=new Image();icons[5].src="f4c5.gif"
icons[6]=new Image();icons[6].src="f4c6.gif"
icons[7]=new Image();icons[7].src="f4c7.gif"
icons[8]=new Image();icons[8].src="f4c8.gif"
icons[9]=new Image();icons[9].src="f4c9.gif"
icons[10]=new Image();icons[10].src="f4ca.gif"
icons[11]=new Image();icons[11].src="f4cb.gif"
icons[12]=new Image();icons[12].src="f4cc.gif"
icons[13]=new Image();icons[13].src="f4cd.gif"
icons[14]=new Image();icons[14].src="f4ce.gif"
icons[15]=new Image();icons[15].src="f4cf.gif"

icons[20]=new Image();icons[20].src="f15c0.gif"
icons[21]=new Image();icons[21].src="f15c1.gif"
icons[22]=new Image();icons[22].src="f15c2.gif"
icons[23]=new Image();icons[23].src="f15c3.gif"
icons[24]=new Image();icons[24].src="f15c4.gif"
icons[25]=new Image();icons[25].src="f15c5.gif"
icons[26]=new Image();icons[26].src="f15c6.gif"
icons[27]=new Image();icons[27].src="f15c7.gif"
icons[28]=new Image();icons[28].src="f15c8.gif"
icons[29]=new Image();icons[29].src="f15c9.gif"
icons[30]=new Image();icons[30].src="f15ca.gif"
icons[31]=new Image();icons[31].src="f15cb.gif"
icons[32]=new Image();icons[32].src="f15cc.gif"
icons[33]=new Image();icons[33].src="f15cd.gif"
icons[34]=new Image();icons[34].src="f15ce.gif"
icons[35]=new Image();icons[35].src="f15cf.gif"

icons[40]=new Image();icons[40].src="ah64c0.gif"
icons[41]=new Image();icons[41].src="ah64c1.gif"
icons[42]=new Image();icons[42].src="ah64c2.gif"
icons[43]=new Image();icons[43].src="ah64c3.gif"
icons[44]=new Image();icons[44].src="ah64c4.gif"
icons[45]=new Image();icons[45].src="ah64c5.gif"
icons[46]=new Image();icons[46].src="ah64c6.gif"
icons[47]=new Image();icons[47].src="ah64c7.gif"
icons[48]=new Image();icons[48].src="ah64c8.gif"
icons[49]=new Image();icons[49].src="ah64c9.gif"
icons[50]=new Image();icons[50].src="ah64ca.gif"
icons[51]=new Image();icons[51].src="ah64cb.gif"
icons[52]=new Image();icons[52].src="ah64cc.gif"
icons[53]=new Image();icons[53].src="ah64cd.gif"
icons[54]=new Image();icons[54].src="ah64ce.gif"
icons[55]=new Image();icons[55].src="ah64cf.gif"

icons[90]=new Image();icons[90].src="su27c.gif"
icons[91]=new Image();icons[91].src="su27c2.gif"
icons[92]=new Image();icons[92].src="su27c3.gif"

icons[94]=new Image();icons[94].src="fire3c.gif"
icons[95]=new Image();icons[95].src="fire2c.gif"

icons[96]=new Image();icons[96].src="hit0.gif"
icons[97]=new Image();icons[97].src="hit1.gif"

icons[98]=new Image();icons[98].src="fire1c.gif"
icons[99]=new Image();icons[99].src="null.gif"

var fireNo = new Array(8) //2D Array for My Bullet
for (i=0; i<8; i++){fireNo[i] = new Array(2)}
for (i=0; i<8; i++){
fireNo[i][0]=0
fireNo[i][1]=-1000
fireNo[i][2]=0
}

//DEFINE FOR NN
var rolT=1 //roll counter
var oldS=0
var sizeE = new Array(25) //enemy size
var sizeF = new Array(25) //fire size

//------------------------------------------------------
//------------------ MAIN FUNCTION ---------------------
//------------------------------------------------------

function interval1(){

rollHR()
eneM()
bulW()
mslW()

if (GUN<=0){if (MSLr<=0){if (MSLc==0){endFLG=1}}}
if (endFLG==0){
Su27w()
}else{
clearInterval(intervalID)
edG()
}
}

//-------------------------------------------------------
//----------- SUB FUNCTIONS (FOR IE and NN) -------------
//-------------------------------------------------------

//START GAME
function startG(){
document.onkeydown = keyDown
document.onkeyup = keyUp
document.captureEvents(Event.KEYDOWN|Event.KEYUP)
parent.scr.document.forms[0].elements[0].value = 0
document.layers["STA"].moveTo(-1000,-1000)
document.layers["gameEND"].moveTo(-1000,-1000)
clearInterval(intervalID)
intervalID=setInterval("interval1()",intervaltime)

}

//ON KEY DOWN
function keyDown(DnEvents){
k=DnEvents.which
if (k == 50){IY=1} //2
if (k == 56){DY=1} //8
if (k == 54){IX=1} //6
if (k == 52){DX=1} //4

if (k == 75){IY=1} //K
if (k == 73){DY=1} //I
if (k == 76){IX=1} //L
if (k == 74){DX=1} //J

if (k == 107){IY=1} //k
if (k == 105){DY=1} //i
if (k == 108){IX=1} //l
if (k == 106){DX=1} //j

if (k == 90) {FIRE=1} //Z
if (k == 122){FIRE=1} //z
if (k == 88) {MSL=1} //X
if (k == 120){MSL=1} //x

}

//ON KEY UP
function keyUp(UpEvents){
k=UpEvents.which
if (k == 50){IY=0} //2
if (k == 56){DY=0} //8
if (k == 54){IX=0} //6
if (k == 52){DX=0} //4

if (k == 75){IY=0} //K
if (k == 73){DY=0} //I
if (k == 76){IX=0} //L
if (k == 74){DX=0} //J

if (k == 107){IY=0} //k
if (k == 105){DY=0} //i
if (k == 108){IX=0} //l
if (k == 106){DX=0} //j

if (k == 90) {FIRE=0} //Z
if (k == 122){FIRE=0} //z
if (k == 88) {MSL=0} //X
if (k == 120){MSL=0} //x

}

//HORIZON CLEAR
function hrclr(){
document.layers[1].visibility="HIDE"
document.layers[2].visibility="HIDE"
document.layers[3].visibility="HIDE"
document.layers[4].visibility="HIDE"
}

//HORIZON WRITE
function roll(pitch,bank){ //NN version require rolT
if (pitch==0){pitch=0.1}
with (Math){
if (sin(bank)==0){bank=bank+0.001}
if (cos(bank)==0){bank=bank+0.001}
if (bank>=PI){bank=bank-PI*2}
if (bank<=-PI){bank=bank+PI*2}
tmpS=(pitch)*sin(bank)
tmpC=(pitch)*cos(bank)
tmpSC=sin(bank)/cos(bank)
tmpPx=200+tmpS
tmpPy=150-tmpC
tmpCy=tmpPy-tmpSC*tmpPx

tmpX2=(300-tmpCy)/tmpSC
tmpX1=abs(tmpX2-((-tmpCy)/tmpSC))
tmpY2=tmpSC*400+tmpCy
tmpY1=abs(tmpY2-tmpCy)
tmpB=rolT

if (tmpB>=14){
hrclr()
spMOV(2,-(tmpB-9)*1000,300-tmpY2-tmpY1)
}else{
if (tmpB>=9){
hrclr()
spMOV(2,tmpX2,-(tmpB-9)*1000)
}else{
if (tmpB>=5){
hrclr()
spMOV(1,tmpX2-tmpX1,-tmpB*1000)
}else{
if (tmpB>=0){
hrclr()
spMOV(1,-tmpB*1000,300-tmpY2)
}else{
if (tmpB>=-4){
hrclr()
spMOV(3,(tmpB+1)*1000,300-tmpY2-tmpY1)
}else{
if (tmpB>=-9){
hrclr()
spMOV(3,tmpX2,(tmpB+1)*1000)
}else{
if (tmpB>=-13){
hrclr()
spMOV(4,tmpX2-tmpX1,(tmpB+10)*1000)
}else{
hrclr()
spMOV(4,(tmpB+10)*1000,300-tmpY2)
}
}
}
}
}
}
}
}
}

//LAYER MOVE
function spMOV(spNO,spX,spY){
document.layers[spNO].moveTo(spX,spY)
document.layers[spNO].visibility="SHOW"
}

//ENEMY APPEARANCE
function eneA(){
if (AHtimer<=300){
enemy[i0][0]=100+200*Math.random()
enemy[i0][1]=100+100*Math.random()
enemy[i0][2]=0
enemy[i0][3]=14
enemy[i0][5]=0-Math.floor(20*Math.random())
}else{
enemy[i0][0]=-1000
enemy[i0][1]=-1000
enemy[i0][2]=0
enemy[i0][3]=0
enemy[i0][5]=-1000
}
if (enemy[0][0]<-500){
if (enemy[1][0]<-500){
ahFLG=1
AHtimer=0
enemy[0][0]=280+30*Math.random()
enemy[0][1]=100+100*Math.random()
enemy[0][2]=0
enemy[0][3]=0
enemy[0][5]=-1000
}
}
}

//ENEMY MOVE
function eneM(){
i0R=1
Mtimer=Mtimer+1
AHtimer=AHtimer+1
parent.scr.document.forms[0].elements[3].value = 2000-Mtimer
if (Mtimer==2000){endFLG=1}
if (ahFLG==0){

if (Mtimer>=200){i0R=2}
for (i0=0; i0<i0R; i0++){
if (Hwait[i0]==1){
Hwait[i0]=2
document.layers[5+i0].layers[Math.floor(enemy[i0][4]/3)].document.images[0].src=icons[97].src
}else{
if (Hwait[i0]==2){
Hwait[i0]=0
document.layers[5+i0].layers[Math.floor(enemy[i0][4]/3)].document.images[0].src=icons[99].src
eneA()
}else{

with (Math){
enemy[i0][2]=enemy[i0][2]+1
enemy[i0][5]=enemy[i0][5]+1
if (enemy[i0][5]>=100){enemy[i0][2]=enemy[i0][2]-2}
if (enemy[i0][2]<=0){enemy[i0][2]=0}

enemy[i0][0]=enemy[i0][0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
enemy[i0][0]=enemy[i0][0]-sin((PI*(enemy[i0][3]))/8)*(enemy[i0][2]/2)*(i0+1)/2

enemy[i0][1]=enemy[i0][1]+IY*5*cos(rol)-DY*5*cos(rol)

tmpPTN=Math.floor(rol/Math.PI*8+0.5)
tmpPTN=tmpPTN+enemy[i0][3]
if (tmpPTN>=16){tmpPTN=tmpPTN-16}
if (tmpPTN<0){tmpPTN=tmpPTN+16}
tmpDX=200-enemy[i0][0]
tmpDY=150-enemy[i0][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
eneV(5+i0,floor(enemy[i0][2]/3),tmpPTN+i0*20)
spMOV(5+i0,tmpEVX,tmpEVY)
enemy[i0][4]=enemy[i0][2]
}
if (enemy[i0][2]>=19){
hitCHK()
enemy[i0][2]=18
if (enemy[i0][0]>=100){enemy[i0][3]=enemy[i0][3]+1}
if (enemy[i0][0]<=250){enemy[i0][3]=enemy[i0][3]-1}
if (enemy[i0][3]==16){enemy[i0][3]=0}
if (enemy[i0][3]==4){enemy[i0][3]=3}
if (enemy[i0][3]==-1){enemy[i0][3]=15}
if (enemy[i0][3]==12){enemy[i0][3]=13}
if (enemy[i0][0]<=-100){
eneA()
}
if (enemy[i0][0]>=500){
eneA()
}
}
if (enemy[i0][2]<=0){
eneA()
}

}
}

}
}else{
apache()
}
}

//AH64 MODE
function apache(){
with (Math){
enemy[0][2]=enemy[0][2]+1
if (enemy[0][2]<=0){enemy[0][2]=0}
enemy[0][0]=enemy[0][0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
enemy[0][0]=enemy[0][0]-enemy[0][2]*2
enemy[0][1]=enemy[0][1]+IY*5*cos(rol)-DY*5*cos(rol)

tmpPTN=Math.floor(rol/Math.PI*8+0.5)
if (tmpPTN>=16){tmpPTN=tmpPTN-16}
if (tmpPTN<0){tmpPTN=tmpPTN+16}
tmpDX=200-enemy[0][0]
tmpDY=150-enemy[0][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
eneV(5,floor(enemy[0][2]/3),tmpPTN+40)
spMOV(5,tmpEVX,tmpEVY)
enemy[0][4]=enemy[0][2]
}
with (Math){
if (enemy[1][2]!=0){
if (enemy[1][2]<13){
enemy[1][0]=enemy[1][0]+eMSLdx
enemy[1][0]=enemy[1][0]+eMSLdx
}else{
enemy[1][0]=enemy[1][0]+(200-enemy[1][0])/8
enemy[1][1]=enemy[1][1]+(150-enemy[1][1])/8
}
tmpDX=200-enemy[1][0]
tmpDY=150-enemy[1][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
eneV(6,floor(enemy[1][2]/3),94)
spMOV(6,tmpEVX,tmpEVY)
enemy[1][4]=enemy[1][2]
enemy[1][2]=enemy[1][2]+1
if (enemy[1][2]==19){
enemy[1][2]=0
}
}
if (enemy[1][2]>=18){
if (abs(200-tmpEVX)<12){
if (abs(150-tmpEVY)<12){
spMOV(6,-1000,0)
document.layers["Su27"].document.images[0].src=icons[97].src
endFLG=1
}
}
}
if (enemy[0][2]==7){
enemy[1][0]=enemy[0][0]
enemy[1][1]=enemy[0][1]
enemy[1][2]=enemy[0][2]
enemy[1][4]=0
eMSLdx=(200-enemy[1][0])/14
eMSLdy=(150-enemy[1][1])/14
}
}
if (enemy[0][2]==19){
hitAH()
ahFLG=0
enemy[0][0]=100+200*Math.random()
enemy[0][1]=100+100*Math.random()
enemy[0][2]=0
enemy[0][3]=14
enemy[0][5]=0-Math.floor(20*Math.random())
enemy[1][0]=100+200*Math.random()
enemy[1][1]=100+100*Math.random()
enemy[1][2]=0
enemy[1][3]=14
enemy[1][5]=0-Math.floor(20*Math.random())
}
}

//ENEMY VIEW
function eneV(spNO,siz,PN){
document.layers[spNO].layers[Math.floor(enemy[spNO-5][4]/3)].visibility="HIDE"
document.layers[spNO].layers[siz].document.images[0].src=icons[PN].src
document.layers[spNO].layers[siz].visibility="SHOW"
}

//HIT CHECK
function hitCHK(){
if (tmpEVX>=fireNo[0][1]+200-sizeE[6]/4){
if (tmpEVX<=fireNo[0][1]+200+sizeE[6]/4){
if (tmpEVY>=fireNo[0][2]+150-sizeE[6]/4){
if (tmpEVY<=fireNo[0][2]+150+sizeE[6]/4){
eneV(5+i0,Math.floor(enemy[i0][2]/3),96)
Hwait[i0]=1
SCORE=SCORE+100+50*i0
parent.scr.document.forms[0].elements[0].value = SCORE
}
}
}
}
}

//HIT CHECK FOR AH64
function hitAH(){
for (iAH=0; iAH<5; iAH++){
if (tmpEVX>=fireNo[iAH][1]+200-11){
if (tmpEVX<=fireNo[iAH][1]+200+11){
if (tmpEVY>=fireNo[iAH][2]+150-11){
if (tmpEVY<=fireNo[iAH][2]+150+11){
eneV(5,Math.floor(enemy[0][2]/3),97)
Hwait[0]=1
}
}
}
}
}
if (Hwait[0]==1){
SCORE=SCORE+1000
parent.scr.document.forms[0].elements[0].value = SCORE
}
}

//Su-27 WRITE
function Su27w(){
if (IY-DY>0){
document.layers["Su27"].document.images[0].src=icons[91].src
}else{
if (IY-DY<0){
document.layers["Su27"].document.images[0].src=icons[92].src
}else{
document.layers["Su27"].document.images[0].src=icons[90].src
}
}
}

//HORIZON ROLL CALCULATION
function rollHR(){
rolT=rolT+IX-DX
if (rolT>=18){rolT=rolT-36}
if (rolT<-18){rolT=rolT+36}
rol=Math.PI/18*rolT
tmpPitch=tmpPitch+IY*5*Math.cos(rol)-DY*5*Math.cos(rol)
if (tmpPitch>=148){tmpPitch=148}
if (tmpPitch<=-148){tmpPitch=-148}
roll(tmpPitch,rol)
}

//MY BULLET WRITE
function bulW(){
with (Math){
for (ib=0; ib<7; ib++){
fireNo[ib][0]=fireNo[1+ib][0]
if (sin(rol)>=0){
fireNo[ib][1]=fireNo[1+ib][1]-cos(rol)*(abs(sin(rol))*5*(IY-DY+1))
}else{
fireNo[ib][1]=fireNo[1+ib][1]+cos(rol)*(abs(sin(rol))*5*(IY-DY+1))
}
fireNo[ib][2]=fireNo[1+ib][2]+abs(sin(rol)*(abs(sin(rol))*5*(IY-DY+1)))
fireNo[ib][2]=fireNo[ib][2]-8*(IY-DY)
}

fireNo[7][0]=0
fireNo[7][1]=-1000
fireNo[7][2]=0
if (FIRE==1){if (GUN>0){
if (fireNo[6][0]==0){
fireNo[7][0]=1
fireNo[7][1]=0
fireNo[7][2]=0
GUN=GUN-1
parent.scr.document.forms[0].elements[1].value = GUN
}
}}

for (ib=0; ib<8; ib++){
ibT=ib.toString()
document.layers["MyBullet"+ibT].moveTo(fireNo[ib][1]+200,fireNo[ib][2]+150)
}
}
}

//MY MISSILE WRITE
function mslW(){
if (MSLc==9){
MSLc=0
eneV(5+TGT,Math.floor(enemy[TGT][4]/3),99)
eneV(5+TGT,Math.floor(enemy[TGT][2]/3),99)
i0=TGT
eneA()
}
if (MSLc==8){
MSLc=0
document.layers["MyMSL0"].visibility="HIDE"
}
for (ims=0; ims<7; ims++){
if (MSLc==7-ims){
imT=ims.toString()
imTR=(ims+1).toString()
with (Math){
MSLx[0]=MSLx[0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
MSLy[0]=MSLy[0]+IY*5*cos(rol)-DY*5*cos(rol)

tmx=enemy[TGT][0]-MSLx[0]
tmy=enemy[TGT][1]-MSLy[0]
MSLx[0]=MSLx[0]+tmx/3
MSLy[0]=MSLy[0]+tmy/3
MSLc=MSLc+1
tmpRO()
document.layers["MyMSL"+imTR].visibility="HIDE"
spMOV("MyMSL"+imT,tmpEVX,tmpEVY)
if (abs(tmx)<14){if (abs(tmy)<14){mslHIT()}}
}
}
}
if (MSLc==0){if (MSL==1){if (MSLr>=1){
MSLx[0]=200;MSLy[0]=160;MSLc=1;MSLr=MSLr-1
parent.scr.document.forms[0].elements[2].value = MSLr
TGT=0
if (ahFLG==0){
if (enemy[1][2]>enemy[0][2]){TGT=1}
if (enemy[1][2]==enemy[0][2]){
with (Math){
tmpDX=200-enemy[0][0]
tmpDY=150-enemy[0][1]
tmpEVR1=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpDX=200-enemy[1][0]
tmpDY=150-enemy[1][1]
tmpEVR2=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
if (tmpEVR2<tmpEVR1){TGT=1}
}
}
}
spMOV("MyMSL7",200,160)
}}}
}

//MISSILE tmp rotation
function tmpRO(){
with (Math){
tmpDX=200-MSLx[0]
tmpDY=150-MSLy[0]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
}
}

//MISSILE HIT
function mslHIT(){
MSLc=9;MSL=0
document.layers["MyMSL"+imT].visibility="HIDE"
eneV(5+TGT,Math.floor(enemy[TGT][2]/3),97)
SCORE=SCORE+100+50*TGT+ahFLG*1000
parent.scr.document.forms[0].elements[0].value = SCORE
}

//END GAME
function edG(){
document.layers["gameEND"].moveTo(100,110)
document.layers["gameEND"].document.forms[0].elements[0].value = SCORE
}

//-------------------------------------------------------
//-------------- SUB FUNCTIONS (FOR NN) -----------------
//-------------------------------------------------------

//SEA LAYER SETUP
function setup(){
rol=Math.PI/18*rolT
roll(0,rol)
rolT=rolT+1
if (rolT>=18){rolT=-18}
if (rolT==1){
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
clearInterval(intervalID)
document.layers["STA"].moveTo(150,170)
rolT=0
tmpPitch=0
}
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#00AFFF" ONLOAD=" intervalID=setInterval('setup()',50)">
<LAYER VISIBILITY="HIDE"></LAYER>
<LAYER LEFT=1000 TOP=0>
<LAYER LEFT=0><IMG WIDTH=400 HEIGHT=1 SRC="r45c.gif"></LAYER>
<LAYER LEFT=0 TOP=1><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=1000><IMG WIDTH=400 HEIGHT=71 SRC="r45c.gif"></LAYER>
<LAYER LEFT=1000 TOP=71><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=2000><IMG WIDTH=400 HEIGHT=146 SRC="r45c.gif"></LAYER>
<LAYER LEFT=2000 TOP=146><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=3000><IMG WIDTH=400 HEIGHT=231 SRC="r45c.gif"></LAYER>
<LAYER LEFT=3000 TOP=231><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=4000><IMG WIDTH=400 HEIGHT=336 SRC="r45c.gif"></LAYER>
<LAYER LEFT=4000 TOP=336><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=5000><IMG WIDTH=252 HEIGHT=300 SRC="r45c.gif"></LAYER>
<LAYER LEFT=252 TOP=5000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=6000><IMG WIDTH=173 HEIGHT=300 SRC="r45c.gif"></LAYER>
<LAYER LEFT=173 TOP=6000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=7000><IMG WIDTH=109 HEIGHT=300 SRC="r45c.gif"></LAYER>
<LAYER LEFT=109 TOP=7000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=8000><IMG WIDTH=53 HEIGHT=300 SRC="r45c.gif"></LAYER>
<LAYER LEFT=53 TOP=8000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
</LAYER>

<LAYER LEFT=1000 TOP=0>
<LAYER TOP=0><IMG WIDTH=1 HEIGHT=300 SRC="r135c.gif"></LAYER>
<LAYER LEFT=1 TOP=0><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=1000><IMG WIDTH=53 HEIGHT=300 SRC="r135c.gif"></LAYER>
<LAYER LEFT=53 TOP=1000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=2000><IMG WIDTH=109 HEIGHT=300 SRC="r135c.gif"></LAYER>
<LAYER LEFT=109 TOP=2000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=3000><IMG WIDTH=173 HEIGHT=300 SRC="r135c.gif"></LAYER>
<LAYER LEFT=173 TOP=3000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=4000><IMG WIDTH=252 HEIGHT=300 SRC="r135c.gif"></LAYER>
<LAYER LEFT=252 TOP=4000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=5000><IMG WIDTH=400 HEIGHT=336 SRC="r135c.gif"></LAYER>
<LAYER LEFT=5000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=6000><IMG WIDTH=400 HEIGHT=231 SRC="r135c.gif"></LAYER>
<LAYER LEFT=6000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=7000><IMG WIDTH=400 HEIGHT=146 SRC="r135c.gif"></LAYER>
<LAYER LEFT=7000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=8000><IMG WIDTH=400 HEIGHT=71 SRC="r135c.gif"></LAYER>
<LAYER LEFT=8000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
</LAYER>
<LAYER LEFT=1000 TOP=0>
<LAYER LEFT=0><IMG WIDTH=400 HEIGHT=71 SRC="l45c.gif"></LAYER>
<LAYER LEFT=0 TOP=71><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=1000><IMG WIDTH=400 HEIGHT=146 SRC="l45c.gif"></LAYER>
<LAYER LEFT=1000 TOP=146><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=2000><IMG WIDTH=400 HEIGHT=231 SRC="l45c.gif"></LAYER>
<LAYER LEFT=2000 TOP=231><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=3000><IMG WIDTH=400 HEIGHT=336 SRC="l45c.gif"></LAYER>
<LAYER LEFT=3000 TOP=336><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=4000><IMG WIDTH=252 HEIGHT=300 SRC="l45c.gif"></LAYER>
<LAYER LEFT=-400 TOP=4000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=5000><IMG WIDTH=173 HEIGHT=300 SRC="l45c.gif"></LAYER>
<LAYER LEFT=-400 TOP=5000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=6000><IMG WIDTH=109 HEIGHT=300 SRC="l45c.gif"></LAYER>
<LAYER LEFT=-400 TOP=6000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=7000><IMG WIDTH=53 HEIGHT=300 SRC="l45c.gif"></LAYER>
<LAYER LEFT=-400 TOP=7000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=8000><IMG WIDTH=1 HEIGHT=300 SRC="l45c.gif"></LAYER>
<LAYER LEFT=-400 TOP=8000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
</LAYER>
<LAYER LEFT=1000 TOP=0>
<LAYER TOP=0><IMG WIDTH=53 HEIGHT=300 SRC="l135c.gif"></LAYER>
<LAYER LEFT=-400 TOP=0><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=1000><IMG WIDTH=109 HEIGHT=300 SRC="l135c.gif"></LAYER>
<LAYER LEFT=-400 TOP=1000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=2000><IMG WIDTH=173 HEIGHT=300 SRC="l135c.gif"></LAYER>
<LAYER LEFT=-400 TOP=2000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER TOP=3000><IMG WIDTH=252 HEIGHT=300 SRC="l135c.gif"></LAYER>
<LAYER LEFT=-400 TOP=3000><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=4000><IMG WIDTH=400 HEIGHT=336 SRC="l135c.gif"></LAYER>
<LAYER LEFT=4000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=5000><IMG WIDTH=400 HEIGHT=231 SRC="l135c.gif"></LAYER>
<LAYER LEFT=5000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=6000><IMG WIDTH=400 HEIGHT=146 SRC="l135c.gif"></LAYER>
<LAYER LEFT=6000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=7000><IMG WIDTH=400 HEIGHT=71 SRC="l135c.gif"></LAYER>
<LAYER LEFT=7000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
<LAYER LEFT=8000><IMG WIDTH=400 HEIGHT=1 SRC="l135c.gif"></LAYER>
<LAYER LEFT=8000 TOP=-300><IMG WIDTH=400 HEIGHT=300 SRC="lr0.gif"></LAYER>
</LAYER>

<LAYER LEFT=50 TOP=50>
<SCRIPT LANGUAGE="JavaScript">
<!--
//ENEMY LAYER 1
for (ia=0; ia<7; ia++){
with(Math){
ix=floor(pow(1.245,ia*3+2))
iix=floor(ix/2)
sizeE[ia]=iix
}
document.write('<LAYER LEFT='+(-iix)+' TOP='+(-iix)+'><IMG WIDTH='+ix+' HEIGHT='+ix+' SRC="null.gif"></LAYER>')
}
//-->
</SCRIPT>
</LAYER>

<LAYER LEFT=50 TOP=50>
<SCRIPT LANGUAGE="JavaScript">
<!--
//ENEMY LAYER 2
for (ia=0; ia<7; ia++){
with(Math){
ix=floor(pow(1.245,ia*3+2))
iix=floor(ix/2)
sizeE[ia]=iix
}
document.write('<LAYER LEFT='+(-iix)+' TOP='+(-iix)+'><IMG WIDTH='+ix+' HEIGHT='+ix+' SRC="null.gif"></LAYER>')
}
//-->
</SCRIPT>
</LAYER>

<SCRIPT LANGUAGE="JavaScript">
<!--
//MY BULLET LAYER
for (ia=0; ia<8; ia++){
with(Math){
ix=floor(pow(1.245,ia+3))
iix=floor(ix/2)
sizeF[ia]=iix
iaT=ia.toString()
}
document.write('<LAYER LEFT=-1000 NAME="MyBullet'+iaT+'"><LAYER LEFT='+(-iix)+' TOP='+(-iix)+'><IMG WIDTH='+ix+' HEIGHT='+ix+' SRC="fire1c.gif"></LAYER></LAYER>')
}

//MY MISSILE LAYER
for (ia=0; ia<8; ia++){
with(Math){
ix=floor(pow(1.245,ia+3)*1.5)
iix=floor(ix/2)
iaT=ia.toString()
}
document.write('<LAYER LEFT=-1000 NAME="MyMSL'+iaT+'" VISIBILITY="HIDE"><LAYER LEFT='+(-iix)+' TOP='+(-iix)+'><IMG WIDTH='+ix+' HEIGHT='+ix+' SRC="fire2c.gif"></LAYER></LAYER>')
}

//-->
</SCRIPT>

<LAYER LEFT=150 TOP=100 NAME="Su27">
<IMG WIDTH=100 HEIGHT=100 SRC="su27c.gif">
</LAYER>

<LAYER NAME="STA" TOP=-2000 LEFT=170>
<FORM>
<INPUT TYPE="button" VALUE="СТАРТ" ONCLICK="blur();startG()">
</FORM>
</LAYER>

<LAYER NAME="gameEND" TOP=-2000 LEFT=110>
<FONT COLOR="#FF0000" STYLE="font-size:30px">ИГРА ЗАКОНЧЕНА</FONT><P>
<FORM><FONT COLOR="#FFFF00" STYLE="font-size:16px">
ВАШ СЧЕТ:<INPUT TYPE="text" VALUE="" SIZE="10">pts
<P><BR><P>
<IMG WIDTH=45 HEIGHT=1 SRC="null.gif">
<INPUT TYPE="button" VALUE="Попытайтесь снова" ONCLICK="parent.history.go(0)">
</FONT></FORM>
</LAYER>

</BODY>
</HTML>

ie4.html

<HTML>

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>MAIN PROGRAM of JS FLANKER for IE4.0</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = setTimeout("",1)
var IX=0 //key flag
var IY=0
var DX=0
var DY=0
var FIRE=0 //fire flag
var MSL=0 //missile flag
var MSLr=10 //missile remain
var MSLc=0 //missile counter
var MSLx = new Array(8) //missile X
var MSLy = new Array(8) //missile Y
var TGT=0 //missile target

var eMSLx=0 //enemy missile
var eMSLy=0
var eMSLdx=0
var eMSLdy=0

var SCORE=0
var Mtimer=0 //Main Timer
var AHtimer=0 //AH64 Timer
var ahFLG=0 //AH64 FLAG

var GUN=500
var endFLG=0

var enemy = new Array(3) //2D Array for enemy
for (i=0; i<4; i++){enemy[i] = new Array(4)}
enemy[0][0]=280 //enemy0.X
enemy[0][1]=100 //enemy0.Y
enemy[0][2]=0 //enemy0.size
enemy[0][3]=0 //enemy0.PTN
enemy[0][4]=0 //enemy0.oldsize
enemy[0][5]=0 //enemy0.timer

enemy[1][0]=150 //enemy1.X
enemy[1][1]=120 //enemy1.Y
enemy[1][2]=0 //enemy1.size
enemy[1][3]=0 //enemy1.PTN
enemy[1][4]=0 //enemy1.oldsize
enemy[1][5]=0 //enemy1.timer

var Hwait = new Array(10) //hit wait
for (i=0; i<8; i++){
Hwait[i]=0
}

var icons = new Array(99) //image data

icons[0]=new Image();icons[0].src="f4c0.gif"
icons[1]=new Image();icons[1].src="f4c1.gif"
icons[2]=new Image();icons[2].src="f4c2.gif"
icons[3]=new Image();icons[3].src="f4c3.gif"
icons[4]=new Image();icons[4].src="f4c4.gif"
icons[5]=new Image();icons[5].src="f4c5.gif"
icons[6]=new Image();icons[6].src="f4c6.gif"
icons[7]=new Image();icons[7].src="f4c7.gif"
icons[8]=new Image();icons[8].src="f4c8.gif"
icons[9]=new Image();icons[9].src="f4c9.gif"
icons[10]=new Image();icons[10].src="f4ca.gif"
icons[11]=new Image();icons[11].src="f4cb.gif"
icons[12]=new Image();icons[12].src="f4cc.gif"
icons[13]=new Image();icons[13].src="f4cd.gif"
icons[14]=new Image();icons[14].src="f4ce.gif"
icons[15]=new Image();icons[15].src="f4cf.gif"

icons[20]=new Image();icons[20].src="f15c0.gif"
icons[21]=new Image();icons[21].src="f15c1.gif"
icons[22]=new Image();icons[22].src="f15c2.gif"
icons[23]=new Image();icons[23].src="f15c3.gif"
icons[24]=new Image();icons[24].src="f15c4.gif"
icons[25]=new Image();icons[25].src="f15c5.gif"
icons[26]=new Image();icons[26].src="f15c6.gif"
icons[27]=new Image();icons[27].src="f15c7.gif"
icons[28]=new Image();icons[28].src="f15c8.gif"
icons[29]=new Image();icons[29].src="f15c9.gif"
icons[30]=new Image();icons[30].src="f15ca.gif"
icons[31]=new Image();icons[31].src="f15cb.gif"
icons[32]=new Image();icons[32].src="f15cc.gif"
icons[33]=new Image();icons[33].src="f15cd.gif"
icons[34]=new Image();icons[34].src="f15ce.gif"
icons[35]=new Image();icons[35].src="f15cf.gif"

icons[40]=new Image();icons[40].src="ah64c0.gif"
icons[41]=new Image();icons[41].src="ah64c1.gif"
icons[42]=new Image();icons[42].src="ah64c2.gif"
icons[43]=new Image();icons[43].src="ah64c3.gif"
icons[44]=new Image();icons[44].src="ah64c4.gif"
icons[45]=new Image();icons[45].src="ah64c5.gif"
icons[46]=new Image();icons[46].src="ah64c6.gif"
icons[47]=new Image();icons[47].src="ah64c7.gif"
icons[48]=new Image();icons[48].src="ah64c8.gif"
icons[49]=new Image();icons[49].src="ah64c9.gif"
icons[50]=new Image();icons[50].src="ah64ca.gif"
icons[51]=new Image();icons[51].src="ah64cb.gif"
icons[52]=new Image();icons[52].src="ah64cc.gif"
icons[53]=new Image();icons[53].src="ah64cd.gif"
icons[54]=new Image();icons[54].src="ah64ce.gif"
icons[55]=new Image();icons[55].src="ah64cf.gif"

icons[90]=new Image();icons[90].src="su27c.gif"
icons[91]=new Image();icons[91].src="su27c2.gif"
icons[92]=new Image();icons[92].src="su27c3.gif"

icons[94]=new Image();icons[94].src="fire3c.gif"
icons[95]=new Image();icons[95].src="fire2c.gif"

icons[96]=new Image();icons[96].src="hit0.gif"
icons[97]=new Image();icons[97].src="hit1.gif"

icons[98]=new Image();icons[98].src="fire1c.gif"
icons[99]=new Image();icons[99].src="null.gif"

var fireNo = new Array(8) //2D Array for My Bullet
for (i=0; i<8; i++){fireNo[i] = new Array(2)}
for (i=0; i<8; i++){
fireNo[i][0]=0
fireNo[i][1]=-1000
fireNo[i][2]=0
}

//DEFINE FOR IE
var spCOUNT=0 //layer counter
var sizeF = new Array(25) //fire size
var Buloff=0 //Bullet No offset

//------------------------------------------------------
//------------------ MAIN FUNCTION ---------------------
//------------------------------------------------------

function intervalT(){
clearTimeout(timerID)

rollHR()
eneM()
bulW()
mslW()

if (GUN<=0){if (MSLr<=0){if (MSLc==0){endFLG=1}}}
if (endFLG==0){
Su27w()
if (RES.style.posTop == -1000){timerID = setTimeout("intervalT()",50)}
}else{
edG()
}
}

//-------------------------------------------------------
//----------- SUB FUNCTIONS (FOR IE and NN) -------------
//-------------------------------------------------------

//START GAME
function startG(){
timerID = setTimeout("intervalT()",50)
rol=0
tmpPitch=0
tmpPTN=0
STA.style.posTop = -1000
parent.document.forms[0].elements[0].value = 0
}

//KEY DOWN
function keyDown(DnEvents){
k=window.event.keyCode
if (k == 98){IY=1} //2
if (k == 104){DY=1} //8
if (k == 102){IX=1} //6
if (k == 100){DX=1} //4

if (k == 50){IY=1} //2
if (k == 56){DY=1} //8
if (k == 54){IX=1} //6
if (k == 52){DX=1} //4

if (k == 75){IY=1} //K
if (k == 73){DY=1} //I
if (k == 76){IX=1} //L
if (k == 74){DX=1} //J

if (k == 107){IY=1} //k
if (k == 105){DY=1} //i
if (k == 108){IX=1} //l
if (k == 106){DX=1} //j

if (k == 90) {FIRE=1} //Z
if (k == 122){FIRE=1} //z
if (k == 88) {MSL=1} //X
if (k == 120){MSL=1} //x

}

//KEY UP
function keyUp(UpEvents){
k=window.event.keyCode
if (k == 98){IY=0} //2Key
if (k == 104){DY=0} //8
if (k == 102){IX=0} //6
if (k == 100){DX=0} //4

if (k == 50){IY=0} //2
if (k == 56){DY=0} //8
if (k == 54){IX=0} //6
if (k == 52){DX=0} //4

if (k == 75){IY=0} //K
if (k == 73){DY=0} //I
if (k == 76){IX=0} //L
if (k == 74){DX=0} //J

if (k == 107){IY=0} //k
if (k == 105){DY=0} //i
if (k == 108){IX=0} //l
if (k == 106){DX=0} //j

if (k == 90) {FIRE=0} //Z
if (k == 122){FIRE=0} //z
if (k == 88) {MSL=0} //X
if (k == 120){MSL=0} //x

}

//HORIZON CLEAR
function hrclr(){
spMOV(1,-1000,0)
spMOV(2,-1000,0)
spMOV(3,-1000,0)
spMOV(4,-1000,0)
}

//HORIZON WRITE
function roll(pitch,bank){
hrclr()
if (pitch==0){pitch=0.1}
with (Math){
if (sin(bank)==0){bank=bank+0.001}
if (cos(bank)==0){bank=bank+0.001}
if (bank>=PI){bank=bank-PI*2}
if (bank<=-PI){bank=bank+PI*2}
tmpS=(pitch)*sin(bank)
tmpC=(pitch)*cos(bank)
tmpSC=sin(bank)/cos(bank)
tmpPx=200+tmpS
tmpPy=150-tmpC
tmpCy=tmpPy-tmpSC*tmpPx

tmpX2=(300-tmpCy)/tmpSC
tmpX1=abs(tmpX2-((-tmpCy)/tmpSC))
tmpY2=tmpSC*400+tmpCy
tmpY1=abs(tmpY2-tmpCy)

if (bank>=PI*3/4){
zoom(2,400,tmpY1)
spMOV(2,0,300-tmpY2-tmpY1)
spMOV(0,0,300-tmpY2-tmpY1-299)
}else{
if (bank>=PI/2){
zoom(2,tmpX1,300)
spMOV(2,tmpX2,0)
spMOV(0,tmpX2+tmpX1-1,0)
}else{
if (bank>=PI/4){
zoom(1,tmpX1,300)
spMOV(1,tmpX2-tmpX1,0)
spMOV(0,tmpX2-1,0)
}else{
if (bank>=0){
zoom(1,400,tmpY1)
spMOV(1,0,300-tmpY2)
spMOV(0,0,300-tmpY2+tmpY1-1)
}else{
if (bank>=-PI/4){
zoom(3,400,tmpY1)
spMOV(3,0,300-tmpY2-tmpY1)
spMOV(0,0,300-tmpY2-1)
}else{
if (bank>=-PI/2){
zoom(3,tmpX1,300)
spMOV(3,tmpX2,0)
spMOV(0,tmpX2-399,0)
}else{
if (bank>=-PI*3/4){
zoom(4,tmpX1,300)
spMOV(4,tmpX2-tmpX1,0)
spMOV(0,tmpX2-tmpX1-399,0)
}else{
zoom(4,400,tmpY1)
spMOV(4,0,300-tmpY2)
spMOV(0,0,300-tmpY2-299)
}
}
}
}
}
}
}
}
}

//LAYER MOVE
function spMOV(spNO,spX,spY){
with (document) {
images[spNO].style.posLeft = spX
images[spNO].style.posTop = spY
}
}

//ENEMY APPEARANCE
function eneA(){
if (AHtimer<=300){
enemy[i0][0]=100+200*Math.random()
enemy[i0][1]=100+100*Math.random()
enemy[i0][2]=0
enemy[i0][3]=14
enemy[i0][5]=0-Math.floor(20*Math.random())
}else{
enemy[i0][0]=-1000
enemy[i0][1]=-1000
enemy[i0][2]=0
enemy[i0][3]=0
enemy[i0][5]=-1000
}
if (enemy[0][0]<-500){
if (enemy[1][0]<-500){
ahFLG=1
AHtimer=0
enemy[0][0]=280+30*Math.random()
enemy[0][1]=100+100*Math.random()
enemy[0][2]=0
enemy[0][3]=0
enemy[0][5]=-1000
}
}
}

//ENEMY MOVE
function eneM(){
i0R=1
Mtimer=Mtimer+1
AHtimer=AHtimer+1
parent.document.forms[0].elements[3].value = 2000-Mtimer
if (Mtimer==2000){endFLG=1}

if (ahFLG==0){
if (Mtimer>=200){i0R=2}
for (i0=0; i0<i0R; i0++){
if (Hwait[i0]==1){
Hwait[i0]=2
eneV(5+i0,enemy[i0][2]*5,97)
}else{
if (Hwait[i0]==2){
Hwait[i0]=0
eneV(5+i0,enemy[i0][2]*5,99)
eneA()
}else{

with (Math){
enemy[i0][2]=enemy[i0][2]+1
enemy[i0][5]=enemy[i0][5]+1
if (enemy[i0][5]>=100){enemy[i0][2]=enemy[i0][2]-2}
if (enemy[i0][2]<=0){enemy[i0][2]=0}

enemy[i0][0]=enemy[i0][0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
enemy[i0][0]=enemy[i0][0]-sin((PI*(enemy[i0][3]))/8)*(enemy[i0][2]/2)*(i0+1)/2

enemy[i0][1]=enemy[i0][1]+IY*5*cos(rol)-DY*5*cos(rol)

tmpPTN=Math.floor(rol/Math.PI*8+0.5)
tmpPTN=tmpPTN+enemy[i0][3]
if (tmpPTN>=16){tmpPTN=tmpPTN-16}
if (tmpPTN<0){tmpPTN=tmpPTN+16}
tmpDX=200-enemy[i0][0]
tmpDY=150-enemy[i0][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
}
spMOV(5+i0,tmpEVX-enemy[i0][2]*2.5,tmpEVY-enemy[i0][2]*2.5)
eneV(5+i0,enemy[i0][2]*5,tmpPTN+i0*20)
enemy[i0][4]=enemy[i0][2]
if (enemy[i0][2]==19){
hitCHK()
enemy[i0][2]=18
if (enemy[i0][0]>=100){enemy[i0][3]=enemy[i0][3]+1}
if (enemy[i0][0]<=250){enemy[i0][3]=enemy[i0][3]-1}
if (enemy[i0][3]==16){enemy[i0][3]=0}
if (enemy[i0][3]==4){enemy[i0][3]=3}
if (enemy[i0][3]==-1){enemy[i0][3]=15}
if (enemy[i0][3]==12){enemy[i0][3]=13}
if (enemy[i0][0]<=-100){
eneA()
}
if (enemy[i0][0]>=500){
eneA()
}
}
if (enemy[i0][2]<=0){
eneA()
}

}
}
}
}else{
apache()
}
}

//AH64 MODE
function apache(){
with (Math){
enemy[0][2]=enemy[0][2]+1
if (enemy[0][2]<=0){enemy[0][2]=0}
enemy[0][0]=enemy[0][0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
enemy[0][0]=enemy[0][0]-enemy[0][2]*2
enemy[0][1]=enemy[0][1]+IY*5*cos(rol)-DY*5*cos(rol)

tmpPTN=Math.floor(rol/Math.PI*8+0.5)
if (tmpPTN>=16){tmpPTN=tmpPTN-16}
if (tmpPTN<0){tmpPTN=tmpPTN+16}
tmpDX=200-enemy[0][0]
tmpDY=150-enemy[0][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
}
spMOV(5,tmpEVX-enemy[0][2]*2.5,tmpEVY-enemy[0][2]*2.5)
eneV(5,enemy[0][2]*5,tmpPTN+40)
enemy[0][4]=enemy[0][2]

with (Math){
if (enemy[1][2]!=0){
if (enemy[1][2]<15){
enemy[1][0]=enemy[1][0]+eMSLdx
enemy[1][0]=enemy[1][0]+eMSLdx
}else{
enemy[1][0]=enemy[1][0]+(200-enemy[1][0])/8
enemy[1][1]=enemy[1][1]+(150-enemy[1][1])/8
}
tmpDX=200-enemy[1][0]
tmpDY=150-enemy[1][1]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
spMOV(6,tmpEVX-enemy[1][2]*2.5,tmpEVY-enemy[1][2]*2.5)
eneV(6,enemy[1][2]*5,94)
enemy[0][4]=enemy[0][2]
enemy[1][2]=enemy[1][2]+1
if (enemy[1][2]==19){
enemy[1][2]=0
}
}
if (enemy[1][2]>=18){
if (abs(200-tmpEVX)<12){
if (abs(150-tmpEVY)<12){
spMOV(6,-1000,0)
document.images["Su27"].src=icons[97].src
endFLG=1
}
}
}
if (enemy[0][2]==7){
enemy[1][0]=enemy[0][0]
enemy[1][1]=enemy[0][1]
enemy[1][2]=enemy[0][2]
enemy[1][4]=0
eMSLdx=(200-enemy[1][0])/14
eMSLdy=(150-enemy[1][1])/14
}
}
if (enemy[0][2]==19){
hitAH()
ahFLG=0
enemy[0][0]=100+200*Math.random()
enemy[0][1]=100+100*Math.random()
enemy[0][2]=0
enemy[0][3]=14
enemy[0][5]=0-Math.floor(20*Math.random())
enemy[1][0]=100+200*Math.random()
enemy[1][1]=100+100*Math.random()
enemy[1][2]=0
enemy[1][3]=14
enemy[1][5]=0-Math.floor(20*Math.random())
}
}

//ENEMY VIEW
function eneV(spNO,siz,PN){
document.images[spNO].src=icons[PN].src
zoom(spNO,siz,siz)
}

//HIT CHECK
function hitCHK(){
if (tmpEVX>=fireNo[0][1]+200-11){
if (tmpEVX<=fireNo[0][1]+200+11){
if (tmpEVY>=fireNo[0][2]+150-11){
if (tmpEVY<=fireNo[0][2]+150+11){
eneV(5+i0,enemy[i0][2]*5,96)
Hwait[i0]=1
SCORE=SCORE+100+50*i0
parent.document.forms[0].elements[0].value = SCORE
}
}
}
}
}

//HIT CHECK FOR AH64
function hitAH(){
for (iAH=0; iAH<5; iAH++){
if (tmpEVX>=fireNo[iAH][1]+200-11){
if (tmpEVX<=fireNo[iAH][1]+200+11){
if (tmpEVY>=fireNo[iAH][2]+150-11){
if (tmpEVY<=fireNo[iAH][2]+150+11){
eneV(5,enemy[0][2]*5,97)
Hwait[0]=1
}
}
}
}
}
if (Hwait[0]==1){
SCORE=SCORE+1000
parent.document.forms[0].elements[0].value = SCORE
}
}

//Su-27 WRITE
function Su27w(){
if (IY-DY>0){
document.images["Su27"].src=icons[91].src
}else{
if (IY-DY<0){
document.images["Su27"].src=icons[92].src
}else{
document.images["Su27"].src=icons[90].src
}
}
}

//HORIZON ROLL CALCULATION
function rollHR(){
rol=rol+IX*0.1-DX*0.1
if (rol>=Math.PI){rol=rol-Math.PI*2}
if (rol<-Math.PI){rol=rol+Math.PI*2}
tmpPitch=tmpPitch+IY*5*Math.cos(rol)-DY*5*Math.cos(rol)
if (tmpPitch>=148){tmpPitch=148}
if (tmpPitch<=-148){tmpPitch=-148}
roll(tmpPitch,rol)
}

//MY BULLET WRITE
function bulW(){
with (Math){
for (ib=0; ib<7; ib++){
fireNo[ib][0]=fireNo[1+ib][0]
if (sin(rol)>=0){
fireNo[ib][1]=fireNo[1+ib][1]-cos(rol)*(abs(sin(rol))*5*(IY-DY+1))
}else{
fireNo[ib][1]=fireNo[1+ib][1]+cos(rol)*(abs(sin(rol))*5*(IY-DY+1))
}
fireNo[ib][2]=fireNo[1+ib][2]+abs(sin(rol)*(abs(sin(rol))*5*(IY-DY+1)))
fireNo[ib][2]=fireNo[ib][2]-8*(IY-DY)
}

fireNo[7][0]=0
fireNo[7][1]=-1000
fireNo[7][2]=0
if (FIRE==1){if (GUN>0){
if (fireNo[6][0]==0){
fireNo[7][0]=1
fireNo[7][1]=0
fireNo[7][2]=0
GUN=GUN-1
parent.document.forms[0].elements[1].value = GUN
}
}}

for (ib=0; ib<8; ib++){
spMOV(Buloff+ib,fireNo[ib][1]+200-sizeF[ib],fireNo[ib][2]+150-sizeF[ib])
}
}
}

//MY MISSILE WRITE
function mslW(){
if (MSLc==9){
MSLc=0
eneV(5+TGT,enemy[TGT][4],99)
eneV(5+TGT,enemy[TGT][2],99)
i0=TGT
eneA()
}
if (MSLc==8){
MSLc=0
spMOV("MSL",-1000,0)
}
for (ims=0; ims<7; ims++){
if (MSLc==7-ims){
with (Math){
MSLx[0]=MSLx[0]-sin(rol)*5-IY*5*sin(rol)+DY*5*sin(rol)
MSLy[0]=MSLy[0]+IY*5*cos(rol)-DY*5*cos(rol)

tmx=enemy[TGT][0]-MSLx[0]
tmy=enemy[TGT][1]-MSLy[0]
MSLx[0]=MSLx[0]+tmx/3
MSLy[0]=MSLy[0]+tmy/3
MSLc=MSLc+1
tmpRO()
spMOV("MSL",tmpEVX,tmpEVY)
zoom("MSL",floor(pow(1.245,12-MSLc)),floor(pow(1.245,12-MSLc)))
if (abs(tmx)<14){if (abs(tmy)<14){mslHIT()}}
}
}
}
if (MSLc==0){if (MSL==1){if (MSLr>=1){
MSLx[0]=200;MSLy[0]=160;MSLc=1;MSLr=MSLr-1
parent.document.forms[0].elements[2].value = MSLr
TGT=0
if (ahFLG==0){
if (enemy[1][2]>enemy[0][2]){TGT=1}
if (enemy[1][2]==enemy[0][2]){
with (Math){
tmpDX=200-enemy[0][0]
tmpDY=150-enemy[0][1]
tmpEVR1=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpDX=200-enemy[1][0]
tmpDY=150-enemy[1][1]
tmpEVR2=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
if (tmpEVR2<tmpEVR1){TGT=1}
}
}
}
spMOV("MSL",192,152)
with (Math){
zoom("MSL",floor(pow(1.245,12-MSLc)),floor(pow(1.245,12-MSLc)))
}
}}}
}

//MISSILE tmp rotation
function tmpRO(){
with (Math){
tmpDX=200-MSLx[0]
tmpDY=150-MSLy[0]
tmpEVR=sqrt(pow(tmpDX,2)+pow(tmpDY,2))
tmpEVX=200-tmpEVR*cos(-rol+atan2(tmpDY,tmpDX))
tmpEVY=150-tmpEVR*sin(-rol+atan2(tmpDY,tmpDX))
}
}

//MISSILE HIT
function mslHIT(){
MSLc=9;MSL=0
spMOV("MSL",-1000,0)
eneV(5+TGT,enemy[TGT][2]*5,97)
SCORE=SCORE+100+50*TGT+ahFLG*1000
parent.document.forms[0].elements[0].value = SCORE
}

//END GAME
function edG(){
gameEND.style.posTop = 100
document.forms[2].elements[0].value = SCORE
}

//-------------------------------------------------------
//------------- SUB FUNCTIONS (FOR IE) ------------------
//-------------------------------------------------------

//IMAGE SETUP
function spINI(spX,spY,spIMG){
with (document) {
write("<IMG SRC='"+spIMG+"' STYLE='position:absolute'>")
images[spCOUNT].style.posLeft = spX
images[spCOUNT].style.posTop = spY
spCOUNT=spCOUNT+1
}
}

//ON LOAD
function onLD(){
document.onkeypress = keyDown
document.onkeyup = keyUp
}

//RESTART
function restart(){
RES.style.posTop = -1000
timerID = setTimeout("intervalT()",50)
}

//IMAGE ZOOM
function zoom(spNO,zoomX,zoomY){
document.images[spNO].style.height = zoomY
document.images[spNO].style.width = zoomX
}

//REFRESH GAME
function refG(){
IX=0
IY=0
DX=0
DY=0
FIRE=0
MSL=0
MSLr=10
MSLc=0
SCORE=0
Mtimer=0
AHtimer=0
ahFLG=0
GUN=500
endFLG=0
enemy[0][0]=280
enemy[0][1]=100
enemy[0][2]=0
enemy[0][3]=0
enemy[0][4]=0
enemy[0][5]=0
enemy[1][0]=150
enemy[1][1]=120
enemy[1][2]=0
enemy[1][3]=0
enemy[1][4]=0
enemy[1][5]=0

spMOV(5,0,-1000)
spMOV(6,0,-1000)

for (i=0; i<8; i++){
Hwait[i]=0
}
for (i=0; i<8; i++){
fireNo[i][0]=0
fireNo[i][1]=-1000
fireNo[i][2]=0
}
gameEND.style.posTop = -1000
parent.document.forms[0].elements[0].value = 0
parent.document.forms[0].elements[1].value = 500
parent.document.forms[0].elements[2].value = 10
parent.document.forms[0].elements[3].value = 2000
startG()
}

//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#00AFFF" TEXT="#FFFFFF" ONLOAD="onLD()">
<SCRIPT LANGUAGE="JavaScript">
<!--
spINI(1000,0,"lr0.gif")
spINI(1000,0,"r45c.gif")
spINI(1000,0,"r135c.gif")
spINI(1000,0,"l45c.gif")
spINI(1000,0,"l135c.gif")

zoom(0,400,300)
spMOV(0,0,149)

spINI(1,1,"null.gif")
spMOV(5,1000,150)

spINI(1,1,"null.gif")
spMOV(6,1000,150)

//-->
</SCRIPT>

<SCRIPT LANGUAGE="JavaScript">
<!--
//MY BULLET LAYER
Buloff=spCOUNT
for (ia=0; ia<8; ia++){
with(Math){
ix=floor(pow(1.245,ia+3))
iix=floor(ix/2)
sizeF[ia]=iix
iaT=ia.toString()
}
spINI(-1000,0,"fire1c.gif")
zoom(spCOUNT-1,ix,ix)
}

//-->
</SCRIPT>
<IMG SRC="fire2c.gif" ID="MSL" STYLE="position:absolute; top: -1000; left: 0" width="16" height="16">

<IMG SRC="su27c.gif" ID="Su27" STYLE="position:absolute; top: 100; left: 150" width="100" height="100">

<DIV ID="STA" STYLE="position:absolute; top: 150; left: 170">
<FORM>
<INPUT TYPE="button" VALUE="СТАРТ" ONCLICK="startG()">
</FORM>
</DIV>

<DIV ID="RES" STYLE="position:absolute; top: -1000; left: 170">
<FORM>
<INPUT TYPE="button" VALUE="ПАУЗА" ONCLICK="restart()">
</FORM>
</DIV>

<DIV ID="gameEND" STYLE="position:absolute; top: -2000; left: 110">
<FONT COLOR="#FF0000" STYLE="font-size:30px">ИГРА ЗАКОНЧЕНА</FONT><P>
<FORM><FONT COLOR="#FFFF00" STYLE="font-size:16px">
ВАШ СЧЕТ:<INPUT TYPE="text" VALUE="" SIZE="10">pts
<P><BR><P>
<IMG WIDTH=45 HEIGHT=1 SRC="null.gif">
<INPUT TYPE="button" VALUE="Попытайтесь снова!" ONCLICK="refG()">
</FONT></FORM>
</DIV>

</BODY>
</HTML>

score2.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>SCORE FRAME</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function clk(){
parent.main.focus()
}
document.onmousedown = clk
document.captureEvents(Event.MOUSEDOWN)
function onLD(){
parent.scr.document.forms[0].elements[0].value = "НАЖМИТЕ СТАРТ"
parent.scr.document.forms[0].elements[1].value = 500
parent.scr.document.forms[0].elements[2].value = 10
parent.scr.document.forms[0].elements[3].value = 2000
}

//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#7F7F00" TEXT="#FFFFFF" onclick="clk()" ONLOAD="onLD()">
<BR>
<FONT COLOR="#CCFFCC" SIZE="+2"><I><B>JS Фланкер</B></I><BR></FONT><P><FORM>СЧЕТ:<BR><INPUT TYPE="text" VALUE="НАЖМИТЕ СТАРТ"><PRE></pre>
<P><FONT SIZE="-1">Пулемет: <INPUT TYPE="text" SIZE="6" VALUE="500"><BR>Ракеты: <INPUT TYPE="text" SIZE="6" VALUE="10"><BR>Лимит времени:<INPUT TYPE="text" SIZE="6" VALUE="2000"></FONT></FORM><P></PRE><BR><P>
<CENTER><A HREF="javascript:history.back()" TARGET="_top">ПАУЗА</A></CENTER>
</BODY>
</HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game71

Ваш счет:
Счет компьютера:
Использовано реверсов:
Вы выйграли!
Вы проиграли!
Двигайте мышью вверх-вниз и отбивайте мячик. Как ни странно, но компьютер ошибается иногда... Используйте клавиши для реверса (h-горизонтальный, v-вертикальный). Когда нажимаете кнопку Старт имейте ввиду, что отпускание кнопки мыши вне кнопки Старт приведет к замедленной игре. Вот и все правила. Есть вопросы? Во-он ссылочка...

Featured on "Dynamic Drive"

 ФОНГ

Вот такое странное название...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
//Script Created by Michael Sigle
//Use on your own site with images as long as you keep this script intact
//Featured on Dynamicdrive.com
//For full source code, visit Dynamicdrive.com

window.onerror=new Function("return true")
var dx;
var dy;
var scor = 0;
var dod;
var pscor = 0;
var escor = 0;
var point;
var los;
var reversal = 0;

function startUp()
{
score.scorebox.value = " "
score.box.value= " "
score.reverse.value = " "
}

function initialize()
{
dx = 2;
dy = 2;
los = Math.round(21 * Math.random()) + 1;
point = 0;
hefr = Math.round(200 * Math.random()) + 35;
vred = Math.round(100 * Math.random()) + 100;
ball.style.posTop = hefr;
ball.style.posLeft = vred;

moveBall()
}

function moveBall()
{

var xp = ball.style.posLeft;
var yp = ball.style.posTop;
var sig = paddle.style.posTop;
var gis = paddle.style.posLeft;
var hit = document.elementFromPoint(xp,yp);
var pore = 215
var place = pore - 1;

if (point < 7)
{
if ((yp >= 15) && (yp <= 215))
paddle.style.posTop = yp - 6;
else
paddle.style.posTop = place
}
if (point >= 7)
{
if ((yp >= 15) && (yp <= 215))
paddle.style.posTop = yp + 13;
else
paddle.style.posTop = place
}

if ((yp < 27) || (yp > 258))
dy = dy * -1

if (point >= 15)
paddle.style.posTop = sig

if (xp >= 358){
escor = escor + .5
score.scorebox.value = " " +escor+ " "
gameLose()
return
}

if (xp <= 27)
{
pscor = pscor + .5
score.box.value = " " +pscor+ " "
gameWin()
return
}

if (hit != null)
{
if (hit.id == "paddle"){
dx = dx * -1;
point = point + 1
}
else if (hit.id == "enemy") {
dx = dx * -1;
}
}

ball.style.posTop += dy
ball.style.posLeft += dx

window.setTimeout("moveBall()", 1, "JavaScript");

}

function movePaddle()
{
var ypos = window.event.y;
if ((ypos >= 15) && (ypos <= 230))
enemy.style.posTop = ypos;
}

function gameLose()
{
if (escor >= 15){
goal.style.visibility = "hidden"
lose.style.visibility = "visible"
alert("Извините, Вам придется попытаться снова. Вы проиграли со счетом " +escor+ " : " +pscor+ ".")
history.go(-1)
}
else
return
}

function gameWin()
{
if (pscor >= 15){
goal.style.visibility = "hidden"
win.style.visibility = "visible"
alert("Поздравляем! Вы выиграли!!!. Вы выйграли со счетом " +pscor+ " : " +escor+ ".")
history.go(-1)
}
else
return
}

function reverseIt()
{
if (reversal <= 9)
{
if (window.event.keyCode == 118){
dy = dy * -1
reversal = reversal + 1
score.reverse.value = reversal
}
if (window.event.keyCode == 104){
dx = dx * -1
reversal = reversal + 1
score.reverse.value = reversal
}
}
}

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body bgcolor="#C0C0C0" onLoad="startUp()" onmousemove="movePaddle()" onKeypress="reverseIt()">

<IMG id="ball" SRC="ballduin.gif" STYLE="position: absolute; Top:115; Left:110; Width:16; Height:15;z-index=3;">
<IMG id="border" SRC="table.gif" STYLE="position: absolute; Top:25; Left:25; Width:350; Height:250;z-index=2;">
<IMG id="paddle" SRC="pad.gif" STYLE="position: absolute; Top:30; Left:40; Width:15; Height:60; z-index:3">
<IMG id="enemy" SRC="pad.gif" STYLE="position: absolute; Top:30; Left:340; Width:15; Height:60;z-index:3">
<IMG id="bord" SRC="border1.gif" STYLE="position: absolute; Top:25; Left:20; Width:5; Height:250;z-index:3">
<IMG id="borde" SRC="border1.gif" STYLE="position: absolute; Top:25; Left:375; Width:5; Height:250;z-index:3">
<IMG id="bordit" SRC="border3.gif" STYLE="position: absolute; Top:20; Left:25; Width:350; Height:5;z-index:3">
<IMG id="bordit" SRC="border3.gif" STYLE="position: absolute; Top:275; Left:25; Width:350; Height:5;z-index:3">
<INPUT TYPE="button" VALUE="Старт" onClick="initialize()" onmousedown="initialize()" STYLE="position: absolute; Top:15; Left:400;z-index:3">
<FORM NAME="score">
<INPUT TYPE="text" NAME="box" SIZE="10" STYLE="position: absolute; Top:69; Left:400;z-index:3">
<INPUT TYPE="text" NAME="scorebox" SIZE="10" STYLE="position: absolute; Top:120; Left:400;z-index:3">
<INPUT TYPE="text" NAME="reverse" SIZE="10" STYLE="position: absolute; Top:190; Left:400;z-index:3">
<DIV STYLE="position: absolute; Left:400; Top:50;z-index:5">Ваш счет:</DIV>
<DIV STYLE="position: absolute; Left:400; Top:100;z-index:5">Счет компьютера:</DIV>
<DIV STYLE="position: absolute; Left:400; Top:170;z-index:5">Использовано реверсов:</DIV>
<DIV id="win" STYLE="position: absolute; font-size: 50px; Left:15; Top:290; visibility:hidden;z-index:3">Вы выйграли!</DIV>
<DIV id="lose" STYLE="position: absolute; font-size: 50px; Left:15; Top:290; visibility:hidden;z-index:3">Вы проиграли!</DIV>
<DIV id="goal" STYLE="position: absolute; font-size: 12px; Left:15; Top:290; visibility:visible;z-index:3">
Двигайте мышью вверх-вниз и отбивайте мячик. Как ни странно, но компьютер ошибается иногда... Используйте клавиши для реверса (h-горизонтальный, v-вертикальный).
Когда нажимаете кнопку Старт имейте ввиду, что отпускание кнопки мыши вне кнопки Старт приведет к замедленной игре. Вот и все правила. Есть вопросы? Во-он ссылочка...
<p align="center"><a href="http://dynamicdrive.com">Featured on "Dynamic Drive"</a></DIV>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в игре: phong.zip


Game20

Чтение мыслей
(только MSIE)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Darren Cummings -->
<!-- Web Site:  www.spen500.fsnet.co.uk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var cards = new Array(6);
var play = 0;
var cn = 0;
var ttl = 0;
cards[1] = "  КАРТОЧКА ПЕРВАЯ       \n  1  3  5  7  9 11 13 15 \n 17 19 21 23 25 27 29 31 \n 33 35 37 39 41 43 45 47 \n 49 51 53 55 57 59 61 63";
cards[2] = "  КАРТОЧКА ВТОРАЯ       \n  2  3  6  7 10 11 14 15 \n 18 19 22 23 26 27 30 31 \n 34 35 38 39 42 43 46 47 \n 50 51 54 55 58 59 62 63";
cards[3] = "  КАРТОЧКА ТРЕТЬЯ       \n  4  5  6  7 12 13 14 15 \n 20 21 22 23 28 29 30 31 \n 36 37 38 39 44 45 46 47 \n 52 53 54 55 60 61 62 63";
cards[4] = "  КАРТОЧКА ЧЕТВЕРТАЯ     \n  8  9 10 11 12 13 14 15 \n 24 25 26 27 28 29 30 31 \n 40 41 42 43 44 45 46 47 \n 56 57 58 59 60 61 62 63";
cards[5] = "  КАРТОЧКА ПЯТАЯ        \n 16 17 18 19 20 21 22 23 \n 24 25 26 27 28 29 30 31 \n 48 49 50 51 52 53 54 55 \n 56 57 58 59 60 61 62 63";
cards[6] = "  КАРТОЧКА ШЕСТАЯ       \n 32 33 34 35 36 37 38 39 \n 40 41 42 43 44 45 46 47 \n 48 49 50 51 52 53 54 55 \n 56 57 58 59 60 61 62 63";
var ccol = new Array("","#FF7777","Green","Blue","Gray","Red","black");
var knos = new Array("",1,2,4,8,16,32);
function Nextcard() {
cn++;
if(cn == 7)
End();
else {
document.x.card.value=cards[cn];
document.x.card.style.backgroundColor=ccol[cn];
document.x.text.value="Есть ли на карточке задуманный Вами номер?";
}
}
function Restart() {
play=0;
cn=0;
ttl=0;
document.x.card.style.backgroundColor = "#C0C0C0";
document.x.card.style.color = "#000000";
document.x.card.value = "Задумайте число между 1 и 63. Вам будут показаны шесть карточек. Потом мы назовем задуманное Вами число.";
document.x.text.value = "Нажмите Старт";
document.x.stbt.value = "Старт";
}
function Yes() {
ttl = ttl + knos[cn];
Nextcard();
}
function Start() {
document.x.card.style.color = "White";
document.x.stbt.value = "Рестарт";
play = 1;
Nextcard();
}
function End() {
play = 2;
if(ttl < 10)
ttl = " " + ttl;
ttl = " " + ttl;
var one = ttl.charAt(1);
var two = ttl.charAt(2);
document.x.card.value = "\n  ЧИСЛО, КОТОРОЕ   \n  ВЫ ЗАДУМАЛИ, ЭТО :    \n      -- [ "+one+" "+two+" ] --";
document.x.card.style.color = "lime";
document.x.text.value = "Нажмите Рестарт для новой игры";
}
function click() {      //
      запрет на меню клика правой кнопкой (в
      примере функция отключена)
event.cancelBubble = true;
event.returnValue = false;
}
document.oncontextmenu = click;
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="x">
<center>
<table border="0" style="border: 1 solid #000000">
<tr>
<td>
<center>
<textarea name="card" rows="5" cols="25" style="border: none">Задумайте число между 1 и 63. Вам будут показаны шесть карточек. Потом мы назовем задуманное Вами число.
</textarea>
</center>
</td>
</tr>
<tr>
<td>
<center>
<input type="text" size="47" name="text" value="Нажмите Старт" style="font-size: 8pt; color: darkred; border-style: solid; border-width: 0">
</center>
</td>
</tr>
<tr>
<td>
<center>
<input type="button" value=" Да " onclick="if(play==1) Yes()" style="FONT-SIZE: 8pt">
<input type="button" value="Нет" onclick="if(play==1) Nextcard()" style="FONT-SIZE: 8pt">
<input type="button" name="stbt" value=" Старт " onclick="if(play==0) Start(); else Restart()" style="FONT-SIZE: 8pt">
</center>
</td>
</tr>
</table>
</center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Ecv

Цифровая "Битва"

Компьютер ходит первым?

Вы забираете:
Компьютер забирает: ()

Смысл игры очень прост: перед Вами число (состоящее из двух цифр из двух форм). Вы и компьютер, по очереди, отнимаете от предложенного числа любое число в пределах, указанных в верхней форме. Тот, кому достается сделать последний ход, - проигрывает. Каждая новая игра имеет другое число для уменьшения и другие пределы для вычитаемого числа.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="start()">

<body bgColor="#C0C0C0" OnLoad="start()">
<center>
<h2><font color="#FF0000" size="5"><b>Цифровая &quot;Битва&quot;</b></font></h2>
<form name="form">
<table bgcolor="#808080" border="2"><tr><td>
<textarea rows="4" cols="35" name="info" wrap="physical" style="background-color: #CCCCCC; border-style: solid; border-width: 0">
</textarea><br><b><font color=white>
Компьютер ходит первым? </b><input type="button" value="Да!!!"
OnClick="mygo()"> <input type="button" value="Нет"
OnClick="document.form.yours.focus()"><br><br>
<center>
<textarea rows="6" cols="15" name="ten" wrap="physical" style="background-color: #CCCCCC; border-style: solid; border-width: 0">
</textarea>
<textarea rows="6" cols="15" name="one" wrap="physical" style="background-color: #CCCCCC; border-style: solid; border-width: 0">
</textarea>
</center><p>
<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Вы забираете: <input type="text" name="yours" size="6">&nbsp;
<input
type="button" value="Отнять" OnClick="play()"><br>
Компьютер забирает: (<input type="text" name="mine" size="1" style="background-color: #808080; color: #00FF00; font-family: Arial; font-weight: bold; border-style: solid; border-width: 0;">)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<br><br><input
type="button" value="Новая игра" OnClick="document.location.reload()">
</b></font>
</td></tr></table>
</form>
<hr><p>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game79

Цветовой тетрис-головоломка
Я бы еще добавил: шарико-разбивалка и в-мишень-стрелялка... Но если серьезно, то игрушка замечательная! Нажмите кнопочку "Играть" и убедитесь сами! Если поначалу будет непонятно, то в окне справа будет восклицательный знак - это помощь. Код скопируйте прямо из источника страницы с игрой - там нет никаких вставок или фреймов, так что нет необходимости приводить разные части кода игрушки на этой странице. Здесь находятся необходимые рисунки. Удачи! И получите удовольствие!

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game37

Шашки

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript">
<!--
version = 1.0;
// -->
</script> <script language="JavaScript1.1">
<!--
version = 1.1;
// -->
</script>
<script language="JavaScript">
<!--
if (version==1.0)
document.write("Ваш броузер не поддерживает JavaScript 1.1."
+ "Эта игра работает в Netscape 3+ и MSIE 4+.");
// -->
</script><script language="JavaScript1.1">
<!--

function preload() {
this.length = preload.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = new Image();
this[i].src = preload.arguments[i];
}
}
var pics = new preload("black.gif","gray.gif",
"you1.gif","you2.gif","you1k.gif","you2k.gif",
"me1.gif","me2.gif","me1k.gif","me2k.gif");

var black = -1; // computer is black
var red = 1; // visitor is red
var square_dim = 45; //Размер квадрата
 для шашки
var piece_toggled = false;
var my_turn = false;
var double_jump = false;
var comp_move = false;
var game_is_over = false;
var safe_from = safe_to = null;
var toggler = null;
var togglers = 0;

function Board() {
board = new Array();
for (var i=0;i<8; i++) {
board[i] = new Array();
for (var j=0;j<8;j++)
board[i][j] = Board.arguments[8*j+i];
}
board[-2] = new Array(); // prevents errors
board[-1] = new Array(); // prevents errors
board[8] = new Array(); // prevents errors
board[9] = new Array(); // prevents errors
}
var board;
Board(1,0,1,0,1,0,1,0,
0,1,0,1,0,1,0,1,
1,0,1,0,1,0,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,-1,0,-1,0,-1,0,-1,
-1,0,-1,0,-1,0,-1,0,
0,-1,0,-1,0,-1,0,-1);

function message(str) {
if (!game_is_over)
document.disp.message.value = str;
}
function moveable_space(i,j) {
// calculates whether it is a gray (moveable)
// or black (non-moveable) space
return (((i%2)+j)%2 == 0);
}
function Coord(x,y) {
this.x = x;
this.y = y;
}
function coord(x,y) {
c = new Coord(x,y);
return c;
}

document.write("<table border=0 cellspacing=0 cellpadding=0 width="+(square_dim*8+8)
+"<tr><td><img src='black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr>");
for(var j=0;j<8;j++) {
document.write("<tr><td><img src='black.gif' width=4 height="+square_dim+">");
for(var i=0;i<8;i++) {
if (moveable_space(i,j))
document.write("<a href='javascript:clicked("+i+","+j+")'>");
document.write("<img src='");
if (board[i][j]==1) document.write("you1.gif");
else if (board[i][j]==-1) document.write("me1.gif");
else if (moveable_space(i,j)) document.write("gray.gif");
else document.write("black.gif");
document.write("' width="+square_dim+" height="+square_dim
+" name='space"+i+""+j+"' border=0>");
if (moveable_space(i,j)) document.write("</a>");
}
document.write("<img src='black.gif' width=4 height="+square_dim+"></td></tr>");
}
document.write("<tr><td><img src='black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr></table><br>"
+"<form name='disp'><input type=text readonly style='border-style:solid; border-width:0; font-face:Arial; color:darkred' size=40 name='message' value=''><br><br><input "
+"type=button value=\"Новая игра\" onClick=\"location.href+=''\" style=\"font-family: MS Sans Serif; font-size: 1; color: rgb(255,0,0); font-weight: bold\"></form>");

function clicked(i,j) {
if (my_turn) {
if (integ(board[i][j])==1) toggle(i,j);
else if (piece_toggled) move(selected,coord(i,j));
else message(":)");
} else {
message(":)!");
}
}
function toggle(x,y) {
if (my_turn) {
if (piece_toggled)
draw(selected.x,selected.y,"you1"+((board[selected.x][selected.y]==1.1)?"k":"")+".gif");
if (piece_toggled && (selected.x == x) && (selected.y == y)) {
piece_toggled = false;
if (double_jump) { my_turn = double_jump = false; computer(); }
} else {
piece_toggled = true;
draw(x,y,"you2"+((board[x][y]==1.1)?"k":"")+".gif");
}
selected = coord(x,y);
} else {
if ((piece_toggled) && (integ(board[selected_c.x][selected_c.y])==-1))
draw(selected_c.x,selected_c.y,"me1"+((board[selected_c.x][selected_c.y]==-1.1)?"k":"")+".gif");
if (piece_toggled && (selected_c.x == x) && (selected_c.y == y)) {
piece_toggled = false;
} else {
piece_toggled = true;
draw(x,y,"me2"+((board[x][y]==-1.1)?"k":"")+".gif");
}
selected_c = coord(x,y);
}
}
function draw(x,y,name) {
document.images["space"+x+""+y].src = name;
}
function integ(num) {
if (num != null)
return Math.round(num);
else
return null;
}
function abs(num) {
return Math.abs(num);
}
function sign(num) {
if (num < 0) return -1;
else return 1;
}
function concatenate(arr1,arr2) {
// function tacks the second array onto the end of the first and returns result
for(var i=0;i<arr2.length;i++)
arr1[arr1.length+i] = arr2[i];
return arr1;
}
function legal_move(from,to) {
if ((to.x < 0) || (to.y < 0) || (to.x > 7) || (to.y > 7)) return false;
piece = board[from.x][from.y];
distance = coord(to.x-from.x,to.y-from.y);
if ((distance.x == 0) || (distance.y == 0)) {
message("Шашки двигаются только по диогонали!");
return false;
}
if (abs(distance.x) != abs(distance.y)) {
message("Недопустимое перемещение...");
return false;
}
if (abs(distance.x) > 2) {
message("Недопустимое перемещение...");
return false;
}
if ((abs(distance.x) == 1) && double_jump) {
return false;
}
if ((board[to.x][to.y] != 0) || (piece == 0)) {
return false;
}
if ((abs(distance.x) == 2)
&& (integ(piece) != -integ(board[from.x+sign(distance.x)][from.y+sign(distance.y)]))) {
return false;
}
if ((integ(piece) == piece) && (sign(piece) != sign(distance.y))) {
return false;
}

return true;
}
function move(from,to) {
my_turn = true;
if (legal_move(from,to)) {
piece = board[from.x][from.y];
distance = coord(to.x-from.x,to.y-from.y);
if ((abs(distance.x) == 1) && (board[to.x][to.y] == 0)) {
swap(from,to);
} else if ((abs(distance.x) == 2)
&& (integ(piece) != integ(board[from.x+sign(distance.x)][from.y+sign(distance.y)]))) {
double_jump = false;
swap(from,to);
remove(from.x+sign(distance.x),from.y+sign(distance.y));
if ((legal_move(to,coord(to.x+2,to.y+2)))
|| (legal_move(to,coord(to.x+2,to.y-2)))
|| (legal_move(to,coord(to.x-2,to.y-2)))
|| (legal_move(to,coord(to.x-2,to.y+2)))) {
double_jump = true;
message("You may complete the double jump or click on your piece to stay still.");
}
}
if ((board[to.x][to.y] == 1) && (to.y == 7)) king_me(to.x,to.y);
selected = to;
if (game_over() && !double_jump) {
setTimeout("toggle("+to.x+","+to.y+");my_turn = double_jump = false;computer();",1000);
}
}
return true;
}
function king_me(x,y) {
if (board[x][y] == 1) {
board[x][y] = 1.1; // king you
draw(x,y,"you2k.gif");
} else if (board[x][y] == -1) {
board[x][y] = -1.1; // king me
draw(x,y,"me2k.gif");
}
}

function swap(from,to) {
if (my_turn || comp_move) {
dummy_src = document.images["space"+to.x+""+to.y].src;
document.images["space"+to.x+""+to.y].src = document.images["space"+from.x+""+from.y].src;
document.images["space"+from.x+""+from.y].src = dummy_src;
}
dummy_num = board[from.x][from.y];
board[from.x][from.y] = board[to.x][to.y];
board[to.x][to.y] = dummy_num;
}
function remove(x,y) {
if (my_turn || comp_move)
draw(x,y,"gray.gif");
board[x][y] = 0;
}
function Result(val) {
this.high = val;
this.dir = new Array();
}
function move_comp(from,to) {
toggle(from.x,from.y);
comp_move = true;
swap(from,to);
if (abs(from.x-to.x) == 2) {
remove(from.x+sign(to.x-from.x),from.y+sign(to.y-from.y));
}
if ((board[to.x][to.y] == -1) && (to.y == 0)) king_me(to.x,to.y);
setTimeout("selected_c = coord("+to.x+","+to.y+");piece_toggled = true;",900);
setTimeout("bak=my_turn;my_turn=false;toggle("+to.x+","+to.y+");my_turn=bak;",1000);
if (game_over()) {
setTimeout("comp_move = false;my_turn = true;togglers=0;",600);
message(":)");
}
return true;
}
function game_over() { // make sure game is not over (return false if game is over)
comp = you = false;
for(var i=0;i<8;i++) {
for(var j=0;j<8;j++) {
if(integ(board[i][j]) == -1) comp = true;
if(integ(board[i][j]) == 1) you = true;
}
}
if (!comp) message("Вы у меня выигрываете!");
if (!you) message("Вы проиграли!");
game_is_over = (!comp || !you)
return (!game_is_over);
}

// the higher the jump_priority, the more often the computer will take the jump over the safe move
var jump_priority = 10;

function computer() {
// step one - prevent any jumps
for(var j=0;j<8;j++) {
for(var i=0;i<8;i++) {
if (integ(board[i][j]) == 1) {
if ((legal_move(coord(i,j),coord(i+2,j+2))) && (prevent(coord(i+2,j+2),coord(i+1,j+1)))) {
return true;
} if ((legal_move(coord(i,j),coord(i-2,j+2))) && (prevent(coord(i-2,j+2),coord(i-1,j+1)))) {
return true;
}
} if (board[i][j] == 1.1) {
if ((legal_move(coord(i,j),coord(i-2,j-2))) && (prevent(coord(i-2,j-2),coord(i-1,j-1)))) {
return true;
} if ((legal_move(coord(i,j),coord(i+2,j-2))) && (prevent(coord(i+2,j-2),coord(i+1,j-1)))) {
return true;
}
}
}
}
// step two - if step one not taken, look for jumps
for(var j=7;j>=0;j--) {
for(var i=0;i<8;i++) {
if (jump(i,j))
return true;
}
}
safe_from = null;
// step three - if step two not taken, look for safe single space moves
for(var j=0;j<8;j++) {
for(var i=0;i<8;i++) {
if (single(i,j))
return true;
}
}
// if no safe moves, just take whatever you can get
if (safe_from != null) {
move_comp(safe_from,safe_to);
} else {
message("Вы выграли ! Хотите еще раз ?");
game_is_over = true;
}
safe_from = safe_to = null;
return false;
}
function jump(i,j) {
if (board[i][j] == -1.1) {
if (legal_move(coord(i,j),coord(i+2,j+2))) {
move_comp(coord(i,j),coord(i+2,j+2));
setTimeout("jump("+(i+2)+","+(j+2)+");",500);
return true;
} if (legal_move(coord(i,j),coord(i-2,j+2))) {
move_comp(coord(i,j),coord(i-2,j+2));
setTimeout("jump("+(i-2)+","+(j+2)+");",500);
return true;
}
} if (integ(board[i][j]) == -1) {
if (legal_move(coord(i,j),coord(i-2,j-2))) {
move_comp(coord(i,j),coord(i-2,j-2));
setTimeout("jump("+(i-2)+","+(j-2)+");",500);
return true;
} if (legal_move(coord(i,j),coord(i+2,j-2))) {
move_comp(coord(i,j),coord(i+2,j-2));
setTimeout("jump("+(i+2)+","+(j-2)+");",500);
return true;
}
}
return false;
}
function single(i,j) {
if (board[i][j] == -1.1) {
if (legal_move(coord(i,j),coord(i+1,j+1))) {
safe_from = coord(i,j);
safe_to = coord(i+1,j+1);
if (wise(coord(i,j),coord(i+1,j+1))) {
move_comp(coord(i,j),coord(i+1,j+1));
return true;
}
} if (legal_move(coord(i,j),coord(i-1,j+1))) {
safe_from = coord(i,j);
safe_to = coord(i-1,j+1);
if (wise(coord(i,j),coord(i-1,j+1))) {
move_comp(coord(i,j),coord(i-1,j+1));
return true;
}
}
} if (integ(board[i][j]) == -1) {
if (legal_move(coord(i,j),coord(i+1,j-1))) {
safe_from = coord(i,j);
safe_to = coord(i+1,j-1);
if (wise(coord(i,j),coord(i+1,j-1))) {
move_comp(coord(i,j),coord(i+1,j-1));
return true;
}
} if (legal_move(coord(i,j),coord(i-1,j-1))) {
safe_from = coord(i,j);
safe_to = coord(i-1,j-1);
if (wise(coord(i,j),coord(i-1,j-1))) {
move_comp(coord(i,j),coord(i-1,j-1));
return true;
}
}
}
return false;
}
function possibilities(x,y) {
if (!jump(x,y))
if (!single(x,y))
return true;
else
return false;
else
return false;
}
function prevent(end,s) {
i = end.x;
j = end.y;
if (!possibilities(s.x,s.y))
return true;
else if ((integ(board[i-1][j+1])==-1) && (legal_move(coord(i-1,j+1),coord(i,j)))) {
return move_comp(coord(i-1,j+1),coord(i,j));
} else if ((integ(board[i+1][j+1])==-1) && (legal_move(coord(i+1,j+1),coord(i,j)))) {
return move_comp(coord(i+1,j+1),coord(i,j));
} else if ((board[i-1][j-1]==-1.1) && (legal_move(coord(i-1,j-1),coord(i,j)))) {
return move_comp(coord(i-1,j-1),coord(i,j));
} else if ((board[i+1][j-1]==-1.1) && (legal_move(coord(i+1,j-1),coord(i,j)))) {
return move_comp(coord(i+1,j-1),coord(i,j));
} else {
return false;
}
}
function wise(from,to) {
i = to.x;
j = to.y;
n = (j>0);
s = (j<7);
e = (i<7);
w = (i>0);
if (n&&e) ne = board[i+1][j-1]; else ne = null;
if (n&&w) nw = board[i-1][j-1]; else nw = null;
if (s&&e) se = board[i+1][j+1]; else se = null;
if (s&&w) sw = board[i-1][j+1]; else sw = null;
eval(((j-from.y != 1)?"s":"n")+((i-from.x != 1)?"e":"w")+"=0;");
if ((sw==0) && (integ(ne)==1)) return false;
if ((se==0) && (integ(nw)==1)) return false;
if ((nw==0) && (se==1.1)) return false;
if ((ne==0) && (sw==1.1)) return false;
return true;
}

message("Начинайте игру ! Вы играете красными...");
my_turn = true;

var ie4 = (document.all) ? true : false;
var nn4 = (document.layers) ? true : false;

// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: shashki.zip


Game56

ШАШКИ "Дротс"
Правила обычные. Особенности: первой следует вводить вертикальную координату, затем горизонтальную. Если Вы нажмете "Сделать ход!" не вводя координат, Вы попросту "подарите" этот ход компьютеру. That's that.

Ход компьютера : С На
Ваш ход: С На

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
function restart() {
xn = "x "; xq = "X "; on = "o "; oq = "O "; bl = ". ";
board = new Array(1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,
1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,
1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1,
1,0,1,0,0,0,-1,0,0,1,0,0,0,-1,0,-1);
again = 0;
print(); clearAll(); document.f.myfrom.value = "";
document.f.myto.value = "";
}

function print() {
txt = "\r\n";
for(var j = 7; j >= 0; j--) {
txt = txt + " " + "abcdefgh".charAt(j) + " | ";
for(var i = 0; i < 8; i++) {
p = board[(i*8) + j];
if(p=="0") txt = txt + bl;
if(p=="1") txt = txt + xn;
if(p=="2") txt = txt + xq;
if(p=="-1") txt = txt + on;
if(p=="-2") txt = txt + oq;
}
txt = txt + "\r\n";
}
txt = txt + " --|----------------\r\n   | 0 1 2 3 4 5 6 7";
document.f.board.value = txt;
}

function yourgo() {
input();
print();
if(!again) {
mygo();
print();
}
}

function input() {
from = document.f.yourfrom.value.toLowerCase();
to = document.f.yourto.value.toLowerCase();
if((to == "") && (again)) {
again = 0;
return;
}
if((from != "") || (to != "")) {
e = from.substring(1,2);
a = to.substring(1,2);
h = "abcdefgh".indexOf(from.substring(0,1));
b = "abcdefgh".indexOf(to.substring(0,1));
if((a > "7") || (e > "7")) {
error("Вертикальная коородината должна
      быть введена первой. Например: 'c2'");
return;
}
if((e<0)||(h<0)||(a<0)||(b<0)||(h>7)||(b>7)||
(board[(a*8)+b] != "0")||(h==b)||(e==a)){
error("Запрещенный ход!");
return;
}
if((b<=h) && (board[(e*8)+h] != "2")) {
error("Запрещенный ход!");
return;
}
board[(a*8)+b] = board[(e*8)+h]; board[(e*8)+h] = "0";
again = 0;
if(Math.abs(e-a) == 2) jump();
if(b==7) board[(a*8)+b] = "2";
}
}

function jump() {
again = 1;
with (Math) {
e = floor(e); a = floor(a); h = floor(h); b = floor(b);
x1 = abs((e+a)/2) ; y1 = abs((h+b)/2);
}
board[(x1*8)+y1] = "0";
document.f.yourfrom.value = to;
document.f.yourto.value = "";
document.f.yourto.focus();
}

function mygo() {
for(x = 0; x <= 7; x++) {
for(y = 0; y <= 7; y++) {
if(board[(x*8)+y] == "-1") firstmove(-1);
if(board[(x*8)+y] == "-2") firstmove(1);
}
}
document.f.myfrom.value = "abcdefgh".charAt(r2)+r1;
document.f.myto.value = "abcdefgh".charAt(r4)+r3;
clearAll();
if(r4 == 0) {
board[(r3*8)+r4] = "-2";
}
else {
board[(r3*8)+r4] = board[(r1*8)+r2];
}
board[(r1*8)+r2] = "0";
with (Math) {
r1 = floor(r1); r2 = floor(r2); r3 = floor(r3); r4 = floor(r4);
x1 = abs((r1+r3)/2); y1 = abs((r2+r4)/2);
if(abs(r1-r3) == 2) {
board[(x1*8)+y1] = "0";
x = r3; y = r4;
}
}
}

function firstmove(lim) {
for(a = -1; a <= 1; a=a+2) {
for(b = -1; b <= lim; b=b+2) {
checkmove();
}
}
}

function checkmove() {
u = Math.floor(x+a); v = Math.floor(y+b);
if((u>7)||(u<0)||(v>7)||(v<0)) return;
if(board[(u*8)+v] == "0") {
update();
return;
}
if(board[(u*8)+v] < "0") return;
u = Math.floor(u+a); v = Math.floor(v+b);
if((u>7)||(u<0)||(v>7)||(v<0)) return;
if(board[(u*8)+v] == "0") update();
}

function update() {
r1 = x; r2 = y; r3 = u; r4 = v;
}

function clearAll() {
document.f.yourfrom.value = "";
document.f.yourto.value = "";
document.f.yourfrom.focus();
}

function error(msg) {
alert(msg);
clearAll(); again = 1;
}
//--->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="restart()">

<table width="312" cellpadding="10" border="3" bgcolor="#808080">
<tr><td align="center" width="280">
<form name="f">
</font>
<font size="3" color="#FFFFFF">
<b>
<textarea name="board" rows="11" cols="23" wrap="virtual">
</textarea></b>
</font>
</td></tr><tr><td align="left" width="280">
<font face=helvetica size="2" color="#FFFFFF">
<b>
Ход компьютера : С <input type="text" size ="2" name="myfrom" readonly style="background-color: #808080; font-family: Helvetica; font-size: 12pt; color: #00FF00; font-weight: bold; border-style: solid; border-width: 0"> На <input
type="text" size="2" name="myto" readonly style="background-color: #808080; font-family: Helvetica; font-size: 12pt; color: #00FF00; font-weight: bold; border-style: solid; border-width: 0"><br>
Ваш ход: С <input type="text" size="4" name="yourfrom"> На <input
type="text" size="4" name="yourto"> &nbsp;<input type="button"
value="Сделать ход!" style="width: 75; font-family: Helvetica; font-size: 8pt" OnClick="yourgo()"><br><br><hr><br>
<input type="button" value="Новая игра" OnClick="restart()">
</b>
</font>
</td>
</tr></table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game44

Юный сантехник

Юный сантехник
труба
~~~
разряд
~~~
Copyright (c) CADABER, Jul 2000

Если Вам понравилась игрушка, скопируйте код из источника.
Страница оптимизирована, поэтому копируйте код целиком!
Рисунки, использованные в примере Images.zip


Calendar2

Календарь Pop-up
Кликните по стрелочке и появится календарь. Выберите в нем нужную дату и кликните по ней - дата автоматически пропишется в форме на этой странице.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!-- Oригинал:  Kedar R. Bhave (softricks@hotmail.com) -->
<!-- WWW:  http://www.softricks.com -->

var weekend = [0,6];
var weekendColor = "#e0e0e0";
var fontface = "Verdana";
var fontsize = 2;

var gNow = new Date();
var ggWinCal;
isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;

Calendar.Months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];

// Non-Leap year Month days..
Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
// Leap year Month days..
Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {
if ((p_month == null) && (p_year == null))	return;

if (p_WinCal == null)
this.gWinCal = ggWinCal;
else
this.gWinCal = p_WinCal;

if (p_month == null) {
this.gMonthName = null;
this.gMonth = null;
this.gYearly = true;
} else {
this.gMonthName = Calendar.get_month(p_month);
this.gMonth = new Number(p_month);
this.gYearly = false;
}

this.gYear = p_year;
this.gFormat = p_format;
this.gBGColor = "#CCCCCC";
this.gFGColor = "black";
this.gTextColor = "black";
this.gHeaderColor = "black";
this.gReturnItem = p_item;
}

Calendar.get_month = Calendar_get_month;
Calendar.get_daysofmonth = Calendar_get_daysofmonth;
Calendar.calc_month_year = Calendar_calc_month_year;
Calendar.print = Calendar_print;

function Calendar_get_month(monthNo) {
return Calendar.Months[monthNo];
}

function Calendar_get_daysofmonth(monthNo, p_year) {
/*
Check for leap year ..
1.Years evenly divisible by four are normally leap years, except for...
2.Years also evenly divisible by 100 are not leap years, except for...
3.Years also evenly divisible by 400 are leap years.
*/
if ((p_year % 4) == 0) {
if ((p_year % 100) == 0 && (p_year % 400) != 0)
return Calendar.DOMonth[monthNo];

return Calendar.lDOMonth[monthNo];
} else
return Calendar.DOMonth[monthNo];
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
/*
Will return an 1-D array with 1st element being the calculated month
and second being the calculated year
after applying the month increment/decrement as specified by 'incr' parameter.
'incr' will normally have 1/-1 to navigate thru the months.
*/
var ret_arr = new Array();

if (incr == -1) {
// B A C K W A R D
if (p_Month == 0) {
ret_arr[0] = 11;
ret_arr[1] = parseInt(p_Year) - 1;
}
else {
ret_arr[0] = parseInt(p_Month) - 1;
ret_arr[1] = parseInt(p_Year);
}
} else if (incr == 1) {
// F O R W A R D
if (p_Month == 11) {
ret_arr[0] = 0;
ret_arr[1] = parseInt(p_Year) + 1;
}
else {
ret_arr[0] = parseInt(p_Month) + 1;
ret_arr[1] = parseInt(p_Year);
}
}

return ret_arr;
}

function Calendar_print() {
ggWinCal.print();
}

function Calendar_calc_month_year(p_Month, p_Year, incr) {
/*
Will return an 1-D array with 1st element being the calculated month
and second being the calculated year
after applying the month increment/decrement as specified by 'incr' parameter.
'incr' will normally have 1/-1 to navigate thru the months.
*/
var ret_arr = new Array();

if (incr == -1) {
// B A C K W A R D
if (p_Month == 0) {
ret_arr[0] = 11;
ret_arr[1] = parseInt(p_Year) - 1;
}
else {
ret_arr[0] = parseInt(p_Month) - 1;
ret_arr[1] = parseInt(p_Year);
}
} else if (incr == 1) {
// F O R W A R D
if (p_Month == 11) {
ret_arr[0] = 0;
ret_arr[1] = parseInt(p_Year) + 1;
}
else {
ret_arr[0] = parseInt(p_Month) + 1;
ret_arr[1] = parseInt(p_Year);
}
}

return ret_arr;
}

// This is for compatibility with Navigator 3, we have to create and discard one object before the prototype object exists.
new Calendar();

Calendar.prototype.getMonthlyCalendarCode = function() {
var vCode = "";
var vHeader_Code = "";
var vData_Code = "";

// Begin Table Drawing code here..
vCode = vCode + "<TABLE BORDER=1 BGCOLOR=\"" + this.gBGColor + "\">";

vHeader_Code = this.cal_header();
vData_Code = this.cal_data();
vCode = vCode + vHeader_Code + vData_Code;

vCode = vCode + "</TABLE>";

return vCode;
}

Calendar.prototype.show = function() {
var vCode = "";

this.gWinCal.document.open();

// Setup the page...
this.wwrite("<html>");
this.wwrite("<head><title>Календарь</title>");
this.wwrite("<meta http-equiv=\"Content-Type\" content=\"text/html\; charset=windows-1251\">");
this.wwrite("</head>");

this.wwrite("<body bgcolor=\"#C0C0C0\" " +
"link=\"" + this.gLinkColor + "\" " +
"vlink=\"" + this.gLinkColor + "\" " +
"alink=\"" + this.gLinkColor + "\" " +
"text=\"" + this.gTextColor + "\">");
this.wwriteA("<FONT FACE='" + fontface + "' SIZE=2><B>");
this.wwriteA(this.gMonthName + " " + this.gYear);
this.wwriteA("</B><BR>");

// Show navigation buttons
var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);
var prevMM = prevMMYYYY[0];
var prevYYYY = prevMMYYYY[1];

var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);
var nextMM = nextMMYYYY[0];
var nextYYYY = nextMMYYYY[1];

this.wwrite("<TABLE ALIGN=CENTER WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +
");" +
"\"><<<\/A>]</TD><TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this. gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +
");" +
"\"><<\/A>]</TD><TD ALIGN=center>");
this.wwrite("[<A HREF=\"javascript:window.print();\">Печать</A>]</TD>
      <TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this. gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +
");" +
"\">><\/A>]</TD><TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +
");" +
"\">>><\/A>]</TD></TR></TABLE><BR>");

// Get the complete calendar code for the month..
vCode = this.getMonthlyCalendarCode();
this.wwrite(vCode);

this.wwrite("</font></body></html>");
this.gWinCal.document.close();
}

Calendar.prototype.showY = function() {
var vCode = "";
var i;
var vr, vc, vx, vy;		// Row, Column, X-coord, Y-coord
var vxf = 285;			// X-Factor
var vyf = 200;			// Y-Factor
var vxm = 10;			// X-margin
var vym;				// Y-margin
if (isIE)	vym = 75;
else if (isNav)	vym = 25;

this.gWinCal.document.open();

this.wwrite("<html>");
this.wwrite("<head><title>Calendar</title>");
this.wwrite("<style type='text/css'>\n<!--");
for (i=0; i<12; i++) {
vc = i % 3;
if (i>=0 && i<= 2)	vr = 0;
if (i>=3 && i<= 5)	vr = 1;
if (i>=6 && i<= 8)	vr = 2;
if (i>=9 && i<= 11)	vr = 3;

vx = parseInt(vxf * vc) + vxm;
vy = parseInt(vyf * vr) + vym;

this.wwrite(".lclass" + i + " {position:absolute;top:" + vy + ";left:" + vx + ";}");
}
this.wwrite("-->\n</style>");
this.wwrite("</head>");

this.wwrite("<body " +
"link=\"" + this.gLinkColor + "\" " +
"vlink=\"" + this.gLinkColor + "\" " +
"alink=\"" + this.gLinkColor + "\" " +
"text=\"" + this.gTextColor + "\">");
this.wwrite ("<FONT FACE='" + fontface + "' SIZE=2><B>");
this.wwrite("Year : " + this.gYear);
this.wwrite("</B><BR>");

// Show navigation buttons
var prevYYYY = parseInt(this.gYear) - 1;
var nextYYYY = parseInt(this.gYear) + 1;

this.wwrite("<TABLE WIDTH='100%' BORDER=1 CELLSPACING=0 CELLPADDING=0 BGCOLOR='#e0e0e0'><TR><TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this.gReturnItem + "', null, '" + prevYYYY + "', '" + this.gFormat + "'" +
");" +
"\" alt='Prev Year'><<<\/A>]</TD><TD ALIGN=center>");
this.wwrite("[<A HREF= \"javascript:window.print();\">Печать</A>]</TD><TD ALIGN=center>");
this.wwrite("[<A HREF=\"" +
"javascript:window.opener.Build(" +
"'" + this.gReturnItem + "', null, '" + nextYYYY + "', '" + this.gFormat + "'" +
");" +
"\">>><\/A>]</TD></TR></TABLE><BR>");

// Get the complete calendar code for each month..
var j;
for (i=11; i>=0; i--) {
if (isIE)
this.wwrite("<DIV ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");
else if (isNav)
this. wwrite("<LAYER ID=\"layer" + i + "\" CLASS=\"lclass" + i + "\">");

this.gMonth = i;
this.gMonthName = Calendar.get_month(this.gMonth);
vCode = this.getMonthlyCalendarCode();
this.wwrite(this.gMonthName + "/" + this.gYear + "<BR>");
this.wwrite(vCode);

if (isIE)
this.wwrite("</DIV>");
else if (isNav)
this.wwrite("</LAYER>");
}

this.wwrite("</font><BR></body></html>");
this.gWinCal.document.close();
}

Calendar.prototype.wwrite = function(wtext) {
this.gWinCal.document.writeln(wtext);
}

Calendar.prototype.wwriteA = function(wtext) {
this.gWinCal.document.write(wtext);
}

Calendar.prototype.cal_header = function() {
var vCode = "";

vCode = vCode + "<TR>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Вс</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Пн</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Вт</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Ср</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Чт</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Пт</B></FONT></TD>";
vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='" + this.gHeaderColor + "'><B>Сб</B></FONT></TD>";
vCode = vCode + "</TR>";

return vCode;
}

Calendar.prototype.cal_data = function() {
var vDate = new Date();
vDate.setDate(1);
vDate.setMonth(this.gMonth);
vDate.setFullYear(this.gYear);

var vFirstDay=vDate.getDay();
var vDay=1;
var vLastDay= Calendar.get_daysofmonth(this.gMonth, this.gYear);
var vOnLastDay=0;
var vCode = "";

/*
Get day for the 1st of the requested month/year..
Place as many blank cells before the 1st day of the month as necessary.
*/

vCode = vCode + "<TR>";
for (i=0; i<vFirstDay; i++) {
vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + ">
      <FONT SIZE='2' FACE='" + fontface + "'> </FONT></TD>";
}

// Write rest of the 1st week
for (j=vFirstDay; j<7; j++) {
vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
"<A HREF='#' " +
"onClick= \"self.opener.document." + this.gReturnItem + ".value='" +
this.format_data(vDay) +
"';window.close();\">" +
this.format_day(vDay) +
"</A>" +
"</FONT></TD>";
vDay=vDay + 1;
}
vCode = vCode + "</TR>";

// Write the rest of the weeks
for (k=2; k<7; k++) {
vCode = vCode + "<TR>";

for (j=0; j<7; j++) {
vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" +
"<A HREF='#' " +
"onClick=\"self.opener.document." + this.gReturnItem + ".value='" +
this.format_data(vDay) +
"';window.close();\">" +
this.format_day(vDay) +
"</A>" +
"</FONT></TD>";
vDay=vDay + 1;

if (vDay > vLastDay) {
vOnLastDay = 1;
break;
}
}

if (j == 6)
vCode = vCode + "</TR>";
if (vOnLastDay == 1)
break;
}

// Fill up the rest of last week with proper blanks, so that we get proper square blocks
for (m=1; m<(7-j); m++) {
if (this.gYearly)
vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
"> <FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'> </FONT></TD>";
else
vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) +
"><FONT SIZE='2' FACE='" + fontface + "' COLOR='gray'>" + m + "</FONT></TD>";
}

return vCode;
}

Calendar.prototype.format_day = function(vday) {
var vNowDay = gNow.getDate();
var vNowMonth = gNow.getMonth();
var vNowYear = gNow.getFullYear();

if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)
return ("<FONT COLOR=\"RED\"><B>" + vday + "</B></FONT>");
else
return (vday);
}

Calendar.prototype.write_weekend_string = function(vday) {
var i;

// Return special formatting for the weekend day.
for (i=0; i<weekend.length; i++) {
if (vday == weekend[i])
return (" BGCOLOR=\"" + weekendColor + "\"");
}

return "";
}

Calendar.prototype.format_data = function(p_day) {
var vData;
var vMonth = 1 + this.gMonth;
vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;
var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();
var vFMon = Calendar.get_month(this.gMonth).toUpperCase();
var vY4 = new String(this.gYear);
var vY2 = new String(this.gYear.substr(2,2));
var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;

switch (this.gFormat) {
case "MM\/DD\/YYYY" :
vData = vMonth + "\/" + vDD + "\/" + vY4;
break;
case "MM\/DD\/YY" :
vData = vMonth + "\/" + vDD + "\/" + vY2;
break;
case "MM-DD-YYYY" :
vData = vMonth + "-" + vDD + "-" + vY4;
break;
case "MM-DD-YY" :
vData = vMonth + "-" + vDD + "-" + vY2;
break;

case "DD\/MON\/YYYY" :
vData = vDD + "\/" + vMon + "\/" + vY4;
break;
case "DD\/MON\/YY" :
vData = vDD + "\/" + vMon + "\/" + vY2;
break;
case "DD-MON-YYYY" :
vData = vDD + "-" + vMon + "-" + vY4;
break;
case "DD-MON-YY" :
vData = vDD + "-" + vMon + "-" + vY2;
break;

case "DD\/MONTH\/YYYY" :
vData = vDD + "\/" + vFMon + "\/" + vY4;
break;
case "DD\/MONTH\/YY" :
vData = vDD + "\/" + vFMon + "\/" + vY2;
break;
case "DD-MONTH-YYYY" :
vData = vDD + "-" + vFMon + "-" + vY4;
break;
case "DD-MONTH-YY" :
vData = vDD + "-" + vFMon + "-" + vY2;
break;

case "DD\/MM\/YYYY" :
vData = vDD + "\/" + vMonth + "\/" + vY4;
break;
case "DD\/MM\/YY" :
vData = vDD + "\/" + vMonth + "\/" + vY2;
break;
case "DD-MM-YYYY" :
vData = vDD + "-" + vMonth + "-" + vY4;
break;
case "DD-MM-YY" :
vData = vDD + "-" + vMonth + "-" + vY2;
break;

default :
vData = vMonth + "\/" + vDD + "\/" + vY4;
}

return vData;
}

function Build(p_item, p_month, p_year, p_format) {
var p_WinCal = ggWinCal;
gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);

// Customize your Calendar here..
gCal.gBGColor="white";
gCal.gLinkColor="black";
gCal.gTextColor="black";
gCal.gHeaderColor="darkgreen";

// Choose appropriate show function
if (gCal.gYearly)	gCal.showY();
else	gCal.show();
}

function show_calendar() {
/*
p_month : 0-11 for Jan-Dec; 12 for All Months.
p_year	: 4-digit year
p_format: Date format (mm/dd/yyyy, dd/mm/yy, ...)
p_item	: Return Item.
*/

p_item = arguments[0];
if (arguments[1] == null)
p_month = new String(gNow.getMonth());
else
p_month = arguments[1];
if (arguments[2] == "" || arguments[2] == null)
p_year = new String(gNow.getFullYear().toString());
else
p_year = arguments[2];
if (arguments[3] == null)
p_format = "MM/DD/YYYY";
else
p_format = arguments[3];

vWinCal = window.open("", "Calendar",
"width=250,height=250, status=no,resizable=no,top=200,left=200");
vWinCal.opener = self;
ggWinCal = vWinCal;

Build(p_item, p_month, p_year, p_format);
}
/*
Yearly Calendar Code Starts here
*/
function show_yearly_calendar(p_item, p_year, p_format) {
// Load the defaults..
if (p_year == null || p_year == "")
p_year = new String(gNow.getFullYear().toString());
if (p_format == null || p_format == "")
p_format = "MM/DD/YYYY";

var vWinCal = window.open("", "Calendar", "scrollbars=yes");
vWinCal.opener = self;
ggWinCal = vWinCal;

Build(p_item, null, p_year, p_format);
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=calform>
<input type=text name="datebox" size=15 style="background-color: white"><a href="javascript:show_calendar('calform.datebox');" onmouseover="window.status='Date Picker';return true;" onmouseout="window.status='';return true;"><img src="sel1.gif" border=0 width="10" height="10"></a>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar7

Календарь
(в форме)

Выберите месяц и год
(впишите год и нажмите кнопку "Сделать!")

Можно использовать прокрутку

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Original: Rob Patrick (rpatrick@mit.edu) -->
<!-- Begin
function setToday() {
var now = new Date();
var day = now.getDate();
var month = now.getMonth();
var year = now.getYear();
if (year < 2000) // Y2K Fix, Isaac Powell
year = year + 1900; // http://onyx.idbsu.edu/~ipowell
this.focusDay = day;
document.calControl.month.selectedIndex = month;
document.calControl.year.value = year;
displayCalendar(month, year);
}
function isFourDigitYear(year) {
if (year.length != 4) {
alert ("В году должно быть четыре цифры.");
document.calControl.year.select();
document.calControl.year.focus();
} else { return true; }
}
function selectDate() {
var year = document.calControl.year.value;
if (isFourDigitYear(year)) {
var day = 0;
var month = document.calControl.month.selectedIndex;
displayCalendar(month, year);
}
}

function setPreviousYear() {
var year = document.calControl.year.value;
if (isFourDigitYear(year)) {
var day = 0;
var month = document.calControl.month.selectedIndex;
year--;
document.calControl.year.value = year;
displayCalendar(month, year);
}
}
function setPreviousMonth() {
var year = document.calControl.year.value;
if (isFourDigitYear(year)) {
var day = 0;
var month = document.calControl.month.selectedIndex;
if (month == 0) {
month = 11;
if (year > 1000) {
year--;
document.calControl.year.value = year;
}
} else { month--; }
document.calControl.month.selectedIndex = month;
displayCalendar(month, year);
}
}
function setNextMonth() {
var year = document.calControl.year.value;
if (isFourDigitYear(year)) {
var day = 0;
var month = document.calControl.month.selectedIndex;
if (month == 11) {
month = 0;
year++;
document.calControl.year.value = year;
} else { month++; }
document.calControl.month.selectedIndex = month;
displayCalendar(month, year);
}
}
function setNextYear() {
var year = document.calControl.year.value;
if (isFourDigitYear(year)) {
var day = 0;
var month = document.calControl.month.selectedIndex;
year++;
document.calControl.year.value = year;
displayCalendar(month, year);
}
}
function displayCalendar(month, year) {
month = parseInt(month);
year = parseInt(year);
var i = 0;
var days = getDaysInMonth(month+1,year);
var firstOfMonth = new Date (year, month, 1);
var startingPos = firstOfMonth.getDay();
days += startingPos;
document.calButtons.calPage.value = " Вс Пн Вт Ср Чт Пт Сб";
document.calButtons.calPage.value += "\n --------------------";
for (i = 0; i < startingPos; i++) {
if ( i%7 == 0 ) document.calButtons.calPage.value += "\n ";
document.calButtons.calPage.value += " ";
}
for (i = startingPos; i < days; i++) {
if ( i%7 == 0 ) document.calButtons.calPage.value += "\n ";
if (i-startingPos+1 < 10)
document.calButtons.calPage.value += "0";
document.calButtons.calPage.value += i-startingPos+1;
document.calButtons.calPage.value += " ";
}
for (i=days; i<42; i++) {
if ( i%7 == 0 ) document.calButtons.calPage.value += "\n ";
document.calButtons.calPage.value += " ";
}
document.calControl.Go.focus();
}
function getDaysInMonth(month,year) {
var days;
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) days=31;
else if (month==4 || month==6 || month==9 || month==11) days=30;
else if (month==2) {
if (isLeapYear(year)) { days=29; }
else { days=28; }
}
return (days);
}
function isLeapYear (Year) {
if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
return (true);
} else { return (false); }
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="setToday()">

<CENTER>
<H2>Выберите месяц и год<br>
<tt><font size=2>(впишите год и нажмите кнопку "Сделать!")</font></tt>
</H2>
<FORM NAME="calControl" onSubmit="return false;">
<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
<TR><TD COLSPAN=7>
<CENTER>
<SELECT NAME="month" onChange="selectDate()">
<OPTION>Январь
<OPTION>Февраль
<OPTION>Март
<OPTION>Апрель
<OPTION>Май
<OPTION>Июнь
<OPTION>Июль
<OPTION>Август
<OPTION>Сентябрь
<OPTION>Октябрь
<OPTION>Ноябрь
<OPTION>Декабрь
</SELECT>
<INPUT NAME="year" TYPE=TEXT SIZE=4 MAXLENGTH=4>
<INPUT TYPE="button" NAME="Go" value="Сделать!" onClick="selectDate()">
</CENTER>
</TD>
</TR>
</FORM>
<FORM NAME="calButtons">
<TR><TD align="center"><textarea FONT="Courier" NAME="calPage" WRAP=no ROWS=8 COLS=25></textarea></TD><TR><TD><CENTER>
<INPUT TYPE=BUTTON NAME="previousYear" VALUE=" << " onClick="setPreviousYear()">
<INPUT TYPE=BUTTON NAME="previousYear" VALUE=" < " onClick="setPreviousMonth()">
<INPUT TYPE=BUTTON NAME="previousYear" VALUE="Сегодня" onClick="setToday()">
<INPUT TYPE=BUTTON NAME="previousYear" VALUE=" > " onClick="setNextMonth()">
<INPUT TYPE=BUTTON NAME="previousYear" VALUE=" >> " onClick="setNextYear()">
</CENTER></TD></TR>
</TABLE><BR><tt>
Можно использовать прокрутку</tt></FORM></FONT>
<p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar12

Вечный календарь с выделенными субботами и воскресеньями
Когда приходится адаптировать буржуйские скрипты для нашей пролетарской аудитории - это нормально. Но когда отечественные... Вот, некий Константинтин Кузнецов посчитал отечественных вебмастеров быдлом...

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="setCurrentMonth()">

<script language="JavaScript">
var ie=document.all
var ns6=document.getElementById&&!document.all
var n=document.layers

if (ie||ns6) {fShow="visible";fHide="hidden";}
if (n) {fShow="show"; fHide="hide";}

var MonthNames = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь");
var nCurrentYear = 0;
var nCurrentMonth = 0;

var nWidth = 30;
var nHeight = 20;

var leftX;
var rightX
var topY;
var bottomY;

function Calendar()
{

var HTMLstr = "";

HTMLstr += "<table bgcolor=cccccc width='250px' cellspacing='0' cellpadding='0' border='2'>\n";
HTMLstr += "<tr><td bgcolor='darkblue'>\n";
HTMLstr += "\n";
HTMLstr += "<table border='0' cols='3' width='100%'>\n";
HTMLstr += "<tr>\n";
HTMLstr += "<td><b><font color='white'>Год:</font></b></td>\n";
HTMLstr += "\n";
if (n)
{
HTMLstr += "<td align='right' width='40'>\n";
HTMLstr += "<a href=\"javascript:prevYear();\"><font face=verdana color='white' size=-2>Пред.</font></a>\n";
HTMLstr += "<a href=\"javascript:nextYear();\"><font face=verdana color='white' size=-2>След.</font></a>\n";
}
if (ie||ns6)
{
HTMLstr += "<td align='right' width='80'>\n";
HTMLstr += "<a href=\"javascript:prevYear();\" style='text-decoration: none;'><font face=verdana color='white' size=-2>Пред.</font></a>\n";
HTMLstr += "<a href=\"javascript:nextYear();\" style='text-decoration: none;'><font face=verdana color='white' size=-2>След.</font></a>\n";
}
HTMLstr += "</td>\n";
HTMLstr += "\n";
HTMLstr += "<td align='left'>";

if (n) HTMLstr += "<ilayer id='main'><layer id='idYear' top='0' left='0'>\n";
if (ie||ns6)HTMLstr += "<div id='main' style='position: relative'>\n";
HTMLstr += "<font color='#99ffff'><b>1999</b></font>\n";
if (n) HTMLstr += "</layer></ilayer>\n";
if (ie||ns6)HTMLstr += "</div>\n";
HTMLstr += "</td>\n";
HTMLstr += "</tr>\n";
HTMLstr += "<tr>\n";
HTMLstr += "<td><b><font color='white'>Месяц:</font></b></td>\n";
HTMLstr += "\n";
HTMLstr += "<td align='right'>\n";
if (n)
{
HTMLstr += "<a href=\"javascript:prevMonth();\"><font face=verdana color='white' size=-2>Пред.</font></a>\n";
HTMLstr += "<a href=\"javascript:nextMonth();\"><font face=verdana color='white' size=-2>След.</font></a>\n";
}
if (ie||ns6)
{
HTMLstr += "<a href=\"javascript:prevMonth();\" style='text-decoration: none;'><font face=verdana color='white' size=-2>Пред.</font></a>\n";
HTMLstr += "<a href=\"javascript:nextMonth();\" style='text-decoration: none;'><font face=verdana color='white' size=-2>След.</font></a>\n";
}
HTMLstr += "</td>\n";
HTMLstr += "\n";
HTMLstr += "<td align='left'>\n";
if (ie||ns6)HTMLstr += "<div id='main2' style='position=relative;'>";
if (n) HTMLstr += "<ilayer id='main2'><layer id='idMonth' top='0' left='0'>\n";
HTMLstr += "<font color='#99ffff'><b>Декабрь</b></font>\n";
if (ie||ns6)HTMLstr += "<div>\n";
if (n) HTMLstr += "</layer></ilayer>\n";
HTMLstr += "</td>\n";
HTMLstr += "\n";
HTMLstr += "</tr>\n";
HTMLstr += "</table>\n";
HTMLstr += "\n";
HTMLstr += "</td></tr>\n";
HTMLstr += "\n";
HTMLstr += "<tr height='160px'><td valign=\"top\">\n";
HTMLstr += "\n";
HTMLstr += "<table border=0 cols=7>\n";
HTMLstr += "<tr>\n";
HTMLstr += "<td width='30'><b>Пн.</b></td>\n";
HTMLstr += "<td width='30'><b>Вт.</b></td>\n";
HTMLstr += "<td width='30'><b>Ср.</b></td>\n";
HTMLstr += "<td width='30'><b>Чт.</b></td>\n";
HTMLstr += "<td width='30'><b>Пт.</b></td>\n";
HTMLstr += "<td width='30'><b>Сб.</b></td>\n";
HTMLstr += "<td width='30'><b>Вс.</b></td>\n";
HTMLstr += "</tr>\n";
HTMLstr += "<tr>\n";
HTMLstr += "<td colspan=7>\n";
if (ie||ns6)HTMLstr += "<div style='position: relative;'>";
if (n) HTMLstr += "<ilayer id='idMenuContainer' height='120px' width='250px'>\n";

for (var date=1; date <= 31; date++)
{
if (n)
{
HTMLstr += " <layer id=\"idDate"+date+"\" val="+date+" visibility=\"hide\">\n";
HTMLstr += " <layer><b>"+date+"</b></layer>\n";
HTMLstr += " </layer>\n";
}
if (ie||ns6)
{
HTMLstr += " <div id=\"idDate"+date+"\" val="+date+" style=\"position: absolute; visibility: hidden\">\n";
// HTMLstr += " <b>"+date+"</b>\n";
HTMLstr += " <b>"+date+"</b>\n";
HTMLstr += " </div>\n";
}
}

if (ie||ns6)HTMLstr += "</div>";
if (n) HTMLstr += "</ilayer>\n";
HTMLstr += "</td></tr>\n";
HTMLstr += "</table>\n";
HTMLstr += "\n";
HTMLstr += "</td></tr>\n";
HTMLstr += "</table>\n";

document.writeln(HTMLstr);
buildMonthMenu(HTMLstr);
}

function setCurrentMonth()
{
date = new Date();
currentyear=date.getYear()
if (currentyear < 1000)
currentyear+=1900
setYearMonth(currentyear, date.getMonth()+1);
}

function setMonth(nMonth)
{
setYearMonth(nCurrentYear, nMonth);
}

function setYearMonth(nYear, nMonth)
{
if (ie||ns6)
{
nCurrentYear = nYear;
nCurrentMonth = nMonth;
var cross_obj=ns6? document.getElementById("main"): document.all["main"]
var cross_obj2=ns6? document.getElementById("main2"): document.all["main2"]
cross_obj.innerHTML = "<font color=\"#99ffff\"><b>"+nCurrentYear+"</b></font>";
cross_obj2.innerHTML = "<a href=\"javascript:showMonthMenu()\" style=\"text-decoration:none\"><font color=\"#99ffff\"><b>"+MonthNames[nCurrentMonth-1]+"</b></font></a>\n";

var date = new Date(nCurrentYear, nCurrentMonth-1, 1);
var nWeek = 1;
var nDate;

while (date.getMonth() == nCurrentMonth-1)
{
nDate = date.getDate();
nLastDate = nDate;

var posDay = date.getDay()-1;
if (posDay == -1) posDay=6;
var posLeft = posDay*(nWidth+5)+5;
var posTop = (nWeek-1)*nHeight;
var cross_obj3=ns6? document.getElementById("idDate"+nDate).style : document.all["idDate"+nDate].style
cross_obj3.left = posLeft;
cross_obj3.top = posTop;
if (date.getDay() == 0 || date.getDay() == 6)
cross_obj3.color = "red";
else
cross_obj3.color = "black";
cross_obj3.visibility = "visible";
// original:
// date = new Date(currentyear, date.getMonth(), date.getDate()+1);
// johan:
date = new Date(nCurrentYear, date.getMonth(), date.getDate()+1);

if (posDay == 6) nWeek++;
}
for (++nDate; nDate <= 31; nDate++){
cross_obj3=ns6? document.getElementById("idDate"+nDate).style : document.all["idDate"+nDate].style
cross_obj3.visibility = "hidden";
}
}
if (n)
{
// Verify parameters
if (nMonth < 1 || nMonth > 12) {alert("Function: setYearMonth()\nERROR: Incorrect month "+nMomth);}

nCurrentYear = nYear;
nCurrentMonth = nMonth;

document.main.document.idYear.document.open();
document.main.document.idYear.document.write("<font color=\"#99ffff\"><b>"+nCurrentYear+"</b></font>");
document.main.document.idYear.document.close();

document.main2.document.idMonth.document.open();
document.main2.document.idMonth.document.write("<a href=\"javascript:showMonthMenu()\" style=\"text-decoration:none\"><font color=\"#99ffff\"><b>"+MonthNames[nCurrentMonth-1]+"</b></font></a>");
document.main2.document.idMonth.document.close();

var date = new Date(nYear, nMonth-1, 1);
var nWeek = 1;
var nDate;

while (date.getMonth() == nMonth-1)
{
nDate = date.getDate();
nLastDate = nDate;

var posDay = date.getDay()-1;
if (posDay == -1) posDay=6;
var posLeft = posDay*(nWidth+5)+5;
var posTop = (nWeek-1)*nHeight;

document.layers["idMenuContainer"].document.layers["idDate"+nDate].left = posLeft;
document.layers["idMenuContainer"].document.layers["idDate"+nDate].top = posTop;
if (date.getDay() == 0 || date.getDay() == 6)
document.layers["idMenuContainer"].document.layers["idDate"+nDate].color = "red";
else
document.layers["idMenuContainer"].document.layers["idDate"+nDate].color = "black";
document.layers["idMenuContainer"].document.layers["idDate"+nDate].visibility = "visible";
date = new Date(nCurrentYear, date.getMonth(), date.getDate()+1);
if (posDay == 6) nWeek++;
}
for (++nDate; nDate <= 31; nDate++)
document.layers["idMenuContainer"].document.layers["idDate"+nDate].visibility = "hidden";
}
}

function nextMonth()
{
nCurrentMonth++;
if (nCurrentMonth > 12)
{
nCurrentMonth -= 12;
nextYear();
}

setYearMonth(nCurrentYear, nCurrentMonth);
}

function prevMonth()
{
nCurrentMonth--;
if (nCurrentMonth < 1)
{
nCurrentMonth += 12;
prevYear();
}
setYearMonth(nCurrentYear, nCurrentMonth);

}

function prevYear()
{
nCurrentYear--;
setYearMonth(nCurrentYear, nCurrentMonth);
}

function nextYear()
{
nCurrentYear++;
setYearMonth(nCurrentYear, nCurrentMonth);
}

////////////////////////////////////////////////////

function updateIt(e)
{
// var x = e.pageX;
// var y = e.pageY;

// if (x > rightX || x < leftX) hideMonthMenu();
// else if (y > bottomY || y < topY) hideMonthMenu();
}

function hideMonthMenu()
{
document.layers["idMonthMenu"].visibility="hide";
}

function showMonthMenu()
{
if (!n) return;
topY = document.layers["main2"].pageY-50;
bottomY = document.layers["main2"].pageY + document.layers["idMonthMenu"].clip.height+50;
leftX = document.layers["main2"].pageX-50;
rightX = document.layers["main2"].pageX + document.layers["idMonthMenu"].clip.width+50;

document.layers["idMonthMenu"].top = document.layers["main2"].pageY+document.layers["main2"].clip.height;
document.layers["idMonthMenu"].left = document.layers["main2"].pageX;
document.layers["idMonthMenu"].visibility="show";
}

function buildMonthMenu()
{
if (!n) return;
var HTML = "";
HTML += "<layer id=\"idMonthMenu\" visibility=\"hide\" width=\"120\" bgcolor=\"darkblue\">\n";
HTML += "<table border=\"1\" cellspacing=\"0\" cellpading=\"0\">\n";
for (var month=0; month<12;)
{
HTML += "<tr>\n";
for (var i = 0; i < 3; i++)
{
var nMonth = month+1;
HTML += "<td><a href=\"javascript:hideMonthMenu();setMonth("+nMonth+");\"><font color=\"white\" size=-1><b>"+MonthNames[month]+"</b></font></a></td>\n";
month++;
}
HTML += "</tr>\n";
}
HTML += "</table>";
HTML += "</layer>";
document.writeln(HTML);
}
</script>
<script language="JavaScript">

/*
Dynamic Calendar Script- By Constantin (http://212.1.77.9/)
Permission given to Dynamic Drive to include script in archive
For 1000's more DHTML scripts, visit http://dynamicdrive.com
*/

var cal = new Calendar();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar14

Высокостабильный календарь от Microsoft
Для работы этого календаря Вам потребуется сделать следующее. Прежде всего, добавить в тэг <HTML> XMLNS:IE , то есть тэг должен выглядеть так: <HTML XMLNS:IE>. Дальше, Вы должны скачать и сохранить на сервере файл calendar.htc, и последнее, поместить приведенный в таблице код на свою страницу в том месте, где Вы хотите, чтобы календарь появился. (Microsoft распространяет эту программу как freeware, следовательно, перепродажа ее запрещена). ТОЛЬКО MSIE 5+

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--
IE5 Proprietary Calendar- Based on Code from Microsoft.com
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
-->

<IE:Calendar ID = "ie5cal" STYLE = "behavior:url (calendar.htc); width: 275; height: 250; border: '1px solid black';">
</IE:Calendar>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC41

Годовой календарь
(изменения в нем происходят только раз в год!)

Пожалуй, если Вам срочно потребуется распечатать простенький календарик, то этот скрипт может и пригодиться....

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function day_title(day_name){
document.write("<TD ALIGN=center WIDTH=35>"+day_name+"</TD>")
}
function fill_table(month,month_length) {
day=1
document.write("<TABLE BORDER=3 CELLSPACING=3 CELLPADDING=%3><TR>")
document.write("<TD COLSPAN=7 ALIGN=center><B>"+month+"
      "+year+"</B><TR>")
day_title("Sun")
day_title("Mon")
day_title("Tue")
day_title("Wed")
day_title("Thu")
day_title("Fri")
day_title("Sat")
document.write("</TR><TR>")
for (var i=1;i<start_day;i++) {
document.write("<TD>")
}
for (var i=start_day;i<8;i++) {
document.write("<TD ALIGN=center>"+day+"</TD>")
day++}
document.write("<TR>")
while (day <= month_length) {
for (var i=1;i<=7 && day<=month_length;i++) {
document.write("<TD ALIGN=center>"+day+"</TD>")
day++
}
document.write("</TR><TR>")
start_day=i
}
document.write("</TR></TABLE><BR>")
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
today = new Date();
year = today.getYear();
if (year < 2000) // Y2K Fix, Isaac Powell
year = year + 1900; // http://onyx.idbsu.edu/~ipowell
today= new Date("January 1, "+year)
start_day = today.getDay() + 1
fill_table("January",31)

if (((year % 4)==0) && ((year % 100)!=0) || ((year % 400)==0))
{ fill_table("February", 29); }
else { fill_table("February", 28); }

fill_table("March",31)
fill_table("April",30)
fill_table("May",31)
fill_table("June",30)
fill_table("July",31)
fill_table("August",31)
fill_table("September",30)
fill_table("October",31)
fill_table("November",30)
fill_table("December",31)
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC42

Годовой календарь 2
(в этом варианте выделена сегодняшняя дата!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
<!--
function day_title(day_name) {
document.write("<TD ALIGN=center WIDTH=35>"+day_name+"</TD>")
}
function hilite_today(day,mm) {
if ((this_day == day) && (this_month == mm))
document.write("<FONT COLOR=\"#FF0000\">")
}
function makeArray(n) {
this.length=n;
for (var i = 1; i <= n; i++)
this[i] = 0
return this
}
function fill_table(m_name,m_length,mm) {
day=1
document.write("<center><TABLE BORDER=3 CELLSPACING=3 CELLPADDING=%3><TR>")
document.write("<TD COLSPAN=7 ALIGN=center><B>"+m_name+" "+this_year+"</B><TR>")
day_title("Sun")
day_title("Mon")
day_title("Tue")
day_title("Wed")
day_title("Thu")
day_title("Fri")
day_title("Sat")
document.write("</TR><TR>")
for (var i=1;i<start_day;i++) {
document.write("<TD>")
}
for (var i=start_day;i<8;i++) {
document.write("<TD ALIGN=center>")
hilite_today(day,mm)
document.write(day+"</TD><FONT COLOR='#000000'>")
day++;
}
document.write("<TR>")
while (day <= m_length) {
for (var i=1;i<=7 && day<=m_length;i++) {
document.write("<TD ALIGN=center>")
hilite_today(day,mm)
document.write(day+"</TD><FONT COLOR='#000000'>")
day++
}
document.write("</TR><TR>")
}
document.write("</TR></TABLE></center><BR>")
start_day = i
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
month=new makeArray(12)
month[1]="January"
month[2]="February"
month[3]="March"
month[4]="April"
month[5]="May"
month[6]="June"
month[7]="July"
month[8]="August"
month[9]="September"
month[10]="October"
month[11]="November"
month[12]="December"
month_length = new makeArray(12)
month_length[1]=31
month_length[2]=28
month_length[3]=31
month_length[4]=30
month_length[5]=31
month_length[6]=30
month_length[7]=31
month_length[8]=31
month_length[9]=30
month_length[10]=31
month_length[11]=30
month_length[12]=31
today = new Date()
this_day = today.getDate()
this_month = today.getMonth()+1
this_year = today.getYear();
if (this_year < 2000) // Y2K Fix, Isaac Powell
this_year = this_year + 1900; // http://onyx.idbsu.edu/~ipowell
begin_date = new Date("January 1, 19"+this_year)
start_day = begin_date.getDay()+1
if (start_day == 1){
start_day = 8
}
for (var m = 1;m<=12;m++){
fill_table(month[m],month_length[m],m)
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar11

Календарь - напоминатель
с использованием Cookie

Работает этот календарь-напоминатель так. Кликните по любой дате текущего месяца. Подтвердите желание сделать напоминание. Впишите свое сообщение. После перезагрузки или в следующую загрузку дата, когда должно будет появиться напоминание, станет красной. Можно сделать сообщения для каждого дня месяца. При повторном клике по дате с напоминанием все повторится, только Вам будет показано то сообщение, которое Вы оставили. Если Вы согласитесь его изменить, но вместо этого просто удалите, то напоминания никакого не будет, и дата вновь станет белой. В день напоминания Ваше сообщение будет появляться каждый раз при загрузке страницы, в течение всего дня. Удалить его невозможно! Так что, удаляйте заранее! Сообщения, как понятно из названия скрипта, хранятся в Cookie. Используйте этот напоминатель на своем сайте! Каждый посетитель может сделать себе любые напоминания (и в любой словестной форме!), однако храниться они будут не на сервере, а на компьютере самого посетителя. Очень практично и безопасно.

Внимание! Из файла справки нет доступа к Cookie. Поэтому скрипт не может работаеть корректно.

Когда вы поместите предложенный код на свою страницу, у Вас появится большой комментарий на английском языке с копирайтами создателей скрипта. Чтобы не "резать" сам скрипт (там, авторские права всякие...), удалите выделенную желтым цветом строчку из 8 знаков. И все!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--ЭТО НЕ
    ОБЯЗАТЕЛЬНО-->
<style>
a:link, a:visited, a:active { text-decoration: none; color: white;}
a:hover { text-decoration: none; color: lime; }
</style>

<SCRIPT LANGUAGE="JavaScript">

<!--  to hide script contents from old browsers

//

//  Cookie Functions

//  Written by:  Bill Dortch, hIdaho Design

//  The following functions are released to the public domain.

//

//

// "Internal" function to encode cookie value.  This permits cookies to

// contain whitespace, comma and semicolon characters.

//

function encode (str) {

var dest = "";

var len = str.length;

var index = 0;

var code = null;

for (var i = 0; i < len; i++) {

var ch = str.charAt(i);

if (ch == " ") code = "%20";

else if (ch == "%") code = "%25";

else if (ch == ",") code = "%2C";

else if (ch == ";") code = "%3B";

else if (ch == "\b") code = "%08";

else if (ch == "\t") code = "%09";

else if (ch == "\n") code = "%0A";

else if (ch == "\f") code = "%0C";

else if (ch == "\r") code = "%0D";

if (code != null) {

dest += str.substring(index,i) + code;

index = i + 1;

code = null;

}

}

if (index < len)

dest += str.substring(index, len);

return dest;

}

//

// "Internal" function to decode cookie values.

//

function decode (str) {

var dest = "";

var len = str.length;

var index = 0;

var code = null;

var i = 0;

while (i < len) {

i = str.indexOf ("%", i);

if (i == -1)

break;

if (index < i)

dest += str.substring(index, i);

code = str.substring (i+1,i+3);

i += 3;

index = i;

if (code == "20") dest += " ";

else if (code == "25") dest += "%";

else if (code == "2C") dest += ",";

else if (code == "3B") dest += ";";

else if (code == "08") dest += "\b";

else if (code == "09") dest += "\t";

else if (code == "0A") dest += "\n";

else if (code == "0C") dest += "\f";

else if (code == "0D") dest += "\r";

else {

i -= 2;

index -= 3;

}

}

if (index < len)

dest += str.substring(index, len);

return dest;

}

//

// "Internal" function to return the decoded value of a cookie

//

function getCookieVal (offset) {

var endstr = document.cookie.indexOf (";", offset);

if (endstr == -1)

endstr = document.cookie.length;

return decode(document.cookie.substring(offset, endstr));

}

//

//  Function to return the value of the cookie specified by "name".

//    name - String object containing the cookie name.

//

function GetCookie (name) {

var arg = name + "=";

var alen = arg.length;

var clen = document.cookie.length;

var i = 0;

while (i < clen) {

var j = i + alen;

if (document.cookie.substring(i, j) == arg)

return getCookieVal (j);

i = document.cookie.indexOf(" ", i) + 1;

if (i == 0) break;

}

return null;

}

//

//  Function to create or update a cookie.

//    name - String object object containing the cookie name

//    value - String object containing the cookie value.  May contain

//      any valid sting characters, including whitespace, commas and quotes.

//    expires - Date object containing the expiration data of the cookie,

//      or null to expire the cookie at the end of the current session.

//

function SetCookie (name, value, expires) {

document.cookie = name + "=" + encode(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString()));

}

//  Function to delete a cookie. (Sets expiration date to current date/time)

//    name - String object containing the cookie name

//

function DeleteCookie (name) {

var exp = new Date();

var cval = GetCookie (name);

document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}
//

//  Example

//

function intro()

{

document.write  ("<CENTER>");

document.writeln("<BR>");

document.write  ("<H1>");

document.write  ("Reminder Calendar");

document.writeln("</H1>");

document.writeln("</CENTER>");

document.writeln("<h2>How to use the Reminder Calendar:</h2>");

document.writeln("<ul><li>Click on a  date to add a reminder");

document.writeln("    <li>Click on that date again to see the reminder");

document.writeln("    <li>Reload the page to see dates with reminders in different colors");

document.writeln("</ul>");

document.writeln("<h2>Notes:</h2>");

document.writeln("<ul><li>Lame user interface");

document.writeln("    <li>Can't delete a reminder");

document.writeln("    <li>Reminders disappear in about 24 hours");

document.writeln("</ul>");

document.writeln("<h2>This is mostly a programming example of:</h2>");

document.writeln("<ul><li>Using cookies in JavaScript");

document.writeln("    <li>Using text links to call a function, not open a URL");

document.writeln("</ul>");

document.writeln("<h2>Credits:</h2>");

document.writeln("<ul><li>Cookie Functions written by:  <A href='mailto:bdortch@netw.com'>Bill Dortch</A>, hIdaho Design");

document.writeln("<ul>The functions are at:");

document.writeln("    <li>Code: <A href='http://www.hidaho.com/cookies/cookie.txt'>
    http://www.hidaho.com/cookies/cookie.txt</A>");

document.writeln("    <li>Demo: <A href='http://www.hidaho.com/cookies/cookie.html'>
    http://www.hidaho.com/cookies/cookie.html</A>");

document.writeln("</ul>");

document.writeln("    <li>Reminder Calendar by James Thiele who can be reached:");

document.writeln("    <UL><LI>at his home page ");

document.writeln("         <A href='http://www.eskimo.com/~jet'>
    http://www.eskimo.com/~jet</A>");

document.writeln("        <LI> via email at ");

document.writeln("         <address><A href='mailto:jet@eskimo.com'>
    jet@eskimo.com</a></address></p>");

document.writeln("</ul>");

}

function arrayOfDaysInMonths(isLeapYear)

{

this[0] = 31;

this[1] = 28;

if (isLeapYear)

this[1] = 29;

this[2] = 31;

this[3] = 30;

this[4] = 31;

this[5] = 30;

this[6] = 31;

this[7] = 31;

this[8] = 30;

this[9] = 31;

this[10] = 30;

this[11] = 31;

}

function daysInMonth(month, year)

{

// do the classic leap year calculation

var isLeapYear = (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));

var monthDays  = new arrayOfDaysInMonths(isLeapYear);

return monthDays[month];

}

function calendar()

{

var monthNames = "JanFebMarAprMayJunJulAugSepOctNovDec";

var today      = new Date();

var day        = today.getDate();

var month      = today.getMonth();

var year       = today.getYear();

// figure out how many days this month will have...

var numDays    = daysInMonth(month, year);

// and go back to the first day of the month...

var firstDay   = today;

firstDay.setDate(1);

// and figure out which day of the week it hits...

var startDay = firstDay.getDay();

var column = 0;

// Start the calendar table

document.write("<CENTER>");

document.write("<TABLE BGCOLOR=GRAY BORDER>");

document.write("<TR><TH COLSPAN=7><FONT COLOR=LIGHTBLUE>");

document.write(monthNames.substring(3*month, 3*(month + 1)) + " " + year);

document.write("<TR><TH><FONT COLOR=LIGHTBLUE>Вс.<TH><FONT COLOR=LIGHTBLUE>Пн.<TH><FONT COLOR=LIGHTBLUE>Вт.<TH><FONT COLOR=LIGHTBLUE>Ср.<TH><FONT COLOR=LIGHTBLUE>Чт.<TH><FONT COLOR=LIGHTBLUE>Пт.<TH><FONT COLOR=LIGHTBLUE>Сб.");

// put blank table entries for days of week before beginning of the month

document.write("<TR>");

for (i=1; i < startDay; i++)

{

document.write("<TD>");

column++;

}

for (i=1; i <= numDays; i++)

{

// Write the day

var s = "" + i;

if ((GetCookie("d"+i) != null))

// s = s.fontcolor(document.vlinkColor);

s = s.fontcolor("#FF0000");

s = s.link("javascript:dayClick(" + i + ")")

document.write("<TD>" + s);

// Check for end of week/row

if (++column == 7)

{

document.write("<TR>"); // start a new row

column = 0;

}

}

document.write("</TABLE>");

document.writeln("</CENTER>");

}

////////////////////////////

//////// dayClick //////////

////////////////////////////

function dayClick(day)

{

var expdate = new Date ();

expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs from now

var prefix                = "d";

var theCookieName         = prefix + day;

var theDayclickedReminder = GetCookie(theCookieName);

if (theDayclickedReminder != null) {

alert("На " + day + " число Вы оставили себе следующее сообщение "  + theDayclickedReminder);

} // end if

if (confirm("Вы хотите оставить себе сообщение на " + day + " число этого месяца?"))

{

x = prompt("Введите сообщение для напоминания "+ day + " числа этого месяца", theDayclickedReminder);

SetCookie (theCookieName, x, expdate);

} // end if

}

// --> <!-- end hiding contents from old browsers  -->

</SCRIPT><p>

<SCRIPT LANGUAGE="JavaScript">

<!--  to hide script contents from old browsers

calendar();

document.write("<HR>");

intro();
// --> <!-- end hiding contents from old browsers  -->

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar6

"Квартальный" календарь
Должен огорчить бухгалтеров - календарь действительно воспроизводит три меяца, но это всего лишь текущий месяц и предыдущий с последующим (слева и справа соответственно)

"Квартальный" календарь

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var flg = 0;
var fs = 1;
var bg = "cyan";
M = new Array("Январь","Февраль",
"Март","Апрель","Май","Июнь",
"Июль","Август","Сентябрь",
"Октябрь","Ноябрь","Декабрь");
D = new Array("Вс","Пн","Вт","Ср","Чт","Нт","Сб");
function getBgn() {
pdy = new Date(); // today
pmo = pdy.getMonth(); // present month
pyr = pdy.getYear(); // present year
if (pyr < 2000) // Y2K Fix, Isaac Powell
pyr = pyr + 1900; // http://onyx.idbsu.edu/~ipowell
yr = yr1 = (pmo==0?pyr-1:pyr); // last month's year
mo = (pmo==0?11:pmo-1); // last month
bgn = new Date(M[mo]+" 1,"+yr1); // assign to date
document.write('<TABLE BORDER=0><TR><TD VALIGN=TOP>');
Calendar(); // Send last month to screen
document.write('</TD><TD VALIGN=TOP>');
yr = pyr; // present year
mo = pmo; // present month
bgn = new Date(M[mo]+" 1,"+yr); // assign to date
Calendar(); // Send this month to screen
document.write('</TD><TD VALIGN=TOP>');
yr = (pmo==11?pyr+1:pyr); // next month's year
mo = (pmo==11?0:pmo+1); // next month
bgn = new Date(M[mo]+" 1,"+yr); // assign to date
Calendar(); // Send next month to screen
document.write('</TD></TR></TABLE>'); // Finish up
}
function Calendar(){
dy = bgn.getDay();
yr = eval(yr);
d = "312831303130313130313031";
if (yr / 4 == Math.floor(yr / 4)) {
d = d.substring(0, 2) + "29" + d.substring(4, d.length);
}
pos = (mo * 2);
ld = eval(d.substring(pos, pos + 2));
document.write("<TABLE BORDER=1"
+ " BGCOLOR='" + bg
+ "'><TR><TD ALIGN=CENTER COLSPAN=7>"
+ "<FONT SIZE=" + fs + ">" + M[mo] + " " + yr
+ "</FONT></TD></TR><TR><TR>");
for (var i = 0;i < 7;i ++) {
document.write("<TD ALIGN=CENTER>"
+"<FONT SIZE=1>" + D[i] + "</FONT></TD>");
}
document.write("</TR><TR>");
ctr = 0;
for (var i = 0;i < 7; i++){
if (i < dy) {
document.write("<TD ALIGN=CENTER>"
+"<FONT SIZE=" + fs + "> </FONT>"
+"</TD>");
}
else {
ctr++;
document.write("<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>");
}
}
document.write("</TR><TR>");
while (ctr < ld) {
for (var i = 0;i < 7; i++){
ctr++;
if (ctr > ld){
document.write("<TD ALIGN=CENTER>"
+ " </TD>");
}
else {
document.write("<TD ALIGN=CENTER>"
+ "<FONT SIZE=" + fs + ">" + ctr + "</FONT>"
+ "</TD>");
}
}
document.write("</TR><TR>");
}
document.write("</TR></TABLE>");
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<P><b>&quot;Квартальный&quot; календарь</b> <SCRIPT LANGUAGE="JavaScript">
<!-- Begin
getBgn();
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar8

"Квартальный" календарь 2
 (позволяет видеть предыдущий, текущий и последующий месяцы одновременно; есть возможность переключения стилей США и европейского; выделяет текущую дату)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Doug Lawson (dlawson@clark.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var calStartDOW = 0;
var holidays = new Array();
holidays["1 Jan 2000"] = true;
holidays["17Jan 2000"] = true;
holidays["21 Feb 2000"] = true;
holidays["21 Apr 2000"] = true;
holidays["29 May 2000"] = true;
holidays["3 Jul 2000"] = true;
holidays["4 Jul 2000"] = true;
holidays["4 Sep 2000"] = true;
holidays["10 Nov 2000"] = true;
holidays["23 Nov 2000"] = true;
holidays["24 Nov 2000"] = true;
holidays["25 Dec 2000"] = true;
holidays["31 Dec 2000"] = true;
var months = new Array( "Янв","Фев","Мар", "Апр","Май","Июнь", "Июль","Авг","Сен","Окт", "Ноя", "Дек");
var longmonths = new Array( "Январь", "Февраль", "Март",
"Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь",
"Октябрь", "Ноябрь", "Декабрь" );

var leapdays = new Array(31,29,31, 30,31,30, 31,31,30, 31,30,31);
var yeardays = new Array(31,28,31, 30,31,30, 31,31,30, 31,30,31);
var dow = new Array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
// globalCalWidth is the default width for calendar tables
var globalCalWidth = "95%";
var colorWhite = "#FFFFFF";
var colorDarkRed = "#800000";
var colorMedRed = "#B00000";
var colorLightGrey = "#E0E0E0";
var colorMedGray = "#808080";
var colorOffWhite = "#F8F8F8";
var colorDkBlue = "#0000E0";
// colors for various parts of the calendars
var holidayColor = colorMedRed; // fg color for weekends and holidays
var dowBGColor = colorLightGrey; // bg for days of week at top of calendar
var dowFGColor = colorDkBlue; // fg for days of week
var calHdrBGColor = colorMedGray; // bg for month and year
var calHdrFGColor = colorOffWhite; // fg for month and year
var myDate = new Date();
var thisMonth = myDate.getMonth();
var thisYear = myDate.getFullYear();
var URLargs = getURLArgs(true);
if (URLargs.year) { thisYear = parseInt(URLargs.year); }
if (URLargs.month) { thisMonth = (parseInt(URLargs.month)%12); }
if (URLargs.starton) { calStartDOW = (parseInt(URLargs.starton)%7); }
function isLeapYear( year ){
// is it leap year ? returns a boolean
return ( (0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400))));
}
function isValidDayOfMonth( day, month, year)
{
if (day <= 0) { return false; }
if (isLeapYear(year)) { return (day <= leapdays[month])}
return ( day <= yeardays[month]);
}
function canonicalDate(day, month, year)
{
var canonDate = 0;
// if the function had no arguments, use today's date;
var mday = myDate.getDate();
var mmon = myDate.getMonth();
var myr = myDate.getFullYear();
if( arguments.length > 0 ) { mday = arguments[0]; }
if( arguments.length > 1 ) { mmon = arguments[1]; }
if( arguments.length > 2 ) { myr = arguments[2]; }
if(myr >= 2000)
{ canonDate += mday;
while(mmon > 0) { canonDate += isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon]; mmon--;}
while(myr > 2000){ canonDate += isLeapYear(myr) ? 366: 365; myr--; }
}
else
{ canonDate -= isLeapYear(myr) ? leapdays[mmon] - mday: yeardays[mmon] - mday;
while(mmon < 11) { mmon++; canonDate -= isLeapYear(myr) ? leapdays[mmon]: yeardays[mmon];}
while(myr < 1999){ myr++; canonDate -= isLeapYear(myr) ? 366: 365;}
}
return canonDate;
}
function dateDiff(firstDate, secondDate)
{
var days= ( canonicalDate(secondDate.getDate(), secondDate.getMonth(), secondDate.getFullYear()) -
canonicalDate(firstDate.getDate(), firstDate.getMonth(), firstDate.getFullYear()));
return days;
}
function shiftArray(myArray)
{

if(-1 != navigator.appVersion.indexOf("MSIE")) {
var myVal = myArray[0];
for(i=0; i<(myArray.length -1); i++)
{ myArray[i] = myArray[i+1];}
myArray.length = myArray.length -1;
return myVal; }
else return myArray.shift();
}
function isHoliday(year,mon,mday)
{

var dStr = mday + " " + mon + " " + year;
if(holidays[dStr]) { return true; }
return false;
}
function isWeekend( year, mon, mday)
{
var mDate = new Date(mday + " " + mon + " " + year);
return ( ( 0 == mDate.getDay()) || ( 6 == mDate.getDay() ));
}
function calculateWorkDays( startDate, endDate)
{

var myEndDate = canonicalDate(endDate.getDate(), endDate.getMonth(), endDate.getFullYear());
var counter = 0;
var mDay = startDate.getDate();
var mMonth = startDate.getMonth();
var mYear = startDate.getFullYear();
while (canonicalDate(mDay, mMonth, mYear) <= myEndDate)
{
if(! ( isHoliday(mYear,months[mMonth],mDay) || isWeekend(mYear,months[mMonth],mDay)) )
{ counter++; }

var omDay = mDay;
var omMonth = mMonth;
var omYear = mYear;
mDay = isLeapYear(mYear) ?
((mDay >= leapdays[mMonth]) ? 1 : mDay+1):
((mDay >= yeardays[mMonth]) ? 1 : mDay+1);
// do we need to increment the month ?
mMonth = (mDay == 1) ? (mMonth +1) % 12: mMonth;
// do we need to increment the year?
mYear = ( (mDay == 1) && (mMonth == 0)) ? mYear + 1: mYear;
// startDate = new Date(mDay, mMonth, mYear);
}
return counter;
}
function writeCalendar(target, myYear, myMonth, sday, eday)
{

var calDate = new Date( myYear, myMonth, 1, 0,0,0,0 );
var mDays = isLeapYear(myYear) ? leapdays[myMonth]: yeardays[myMonth];
var i = 0;
var wkDay = calDate.getDay();
var dateBgAtt = "";
var dateFontTag = "";
var fontCloseTag = "";
var boldTag = "";
var unBoldTag = "";
var useBold = arguments.length >= 5 ? true: false;
target.write("<CENTER>\n<TABLE BORDER='0' CELLPADDING='6' CELLSPACING='0' WIDTH=\"80%\">\n");
target.write("<TR BGCOLOR=\"", calHdrBGColor, "\">");
target.write(
"<TD COLSPAN='5'><FONT COLOR=\"", calHdrFGColor, "\"><STRONG>",
longmonths[myMonth],
"</STRONG></FONT></TD>","<TD COLSPAN='2'><FONT COLOR=\"", calHdrFGColor, "\"><STRONG>",
myYear,
"</STRONG></FONT></TD></TR>\n"
);
target.write("<TR BGCOLOR=\"", dowBGColor, "\">");
for(i=0; i< 7; i++)
{ target.write("<TD><FONT COLOR=\"", dowFGColor,
"\">", dow[((i+calStartDOW)%7)],
"</FONT></TD>");}
target.write("</TR>\n");
// start the first line with blank spaces until we get to the first day of the month
target.write("<TR ALIGN='RIGHT'>");
for(i=0 ; i < ((7 - calStartDOW + wkDay)%7); i++)
{ target.write("<TD> \; \; \;</TD>"); }
// since javascript doesn't do modulus on negative numbers,
// add 7 to anything that might be negative
var cmdate = i - ((7 - calStartDOW + wkDay)%7);
// write the weekdays
for( i=i; cmdate < mDays ; i++)
{
// what is the date ?
cmdate++;
// if we have reached the end of a week, start another one
if(0 == (i%7)){ target.write("</TR>\n<TR ALIGN='RIGHT'>"); }
// if the date is a holiday or weekend, set it in color
if( (isHoliday(calDate.getFullYear(),months[calDate.getMonth()],cmdate))
|| (isWeekend(calDate.getFullYear(),months[calDate.getMonth()],cmdate)) )
{
dateBgAtt = "";
dateFontTag = "<FONT COLOR=\"" + holidayColor + "\">";
fontCloseTag = "</FONT>"; }
else
{ dateBgAtt = "";
dateFontTag = "";
fontCloseTag = ""; }

// set the days off in bold
if( ( useBold ) && (cmdate >= sday) && (cmdate <= eday))
{ boldTag = "<font color=red><STRONG><EM>";
unBoldTag = "</EM></STRONG></font>"; }
else {
boldTag = "";
unBoldTag = ""; }
target.write("<TD ", dateBgAtt, " >", dateFontTag, boldTag, cmdate, unBoldTag, fontCloseTag, "</TD>");
}
while(0 != (i%7)) { target.write("<TD> </TD>"); i++; }
target.write("</TR>");
target.write("</TABLE></CENTER>\n");
}
function drawCalendar( ourTarget, ourYear, ourMonth, startDay, endDay)
{
var myMonth = myDate.getMonth();
var myYear = myDate.getFullYear();
var target = document;
if(arguments.length >= 1) { target = ourTarget; }
if(arguments.length >= 2) { myYear = ourYear; }
if(arguments.length >= 3) { myMonth = ourMonth; }
{ writeCalendar(target, myYear, myMonth, startDay, endDay); }
}
function getURLArgs(caseBool)
{

var casefree = ( (true == caseBool) || (caseBool >= 1)) ? true: false;
var args = new Object();
var query = location.search.substring(1);
// alert(query);
var pairs = query.split("&");
for(var i = 0; i< pairs.length; i++)
{
pairs[i]= unescape(pairs[i]);
var pos=pairs[i].indexOf('=');
if(-1 == pos) continue;
var argname;
if(true != casefree) { argname = pairs[i].substring(0,pos); }
else { argname = pairs[i].substring(0,pos).toLowerCase(); }
var value = pairs[i].substring(pos+1);
args[argname] = value;
}
return args;
}
function newCalendars(myear, mmonth)
{
var myMonth = thisMonth;
var myYear = thisYear;
if(arguments.length == 2) { myMonth = mmonth; myYear == myear; }
var lastMonth = (myMonth + 11) % 12;
var lmYear = (myMonth == 0)? myYear -1: myYear;
var nextMonth = (myMonth +1)%12;
var nmYear = (myMonth == 11)? myYear + 1: myYear;
document.write("<TABLE ALIGN=\"TOP\" WIDTH=\"90\%\"><TR VALIGN=\"TOP\"><TD>");
var isThisMonth = ((lastMonth == myDate.getMonth())&& (lmYear==myDate.getFullYear()));
drawCalendar(document, lmYear, lastMonth,
(isThisMonth ? myDate.getDate():0),
(isThisMonth ? myDate.getDate():0)
);
isThisMonth = ((myMonth == myDate.getMonth())&& (myYear==myDate.getFullYear()));
document.write("</TD>\n<TD>");
drawCalendar(document, myYear, myMonth,
(isThisMonth? myDate.getDate():0),
(isThisMonth? myDate.getDate():0));
document.write("</TD>\n<TD>");

isThisMonth = ((nextMonth == myDate.getMonth())&& (nmYear==myDate.getFullYear()));
drawCalendar(document, nmYear, nextMonth,
(isThisMonth ? myDate.getDate():0),
(isThisMonth ? myDate.getDate():0));
document.write("</TD></TR></TABLE>\n");

var docName = location.pathname;
var buttonString = "<INPUT TYPE=\"BUTTON\" VALUE=\"Предыдуший\"" +
" onClick='document.newCal.month.value=\"" + lastMonth+ "\"; " +
"document.newCal.year.value=" + lmYear + "; " +
"submit();' > ";
document.write("<FORM NAME=\"newCal\" METHOD=\"GET\" ACTION=\"" + docName + "\">");
document.write("<INPUT TYPE=\"hidden\" NAME=\"month\" VALUE=\"" + myMonth +"\">");
document.write("<INPUT TYPE=\"hidden\" NAME=\"year\" VALUE=\"" + myYear +"\">");
document.write("<INPUT TYPE=\"hidden\" NAME=\"startOn\" VALUE=\"" + calStartDOW +"\">");
document.write("<CENTER>");
document.write( buttonString);
buttonString = "<INPUT TYPE=\"BUTTON\" VALUE=\"Следующий \"" +
" onClick='document.newCal.month.value=" + nextMonth+ "; " +
"document.newCal.year.value=" + nmYear + "; " +
"submit();' > ";
document.write(" ");
document.write( buttonString);
document.write("</CENTER><P>\n");
var calStyleString = "" +
"<SMALL>стиль календаря: США" +
"<INPUT TYPE='radio' NAME='calStyle' VALUE='us'" +
((calStartDOW == 0)? " CHECKED " : " ") +
" onClick='document.newCal.startOn.value=\"0\"; " +
"document.newCal.submit();'> " +
"" +
"евро <INPUT TYPE='radio' NAME='calStyle' VALUE='euro'" +
((calStartDOW == 1)? " CHECKED " : " ") +
" onClick='document.newCal.startOn.value=\"1\"; " +
"submit();'></SMALL>";
document.write(calStyleString);
document.write("</FORM>");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
newCalendars();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar9

Кнопочный календарь

Пн | Вт | Ср | Чт | Пт | Сб | Вс
Выбрано:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

//Form button calendar (author unknown)
function setDate(str) {
if (str == " ") {
return;
}
mnth1 = document.forms[0].month.value;
mnth = mnth1;
mnth++;
year = document.forms[0].year.value;
dateStr = mnth+"/"+str+"/"+year;
dateStr = trim(dateStr);
document.forms[1].dateField.value = dateStr;
}
function trim(str) {
res="";
for(var i=0; i< str.length; i++) {
if (str.charAt(i) != " ") {
res +=str.charAt(i);
}
}
return res;
}
function getMonthName(mnth) {
if (mnth == 0) {
name = "Январь";
}else if(mnth==1) {
name = "Февраль";
}else if(mnth==2) {
name = "Март";
}else if(mnth==3) {
name = "Апрель";
}else if(mnth==4) {
name = "Май";
} else if(mnth==5) {
name = "Июнь";
} else if(mnth==6) {
name = "Июль";
} else if(mnth==7) {
name = "Август";
} else if(mnth==8) {
name = "Сентябрь";
} else if(mnth==9) {
name = "Октябрь";
} else if(mnth==10) {
name = "Ноябрь";
} else if(mnth==11) {
name = "Декабрь";
}
return name;
}
function getNoOfDaysInMnth(mnth,yr) {
rem = yr % 4;
if(rem ==0) {
leap = 1;
} else {
leap = 0;
}
noDays=0;
if ( (mnth == 1) || (mnth == 3) || (mnth == 5) ||
(mnth == 7) || (mnth == 8) || (mnth == 10) ||
(mnth == 12)) {
noDays=31;
} else if (mnth == 2) {
noDays=28+leap;
} else {
noDays=30;
}
return noDays;
}
function fillDates(dayOfWeek1,noOfDaysInmnth) {
for(var i=1; i<43; i++) {
str = "s"+i;
document.forms[0].elements[str].value=" ";
}
startSlotIndx = dayOfWeek1;
slotIndx = startSlotIndx;
for(var i=1; i<(noOfDaysInmnth+1); i++) {
slotName = "s"+slotIndx;
val="";
if (i<10) {
val = " "+i+" ";
} else {
val = i;
}
document.forms[0].elements[slotName].value = val;
slotIndx++;
}
}
function thisMonth() {
dt = new Date();
mnth = dt.getMonth(); /* 0-11*/
dayOfMnth = dt.getDate(); /* 1-31*/
dayOfWeek = dt.getDay(); /*0-6*/
yr = dt.getFullYear(); /*4-digit year*/
mnthName = getMonthName(mnth)+ " ";
document.forms[0].month.value = mnth;
document.forms[0].year.value = yr;
document.forms[0].currMonth.value = mnth;
document.forms[0].currYear.value = yr;
document.forms[0].monthYear.value = mnthName+yr;
document.forms[1].dateField.value = (mnth+1)+"/"+dayOfMnth+"/"+yr;
startStr = (mnth+1)+"/1/"+yr;
dt1 = new Date(startStr);
dayOfWeek1 = dt1.getDay(); /*0-6*/
noOfDaysInMnth = getNoOfDaysInMnth(mnth+1,yr);
fillDates(dayOfWeek1+1,noOfDaysInMnth);
}
function nextMonth() {
var currMnth = document.forms[0].month.value;
currYr = document.forms[0].year.value;
document.forms[0].prev.value='<<';
if (currMnth == "11") {
nextMnth = 0;
nextYr = currYr;
nextYr++;
} else {
nextMnth=currMnth;
nextMnth++;
nextYr = currYr;
}
mnthName = getMonthName(nextMnth);
document.forms[0].month.value=nextMnth;
document.forms[0].year.value=nextYr;
document.forms[0].monthYear.value= mnthName+" "+nextYr;
str = (nextMnth+1)+"/1/"+nextYr;
dt = new Date(str);
dayOfWeek = dt.getDay();
noOfDays = getNoOfDaysInMnth(nextMnth+1,nextYr);
fillDates(dayOfWeek+1,noOfDays);
}
function prevMonth() {
var currMnth = document.forms[0].month.value;
currYr = document.forms[0].year.value;
if (currMnth == "0") {
prevMnth = 11;
prevYr = currYr;
prevYr--;
} else {
prevMnth=currMnth;
prevMnth--;
prevYr = currYr;

}
str = (prevMnth+1)+"/1/"+prevYr;
dt = new Date(str);
dayOfWeek = dt.getDay();
runningMonth = document.forms[0].currMonth.value;
rMonth=runningMonth;
rMonth++;
runningYear = document.forms[0].currYear.value;
rYear=runningYear;
str = (rMonth)+"/1/"+rYear;
dt1 = new Date(str);
if (dt.valueOf() < dt1.valueOf()) {
alert('Этим скриптом не предусмотрен просмотр месяцев до текущего. \nВперед - пожалуйста! Хоть до Второго Пришествия!');
return;
}
mnthName = getMonthName(prevMnth);
document.forms[0].month.value=prevMnth;
document.forms[0].year.value=prevYr;
document.forms[0].monthYear.value= mnthName+" "+prevYr;
noOfDays = getNoOfDaysInMnth(prevMnth+1,prevYr);
fillDates(dayOfWeek+1,noOfDays);
if (document.forms[0].month.value == mnth){
document.forms[0].prev.value=' ';
}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="thisMonth()">

<table border=2 bgcolor="#BAA0A0" align=center>
<tr>
<td align=center>
<form>
<!-- Hidden fields --->

<input type=hidden name=month value="">
<input type=hidden name=year value="">
<input type=hidden name=currMonth value="">
<input type=hidden name=currYear value="">

<!-- End of Hidden fields --->

<p>
<input type="button" style="width:21" name="prev" onclick="prevMonth()"
value=" ">
<input type="text" size="15" name="monthYear"
value="">
<input type="button" style="width:22" name="next" onclick="nextMonth()" value=">>">
</p>

<table bgcolor="#D4D4D4" align=center border="1" cellpadding="0" cellspacing="0"
width="150">
<tr bgcolor="#10A0A0">
<td width="14%"><font face=verdana color=lime size="1"><strong>Пн</strong></font></td>
<td width="14%"><font face=verdana color=lime size="1"><strong>Вт</strong></font></td>
<td width="14%"><font face=verdana color=lime size="1"><strong>Ср</strong></font></td>
<td width="14%"><font face=verdana color=lime size="1"><strong>Чт</strong></font></td>
<td width="14%"><font face=verdana color=lime size="1"><strong>Пт</strong></font></td>
<td width="15%"><font face=verdana color=lime size="1"><strong>Сб</strong></font></td>
<td width="15%"><font face=verdana color=lime size="1"><strong>Вс</strong></font></td>
</tr>
<tr>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s1" value=" 1 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s2" value=" 2 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s3" value=" 3 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s4" value=" 4 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s5" value=" 5 "></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s6" value=" 6 "></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s7" value=" 7 "></td>
</tr>
<tr>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s8" value=" 8 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s9" value=" 9 "></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s10" value="10"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s11" value="11"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s12" value="12"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s13" value="13"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s14" value="14"></td>
</tr>
<tr>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s15" value="15"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s16" value="16"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s17" value="17"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s18" value="18"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s19" value="19"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s20" value="20"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s21" value="21"></td>
</tr>
<tr>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s22" value="22"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s23" value="23"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s24" value="24"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s25" value="25"></td>
<td align="center" width="14%"><input type="button"
onclick="setDate(this.value);"
name="s26" value="26"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s27" value="27"></td>
<td align="center" width="15%"><input type="button"
onclick="setDate(this.value);"
name="s28" value="28"></td>
</tr>
<tr>
<td align="center"><input type="button" name="s29"
onclick="setDate(this.value);"
value="29"></td>
<td align="center"><input type="button" name="s30"
onclick="setDate(this.value);"
value="30"></td>
<td align="center"><input type="button" name="s31"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s32"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s33"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s34"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s35"
onclick="setDate(this.value);"
value=" "></td>
</tr>
<tr>
<td align="center"><input type="button" name="s36"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s37"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s38"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s39"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s40"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s41"
onclick="setDate(this.value);"
value=" "></td>
<td align="center"><input type="button" name="s42"
onclick="setDate(this.value);"
value=" "></td>
</tr>
</table>
</form>
<form>
<table border=0 cellspacing=1 cellpadding=1>
<tr>
<td>
<b>Выбрано:</b>
</td>
<td align=center>
<input type=text size="12" name=dateField>
</td>
</table>
</form>

</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar1

Календарь

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nick Korosi (nfk2000@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();

function fToggleColor(myElement) {
var toggleColor = "#ff0000";
if (myElement.id == "calDateText") {
if (myElement.color == toggleColor) {
myElement.color = "";
} else {
myElement.color = toggleColor;
}
} else if (myElement.id == "calCell") {
for (var i in myElement.children) {
if (myElement.children[i].id == "calDateText") {
if (myElement.children[i].color == toggleColor) {
myElement.children[i].color = "";
} else {
myElement.children[i].color = toggleColor;
}
}
}
}
}
function fSetSelectedDay(myElement){
if (myElement.id == "calCell") {
if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) {
myElement.bgColor = "#c0c0c0";
objPrevElement.bgColor = "";
document.all.calSelectedDate.value = parseInt(myElement.children["calDateText"].innerText);
objPrevElement = myElement;
}
}
}
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 2) {
aMonth[0][0] = "Воскресенье";
aMonth[0][1] = "Понедельник";
aMonth[0][2] = "Вторник";
aMonth[0][3] = "Среда";
aMonth[0][4] = "Четверг";
aMonth[0][5] = "Пятница";
aMonth[0][6] = "Суббота";
} else if (iDayStyle == 1) {
aMonth[0][0] = "Вс";
aMonth[0][1] = "Пн";
aMonth[0][2] = "Вт";
aMonth[0][3] = "Ср";
aMonth[0][4] = "Чт";
aMonth[0][5] = "Пт";
aMonth[0][6] = "Сб";
} else {
aMonth[0][0] = "Вс";
aMonth[0][1] = "Пн";
aMonth[0][2] = "Вт";
aMonth[0][3] = "Ср";
aMonth[0][4] = "Чт";
aMonth[0][5] = "Пт";
aMonth[0][6] = "Сб";
}
for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
}
}
}
return aMonth;
}
function fDrawCal(iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle) {
var myMonth;
myMonth = fBuildCal(iYear, iMonth, iDayStyle);
document.write("<table border='1'>")
document.write("<tr>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][0] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][1] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][2] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][3] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][4] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][5] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][6] + "</td>");
document.write("</tr>");
for (w = 1; w < 7; w++) {
document.write("<tr>")
for (d = 0; d < 7; d++) {
document.write("<td align='left' valign='top' width='" + iCellWidth + "' height='" + iCellHeight + "' id=calCell style='CURSOR:Hand' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>");
if (!isNaN(myMonth[w][d])) {
document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>" + myMonth[w][d] + "</font>");
} else {
document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)> </font>");
}
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
}
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth);
objPrevElement.bgColor = "";
document.all.calSelectedDate.value = "";
for (w = 1; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (!isNaN(myMonth[w][d])) {
calDateText[((7*w)+d)-7].innerText = myMonth[w][d];
} else {
calDateText[((7*w)+d)-7].innerText = " ";
}
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript" for=window event=onload>
<!-- Begin
var dCurDate = new Date();
frmCalendarSample.tbSelMonth.options[dCurDate.getMonth()].selected = true;
for (i = 0; i < frmCalendarSample.tbSelYear.length; i++)
if (frmCalendarSample.tbSelYear.options[i].value == dCurDate.getFullYear())
frmCalendarSample.tbSelYear.options[i].selected = true;
// End -->
</script>

<form name="frmCalendarSample" method="post" action="">
<input type="hidden" name="calSelectedDate" value="">

<table border="1" bgcolor="#CCCCCC">
<tr>
<td>
<select name="tbSelMonth" onchange='fUpdateCal(frmCalendarSample.tbSelYear.value, frmCalendarSample.tbSelMonth.value)'>
<option value="1">Январь</option>
<option value="2">Февраль</option>
<option value="3">Март</option>
<option value="4">Апрель</option>
<option value="5">Май</option>
<option value="6">Июнь</option>
<option value="7">Июль</option>
<option value="8">Август</option>
<option value="9">Сентябрь</option>
<option value="10">Октябрь</option>
<option value="11">Ноябрь</option>
<option value="12">Декабрь</option>
</select>

<select name="tbSelYear" onchange='fUpdateCal(frmCalendarSample.tbSelYear.value, frmCalendarSample.tbSelMonth.value)'>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
<option value="2001">2001</option>
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
</select>
</td>
</tr>
<tr>
<td>
<script language="JavaScript">
var dCurDate = new Date();
fDrawCal(dCurDate.getFullYear(), dCurDate.getMonth()+1, 30, 30, "12px", "bold", 1);
</script>
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar4

Календарь с выделенной текущей датой

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
monthnames = new Array(
"Январь",
"Февраль",
"Март",
"Апрель",
"Май",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь");
var linkcount=0;
function addlink(month, day, href) {
var entry = new Array(3);
entry[0] = month;
entry[1] = day;
entry[2] = href;
this[linkcount++] = entry;
}
Array.prototype.addlink = addlink;
linkdays = new Array();
monthdays = new Array(12);
monthdays[0]=31;
monthdays[1]=28;
monthdays[2]=31;
monthdays[3]=30;
monthdays[4]=31;
monthdays[5]=30;
monthdays[6]=31;
monthdays[7]=31;
monthdays[8]=30;
monthdays[9]=31;
monthdays[10]=30;
monthdays[11]=31;
todayDate=new Date();
thisday=todayDate.getDay();
thismonth=todayDate.getMonth();
thisdate=todayDate.getDate();
thisyear=todayDate.getYear();
thisyear = thisyear % 100;
thisyear = ((thisyear < 50) ? (2000 + thisyear) : (1900 + thisyear));
if (((thisyear % 4 == 0)
&& !(thisyear % 100 == 0))
||(thisyear % 400 == 0)) monthdays[1]++;
startspaces=thisdate;
while (startspaces > 7) startspaces-=7;
startspaces = thisday - startspaces + 1;
if (startspaces < 0) startspaces+=7;
document.write("<table border=2 bgcolor=\"#CCCCCC\" ");
document.write("bordercolor=black><font color=black>");
document.write("<tr><td colspan=7><center><strong>"
+ monthnames[thismonth] + " " + thisyear
+ "</strong></center></font></td></tr>");
document.write("<tr>");
document.write("<td align=center>Вс</td>");
document.write("<td align=center>Пн</td>");
document.write("<td align=center>Вт</td>");
document.write("<td align=center>Ср</td>");
document.write("<td align=center>Чт</td>");
document.write("<td align=center>Пт</td>");
document.write("<td align=center>Сб</td>");
document.write("</tr>");
document.write("<tr>");
for (s=0;s<startspaces;s++) {
document.write("<td> </td>");
}
count=1;
while (count <= monthdays[thismonth]) {
for (b = startspaces;b<7;b++) {
linktrue=false;
document.write("<td>");
for (c=0;c<linkdays.length;c++) {
if (linkdays[c] != null) {
if ((linkdays[c][0]==thismonth + 1) && (linkdays[c][1]==count)) {
document.write("<a href=\"" + linkdays[c][2] + "\">");
linktrue=true;
}
}
}
if (count==thisdate) {
document.write("<font color='FF0000'><strong>");
}
if (count <= monthdays[thismonth]) {
document.write(count);
}
else {
document.write(" ");
}
if (count==thisdate) {
document.write("</strong></font>");
}
if (linktrue)
document.write("</a>");
document.write("</td>");
count++;
}
document.write("</tr>");
document.write("<tr>");
startspaces=0;
}
document.write("</table></p>");
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar5

Календарь
(с приветствием и временен захода на страницу)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function greeting() {
var today = new Date();
var hrs = today.getHours();
document.writeln("<CENTER>");
if ((hrs >=6) && (hrs <=18))

document.write("");
document.writeln("<BR>");
document.write("<H1>");
if (hrs < 6)
document.write("Здравствуйте");
else if (hrs < 12)
document.write("Доброе утро");
else if (hrs <= 18)
document.write("Добрый день");
else
document.write("Добрый вечер");
document.writeln("!</H1>");
document.write("Вы вошли на эту страницу ");
dayStr = today.toLocaleString();
document.write(dayStr);
document.writeln("</CENTER>");
}
function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11)
{
this[0] = m0;
this[1] = m1;
this[2] = m2;
this[3] = m3;
this[4] = m4;
this[5] = m5;
this[6] = m6;
this[7] = m7;
this[8] = m8;
this[9] = m9;
this[10] = m10;
this[11] = m11;
}
function calendar()
{
var monthNames = "ЯнвФевMaрАпрельMaйИюнИюлАвгСенОктNНояДек";
var today = new Date();
var thisDay;
var monthDays = new montharr(31, 28, 31, 30, 31, 30, 31, 31, 30,31, 30, 31);
year = today.getYear();
if (year < 2000)    // Y2K Fix, Isaac Powell
year = year + 1900; // http://onyx.idbsu.edu/~ipowell
thisDay = today.getDate();
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
monthDays[1] = 29;
nDays = monthDays[today.getMonth()];
firstDay = today;
firstDay.setDate(1);
testMe = firstDay.getDate();
if (testMe == 2)
firstDay.setDate(0);
startDay = firstDay.getDay();
document.writeln("<CENTER>");
document.write("<TABLE BORDER>");
document.write("<TR><TH COLSPAN=7>");
document.write(monthNames.substring(today.getMonth() * 3,
(today.getMonth() + 1) * 3));
document.write(". ");
document.write(year);
document.write("<TR> <TH>Sun <TH>Mon <TH>Tue <TH>Wed <TH>Thu <TH>Fri
 <TH>Sat"
 );
document.write("<TR>");
column = 0;
for (i=0; i<startDay; i++) {
document.write("<TD width=30>");
column++;
}
for (i=1; i<=nDays; i++) {
document.write("<TD width=30>");
if (i == thisDay)
document.write("<FONT COLOR=\"#FF0000\">")
document.write(i);
if (i == thisDay)
document.write("</FONT>")
column++;
if (column == 7) {
document.write("<TR>");
column = 0;
}
}
document.write("</TABLE>");
document.writeln("</CENTER>");
}
greeting();
document.write("</br>");
calendar();
document.write("");
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar3

Календарь с рисунками
Этот замечательный и несложный календарь безусловно украсит любой вебсайт. Ежемесячно меняется рисунок для месяца и ежедневно для даты. К сожалению, из-за большого количества необходимых рисунков (12 шт. для месяцев и 31 шт. для дней) и, соответственно, их размеров, включить все в программу нет возможности. Для примера приведена пара apr.gif и 4rd.gif, которые взяты на сайтах, адреса которых выделены белым цветом в первой таблице.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Jeff Harding (jbh@site-ations.com) -->
<!-- Web Site:  http://www.site-ations.com -->

<!--  Рисунки для дней (c): http://www.site-ations.com
       -->
<!--  Рисунки для месяцев (c): http://www.bruce-hamilton.com
       -->

<!-- Begin
theDate= new Date();
months = new Array();
days = new Array();
months[1] ="jan.gif";
months[2] ="feb.gif";
months[3] ="mar.gif";
months[4] ="apr.gif";
months[5] ="may.gif";
months[6] ="jun.gif";
months[7] ="jul.gif";
months[8] ="aug.gif";
months[9] ="sep.gif";
months[10] ="oct.gif";
months[11] ="nov.gif";
months[12] ="dec.gif";
days[1] ="1st.gif";
days[2] ="2nd.gif";
days[3] ="3rd.gif";
days[4] ="4th.gif";
days[5] ="5th.gif";
days[6] ="6th.gif";
days[7] ="7th.gif";
days[8] ="8th.gif";
days[9] ="9th.gif";
days[10] ="10th.gif";
days[11] ="11th.gif";
days[12] ="12th.gif";
days[13] ="13th.gif";
days[14] ="14th.gif";
days[15] ="15th.gif";
days[16] ="16th.gif";
days[17] ="17th.gif";
days[18] ="18th.gif";
days[19] ="18th.gif";
days[20] ="20th.gif";
days[21] ="21st.gif";
days[22] ="22nd.gif";
days[23] ="23rd.gif";
days[24] ="24th.gif";
days[25] ="25th.gif";
days[26] ="26th.gif";
days[27] ="27th.gif";
days[28] ="28th.gif";
days[29] ="29th.gif";
days[30] ="30th.gif";
days[31] ="31st.gif";
function printDate() {
document.write('<img src="' + months[theDate.getMonth()+1] + '">'); // month
document.write('<br>');
document.write('<img src="' + days[theDate.getDate()] + '">'); // day
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script>
printDate();
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar10

Календарь с выделенной сегодняшней датой и временем

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
/*Copyright 1996 - Tomer and Yehuda Shiran
Feel free to "steal" this code provided that you leave this notice as is.
Additional examples from the book can be found at http://www.geocities.com/SiliconValley/9000/
For more information contact Tomer or Yehuda Shiran <yshiran@iil.intel.com>*/

setCal()

function getTime() {
// initialize time-related variables with current time settings
var now = new Date()
var hour = now.getHours()
var minute = now.getMinutes()
now = null
var ampm = ""

// validate hour values and set value of ampm
if (hour >= 12) {
hour -= 12
ampm = "PM"
} else
ampm = "AM"
hour = (hour == 0) ? 12 : hour

// add zero digit to a one digit minute
if (minute < 10)
minute = "0" + minute // do not parse this number!

// return time string
return hour + ":" + minute + " " + ampm
}

function leapYear(year) {
if (year % 4 == 0) // basic rule
return true // is leap year
/* else */ // else not needed when statement is "return"
return false // is not leap year
}

function getDays(month, year) {
// create array to hold number of days in each month
var ar = new Array(12)
ar[0] = 31 // January
ar[1] = (leapYear(year)) ? 29 : 28 // February
ar[2] = 31 // March
ar[3] = 30 // April
ar[4] = 31 // May
ar[5] = 30 // June
ar[6] = 31 // July
ar[7] = 31 // August
ar[8] = 30 // September
ar[9] = 31 // October
ar[10] = 30 // November
ar[11] = 31 // December

// return number of days in the specified month (parameter)
return ar[month]
}

function getMonthName(month) {
// create array to hold name of each month
var ar = new Array(12)
ar[0] = "Январь"
ar[1] = "Февраль"
ar[2] = "Март"
ar[3] = "Апрель"
ar[4] = "Май"
ar[5] = "Июнь"
ar[6] = "Июль"
ar[7] = "Август"
ar[8] = "Сентябрь"
ar[9] = "Октябрь"
ar[10] = "Ноябрь"
ar[11] = "Декабрь"

// return name of specified month (parameter)
return ar[month]
}

function setCal() {
// standard time attributes
var now = new Date()
var year = now.getYear()
if (year < 1000)
year+=1900
var month = now.getMonth()
var monthName = getMonthName(month)
var date = now.getDate()
now = null

// create instance of first day of month, and extract the day on which it occurs
var firstDayInstance = new Date(year, month, 1)
var firstDay = firstDayInstance.getDay()
firstDayInstance = null

// number of days in current month
var days = getDays(month, year)

// call function to draw calendar
drawCal(firstDay + 1, days, date, monthName, year)
}

function drawCal(firstDay, lastDate, date, monthName, year) {
// constant table settings
var headerHeight = 50 // height of the table's header cell
var border = 2 // 3D height of table's border
var cellspacing = 4 // width of table's border
var headerColor = "midnightblue" // color of table's header
var headerSize = "+3" // size of tables header font
var colWidth = 60 // width of columns in table
var dayCellHeight = 25 // height of cells containing days of the week
var dayColor = "darkblue" // color of font representing week days
var cellHeight = 40 // height of cells representing dates in the calendar
var todayColor = "red" // color specifying today's date in the calendar
var timeColor = "purple" // color of font representing current time

// create basic table structure
var text = "" // initialize accumulative variable to empty string
text += '<CENTER>'
text += '<TABLE BGCOLOR=cccccc BORDER=' + border + ' CELLSPACING=' + cellspacing + '>' // table settings
text += '<TH COLSPAN=7 HEIGHT=' + headerHeight + '>' // create table header cell
text += '<FONT COLOR="' + headerColor + '" SIZE=' + headerSize + '>' // set font for table header
text += monthName + ' ' + year
text += '</FONT>' // close table header's font settings
text += '</TH>' // close header cell

// variables to hold constant settings
var openCol = '<TD nowrap WIDTH=' + colWidth + ' HEIGHT=' + dayCellHeight + '>'
openCol += '<FONT Face=helvetica size=1 COLOR="' + dayColor + '">'
var closeCol = '</FONT></TD>'

// create array of abbreviated day names
var weekDay = new Array(7)
weekDay[0] = "Воскресенье"
weekDay[1] = "Понедельник"
weekDay[2] = " Вторник "
weekDay[3] = " Среда "
weekDay[4] = " Четверг "
weekDay[5] = " Пятница "
weekDay[6] = " Суббота "

// create first row of table to set column width and specify week day
text += '<TR ALIGN="center" VALIGN="center">'
for (var dayNum = 0; dayNum < 7; ++dayNum) {
text += openCol + weekDay[dayNum] + closeCol
}
text += '</TR>'

// declaration and initialization of two variables to help with tables
var digit = 1
var curCell = 1

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
text += '<TR ALIGN="right" VALIGN="top">'
for (var col = 1; col <= 7; ++col) {
if (digit > lastDate)
break
if (curCell < firstDay) {
text += '<TD></TD>';
curCell++
} else {
if (digit == date) { // current cell represent today's date
text += '<TD HEIGHT=' + cellHeight + '>'
text += '<FONT COLOR="' + todayColor + '">'
text += digit
text += '</FONT><BR>'
text += '<FONT COLOR="' + timeColor + '" SIZE=2>'
text += '<CENTER>' + getTime() + '</CENTER>'
text += '</FONT>'
text += '</TD>'
} else
text += '<TD HEIGHT=' + cellHeight + '>' + digit + '</TD>'
digit++
}
}
text += '</TR>'
}

// close all basic table tags
text += '</TABLE>'
text += '</CENTER>'

// print accumulative HTML string
document.write(text)
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calendar13

Календарь с выделенной сегодняшней датой 2
Возможно, кому-то понравится именно такая версия...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

/*
Dynamic Calendar II (By Jason Moon at jasonmoon@usa.net, http://jasonmoon.virtualave.net/)
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var ns6=document.getElementById&&!document.all
var ie4=document.all

var Selected_Month;
var Selected_Year;
var Current_Date = new Date();
var Current_Month = Current_Date.getMonth();

var Days_in_Month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var Month_Label = new Array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь');

var Current_Year = Current_Date.getYear();
if (Current_Year < 1000)
Current_Year+=1900

var Today = Current_Date.getDate();

function Header(Year, Month) {

if (Month == 1) {
Days_in_Month[1] = ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 !=0))) ? 29 : 28;
}
var Header_String = Month_Label[Month] + ' ' + Year;
return Header_String;
}

function Make_Calendar(Year, Month) {
var First_Date = new Date(Year, Month, 1);
var Heading = Header(Year, Month);
var First_Day = First_Date.getDay() + 1;
if (((Days_in_Month[Month] == 31) && (First_Day >= 6)) ||
((Days_in_Month[Month] == 30) && (First_Day == 7))) {
var Rows = 6;
}
else if ((Days_in_Month[Month] == 28) && (First_Day == 1)) {
var Rows = 4;
}
else {
var Rows = 5;
}

var HTML_String = '<table align="center"><tr><td valign="top"><table BORDER=4 CELLSPACING=1 cellpadding=2 FRAME="box" BGCOLOR="C0C0C0" BORDERCOLORLIGHT="808080">';

HTML_String += '<tr><th colspan=7 BGCOLOR="FFFFFF" BORDERCOLOR="000000">' + Heading + '</font></th></tr>';

HTML_String += '<tr><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Вс.</th><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Пн.</th><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Вт.</th><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Ср.</th>';

HTML_String += '<th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Чт.</th><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Пт.</th><th ALIGN="CENTER" BGCOLOR="FFFFFF" BORDERCOLOR="000000">Сб.</th></tr>';

var Day_Counter = 1;
var Loop_Counter = 1;
for (var j = 1; j <= Rows; j++) {
HTML_String += '<tr ALIGN="left" VALIGN="top">';
for (var i = 1; i < 8; i++) {
if ((Loop_Counter >= First_Day) && (Day_Counter <= Days_in_Month[Month])) {
if ((Day_Counter == Today) && (Year == Current_Year) && (Month == Current_Month)) {
HTML_String += '<td BGCOLOR="FFFFFF" BORDERCOLOR="000000"><strong><font color="red">' + Day_Counter + '</font></strong></td>';
}
else {
HTML_String += '<td BGCOLOR="FFFFFF" BORDERCOLOR="000000">' + Day_Counter + '</td>';
}
Day_Counter++;
}
else {
HTML_String += '<td BORDERCOLOR="C0C0C0"> </td>';
}
Loop_Counter++;
}
HTML_String += '</tr>';
}
HTML_String += '</table></td></tr></table>';
cross_el=ns6? document.getElementById("Calendar") : document.all.Calendar
cross_el.innerHTML = HTML_String;
}

function Check_Nums() {
if ((event.keyCode < 48) || (event.keyCode > 57)) {
return false;
}
}

function On_Year() {
var Year = document.when.year.value;
if (Year.length == 4) {
Selected_Month = document.when.month.selectedIndex;
Selected_Year = Year;
Make_Calendar(Selected_Year, Selected_Month);
}
}

function On_Month() {
var Year = document.when.year.value;
if (Year.length == 4) {
Selected_Month = document.when.month.selectedIndex;
Selected_Year = Year;
Make_Calendar(Selected_Year, Selected_Month);
}
else {
alert('Please enter a valid year.');
document.when.year.focus();
}
}

function Defaults() {
if (!ie4&&!ns6)
return
var Mid_Screen = Math.round(document.body.clientWidth / 2);
document.when.month.selectedIndex = Current_Month;
document.when.year.value = Current_Year;
Selected_Month = Current_Month;
Selected_Year = Current_Year;
Make_Calendar(Current_Year, Current_Month);
}

function Skip(Direction) {
if (Direction == '+') {
if (Selected_Month == 11) {
Selected_Month = 0;
Selected_Year++;
}
else {
Selected_Month++;
}
}
else {
if (Selected_Month == 0) {
Selected_Month = 11;
Selected_Year--;
}
else {
Selected_Month--;
}
}
Make_Calendar(Selected_Year, Selected_Month);
document.when.month.selectedIndex = Selected_Month;
document.when.year.value = Selected_Year;
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="Defaults()">

<center><table align=center bgcolor=gray border=2><tr><td align=center>
<div id=NavBar style="position:relative;width:238px;top:5px;" align="left">
<form name="when"><table align="center">
<tr>
<td align="center"><input type="button" value="<-- " onClick="Skip('-')"></td>
<td align="center"> </td>
<td align="center"><select name="month" onChange="On_Month()">

<script language="JavaScript1.2">
if (ie4||ns6){
for (j=0;j<Month_Label.length;j++) {
document.writeln('<option value=' + j + '>' + Month_Label[j]);
}
}
</script>

</select>
</td>
<td align="center"><input type="text" name="year" size=4 maxlength=4 onKeyPress="return Check_Nums()" onKeyUp="On_Year()"></td>
<td align="center"> </td>
<td align="center"><input type="button" value=" -->" onClick="Skip('+')"></td>
</tr></table></form></div>
<div id=Calendar style="position:relative;width:238px;top:-2px;" align="left"></div>
</td></tr></table></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 2

КНОПКА "Alert dialog box"

(нажмите кнопку для теста)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT type="button" value="Alert (демонстрация)"
onClick='alert("Поместите сюда свой текст!")'>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 13

Анимированная кнопка

(каждый прокручиваемый вариант имеет свой Url)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
//author: Jan_P@dds.nl
var timerID = null
var timerRunning = false
var charNo = 0
var charMax = 0
var lineNo = 0
var lineMax = 3
var lineArr = new Array(lineMax)
var urlArr = new Array(lineMax)
lineArr[1] = "E-Port Software Team"
urlArr[1] = "http://e-port.yeah.net"
lineArr[2] = "Yahoo"
urlArr[2] = "http://www.yahoo.com"
lineArr[3] = "AltaVista"
urlArr[3] = "http://www.altavista.digital.com"
var lineText = lineArr[1]
function StartShow() {
StopShow()
ShowLine()
timerRunning = true
}
document.writeln("");
function FillSpaces() {
for (var i = 1; i <= lineWidth; i++) {
spaces += " "
}
}
function StopShow() {
if (timerRunning) {
clearTimeout(timerID)
timerRunning = false
}
}
function ShowLine() {
if (charNo == 0) { // Next line
if (lineNo < lineMax) {
lineNo++
}
else {
lineNo = 1
}
lineText = lineArr[lineNo]
charMax = lineText.length
}
if (charNo <= charMax) { // Next char
document.formDisplay. buttonFace.value = lineText.substring(0, charNo)
charNo++
timerID = setTimeout("ShowLine()", 100)
}
else {
charNo = 0
timerID = setTimeout("ShowLine()", 3000)
}
}
function GotoUrl(url)
{
top.location.href = url
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="StartShow()">

<FORM NAME="formDisplay">
<INPUT TYPE="BUTTON" NAME="buttonFace" VALUE="lineText" SIZE="18" onClick="GotoUrl(urlArr[lineNo])">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But14

Анимированная кнопка 2

(европейский вид)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<form name="form2" action=(home.htm)>
<input type="submit" name="banner" VALUE="Все таки не нажал...">
</form>
</CENTER>

<script language="JavaScript">
// Copyright 1998 Jon Eyrick - action1@vfr.net
var id,pause=0,position=0;
function banner() {
// Поместите свое содержание
var i,k,msg=" Нажать, что ли.. Или не нажимать? Может все же нажать? А вдруг обманут?";
k=(60/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg;
document.form2.banner.value= msg.substring(position,position+60);
if(position++==msg.length) position=0;
id=setTimeout("banner()",150); }
// end -->
banner();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But20

Многофункциональная анимированная кнопка с различными видами скроллинга заголовка и разными URLs

Из названия примерно ясен и принцип работы этого скрипта. Кнопка полностью написана на JavaScript и имеет много настроек (см. комментарии). Каждая надпись на кнопке соответствует своему собственному URL, по которому отправиться посетитель после нажатия кнопки.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="StartHeadliner()">

<SCRIPT LANGUAGE="JavaScript">

<!-- Original:  Jan Pijnacker <Jan_P@dds.nl> -->

<!-- Begin
typeWriterWait=120		// Задержка "печати"
blinkTextWait=1000   	// Задержка мигания
blinkSpacesWait=300 	// Задержка мигания кнопки без надписи
blinkMax=3         		// Количество миганий
expandWait=100  		// Задержка расширения заголовка
scrollWait=90		// Задержка скроллинга заголовка
scrollWidth=34 		// Количество воспроизводимых букв
randomLines=false		// Случайность выбора надписей  (true или false)
lineMax=7			// Количество разных надписей
lines=new Array(lineMax)

// Текст для воспроизведения, url или mailto (желтые),
 имя окна фрэйма (здесь везде пропущено -
 ""), название эффекта, время задержки(белое)

lines[1]=new Line("JavaScript Заголовок!", "#top", "", Blink,
 500)
lines[2]=new Line("Это отличный пример JavaScript - называется ' JavaScript Заголовок ' !",
 "#top", "", Scroll,
 1000)
lines[3]=new Line("Разве плохо это смотрелось бы на Вашем сайте?",
 "#top", "", Static,
 3500)
lines[4]=new Line("Много вариантов представления информации....",
 "#top", "", Expand,
 2000)
lines[5]=new Line("Каждое сообщение имеет свой URL для кнопки !",
 "#top", "", Scroll,
 3000)
lines[6]=new Line("Нажмите сейчас, чтобы написать письмо автору JS Library",
 "mailto:eugenezz@yandex.ru?subject=JavaScript Заголовок", "", TypeWriter,
 1500)
lines[7]=new Line("Или здесь, просто так...", "#top", "", Static,
 3500)
// Don't change these variables below  :-)
lineText=""
timerID=null
timerRunning=false
spaces=""
charNo=0
charMax=0
charMiddle=0
lineNo=0
lineWait=0
function Line(text, url, frame, type, wait) {
this.text=text
this.url=url
this.frame=frame
this.Display=type
this.wait=wait
}
function StringFill(c, n) {
var s=""
while (--n >= 0) {
s+=c
}
return s
}
function getNewRandomInteger(oldnumber, max) {
var n=Math.floor(Math.random() * (max - 1) + 1)
if (n >= oldnumber) {
n++
}
return n
}
function getRandomInteger(max) {
var n=Math.floor(Math.random() * max + 1)
return n
}
function GotoUrl(url, frame) {
if (frame != '') {
if (frame == 'self') self.location.href=url
else if (frame == 'parent') parent.location.href=url
else if (frame == 'top') top.location.href=url
else {
s=eval(top.frames[frame])
if (s != null) top.eval(frame).location.href=url
else window.open(url, frame, "toolbar=yes,status=yes,scrollbars=yes")
}
}
else window.location.href=url
}
function Static() {
document.formDisplay.buttonFace.value=this.text
timerID=setTimeout("ShowNextLine()", this.wait)
}
function TypeWriter() {
lineText=this.text
lineWait=this.wait
charMax=lineText.length
spaces=StringFill(" ", charMax)
TextTypeWriter()
}
function TextTypeWriter() {
if (charNo <= charMax) {
document.formDisplay.buttonFace.value= lineText.substring(0, charNo)+spaces.substring(0, charMax-charNo)
charNo++
timerID=setTimeout("TextTypeWriter()", typeWriterWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Blink() {
lineText=this.text
charMax=lineText.length
spaces=StringFill(" ", charMax)
lineWait=this.wait
TextBlink()
}
function TextBlink() {
if (charNo <= blinkMax * 2) {
if ((charNo % 2) == 1) {
document.formDisplay.buttonFace.value=lineText
blinkWait=blinkTextWait
}
else {
document.formDisplay.buttonFace.value=spaces
blinkWait=blinkSpacesWait
}
charNo++
timerID=setTimeout("TextBlink()", blinkWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Expand() {
lineText=this.text
charMax=lineText.length
charMiddle=Math.round(charMax / 2)
lineWait=this.wait
TextExpand()
}
function TextExpand() {
if (charNo <= charMiddle) {
document.formDisplay.buttonFace.value= lineText.substring(charMiddle - charNo, charMiddle + charNo)
charNo++
timerID=setTimeout("TextExpand()", expandWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function Scroll() {
spaces=StringFill(" ", scrollWidth)
lineText=spaces+this.text
charMax=lineText.length
lineText+=spaces
lineWait=this.wait
TextScroll()
}
function TextScroll() {
if (charNo <= charMax) {
document.formDisplay.buttonFace.value= lineText.substring(charNo, scrollWidth+charNo)
charNo++
timerID=setTimeout("TextScroll()", scrollWait)
}
else {
charNo=0
timerID=setTimeout("ShowNextLine()", lineWait)
}
}
function StartHeadliner() {
StopHeadliner()
timerID=setTimeout("ShowNextLine()", 2000)
timerRunning=true
}
function StopHeadliner() {
if (timerRunning) {
clearTimeout(timerID)
timerRunning=false
}
}
function ShowNextLine() {
if (randomLines) lineNo=getNewRandomInteger(lineNo, lineMax)
else (lineNo < lineMax) ? lineNo++ : lineNo=1
lines[lineNo].Display()
}
function LineClick(lineNo) {
document.formDisplay.buttonFace.blur()
if (lineNo > 0) GotoUrl(lines[lineNo].url, lines[lineNo].frame)
}
with (document) {
write('<center><form name="formDisplay"><input type="button"')
write('name="buttonFace" value="JS Library представляет...."')
write('onClick="LineClick(lineNo)"> </input></form></center>')
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But23

Больше - меньше
(считать будет до бесконечности - для тех, кто не может заснуть:)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=text name=amount value=5>
<input type=button value="больше" onClick="javascript:this.form.amount.value++;">
<input type=button value="меньше" onClick="javascript:this.form.amount.value--;">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But29

Включение радио-кнопок при наведении мыши на линк
Не самый необходимый скрипт, но довольно занимательный...

Линк 1
Линк 2
Линк 3
Линк 4
Линк 5
Линк 6

Вместо #top впишите адреса нужных страниц, вместо Линк 1, Линк 2 и т.д. - ваш текст.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="rolloverbox">
<p><input type="checkbox" name="boxes" value="ON"><a href="#top"
onMouseover="rollovercheck(0)" onMouseout="rolloutcheck(0)">Линк 1</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(1)"
onMouseout="rolloutcheck(1)">Линк 2</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(2)"
onMouseout="rolloutcheck(2)">Линк 3</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(3)"
onMouseout="rolloutcheck(3)">Линк 4</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(4)"
onMouseout="rolloutcheck(4)">Линк 5</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(5)"
onMouseout="rolloutcheck(5)">Линк 6</a></p>
</form>

<script>

/*Rollover check box link credit
By Website Abstraction (www.wsabstract.com)
Over 200+ free scripts here!
*/

var thebox=document.rolloverbox
function rollovercheck(whichbox){
thebox.boxes[whichbox].checked=true
}

function rolloutcheck(whichbox){
thebox.boxes[whichbox].checked=false
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form25

Включение/выключение кнопки при клике по тексту

Кликнув по тексту Вы также включите кнопку.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: trs2005@yahoo.com -->
<!-- Modified by: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function changeBox(cbox) {
box = eval(cbox);
box.checked = !box.checked;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=demoform>
<input type=checkbox name=agreebox>
<span id="hellospan" style="cursor:hand;" onClick="changeBox('document.demoform.agreebox')">Кликнув по тексту Вы также включите кнопку.</span>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form21

"Выбрать все" для радио-кнопок

Чего бы Вы хотели больше всего
Получить в подарок машину
Избавиться от всех болезней
Выйграть путевку на Канары
Найти клад в своем подвале
Поставить на комп Pentium X

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Modified By: Steve Robison, Jr. (stevejr@ce.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
for (i = 0; i < field.length; i++) {
field[i].checked = true;}
checkflag = "true";
return "Сбросить все!!!"; }
else {
for (i = 0; i < field.length; i++) {
field[i].checked = false; }
checkflag = "false";
return "Выбрать все!!!"; }
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=myform action="" method=post>
<table>
<tr><td>
<b>Чего бы Вы хотели больше всего</b><br>
<input type=checkbox name=list value="1">Получить в подарок машину<br>
<input type=checkbox name=list value="2">Избавиться от всех болезней<br>
<input type=checkbox name=list value="3">Выйграть путевку на Канары<br>
<input type=checkbox name=list value="4">Найти клад в своем подвале<br>
<input type=checkbox name=list value="5">Поставить на комп Pentium X<br>
<br>
<input type=button value="Выбрать все!!!" onClick="this.value=check(this.form.list)">
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form23

"Выбрать все" для радио-кнопок (2)

C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
C12
C13
C14

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkAll() {
for (var j = 1; j <= 14; j++) {
box = eval("document.checkboxform.C" + j);
if (box.checked == false) box.checked = true;
}
}

function uncheckAll() {
for (var j = 1; j <= 14; j++) {
box = eval("document.checkboxform.C" + j);
if (box.checked == true) box.checked = false;
}
}

function switchAll() {
for (var j = 1; j <= 14; j++) {
box = eval("document.checkboxform.C" + j);
box.checked = !box.checked;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=checkboxform>
<Table>
<tr>
<td align=left width=40>
<input type=checkbox name=C1 checked>C1<br>
<input type=checkbox name=C2 checked>C2<br>
<input type=checkbox name=C3 checked>C3<br>
<input type=checkbox name=C4 checked>C4<br>
<input type=checkbox name=C5 checked>C5<br>
<input type=checkbox name=C6 checked>C6<br>
<input type=checkbox name=C7 checked>C7<br>
<input type=checkbox name=C8 checked>C8<br>
<input type=checkbox name=C9 checked>C9<br>
<input type=checkbox name=C10 checked>C10<br>
<input type=checkbox name=C11 checked>C11<br>
<input type=checkbox name=C12 checked>C12<br>
<input type=checkbox name=C13 checked>C13<br>
<input type=checkbox name=C14 checked>C14<br>
<br>
</td>
</tr>
</table>
<input type=button value="Включить все" onClick="checkAll()"><br>
<input type=button value="Выключить все" onClick="uncheckAll()"><br>
<input type=button value="Вкл/Выкл все" onClick="switchAll()"><br>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But17

Замена текста на кнопке после клика

Содержимое этой таблицы поместите между <BODY> и </BODY>

<Form>
<input type=button name=we value="Кликните по этой кнопке" onFocus="Javascript:if(this.value='text')this.value='Замененный текст здесь'">
</Form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 5

Изменение цвета кнопки-рисунка при наведении мыши

Наведите курсор на кнопку

Просто кнопка

(все картинки, необходимые для этого скрипта находятся внизу страницы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
clickme1 = new Image(75,22); clickme1.src = "clickme1.gif";
clickme2 = new Image(75,22); clickme2.src = "clickme2.gif";
}
function hiLite(imgName,imgObjName)
{
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="another.htm"
onMouseOver="hiLite('img01','clickme2')"
onMouseOut="hiLite('img01','clickme1')">
<IMG SRC="clickme1.gif" WIDTH="75" HEIGHT="22" BORDER="0"
ALT="Просто кнопка" NAME="img01"></A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

clickme1.gif
clickme2.gif


Buttons 7

Изменение картинки при наведении мыши на кнопку

(скрипт можно использовать для создания любого gif-комментария к кнопке)

Вспышка Камера

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
camera_off = new Image(42,44); camera_off.src="camera_off.gif";
camera_on = new Image(42,44); camera_on.src= "camera_on.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
function idiotka() {
// pusto-pusto
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="javascript:idiotka()"
onMouseOver="hiLite('img04','camera_on')"
onMouseOut="hiLite('img04','camera_off')"
onClick='window.open("popdemo.htm", "demo", "width=200, height=170")'><IMG
SRC="flash.gif" WIDTH="64" HEIGHT="16" BORDER="0"
ALT="Вспышка" style="color: #FFFFFF; border: 2 outset #FFFFFF"></A>
<IMG SRC="camera_off.gif" WIDTH="42" HEIGHT="44" BORDER="0"
ALT="Камера" NAME="img04">

Для работы кнопки как линка используйте эти же, несколько измененные, коды:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
camera_off = new Image(42,44); camera_off.src="camera_off.gif";
camera_on = new Image(42,44); camera_on.src= "camera_on.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <A HREF="home.htm"
onMouseOver="hiLite('img04','camera_on')"
onMouseOut="hiLite('img04','camera_off')"
onClick='window.open("popdemo.htm", "demo", "width=200,
 height=170")'><IMG
SRC="flash.gif" WIDTH="64" HEIGHT="16" BORDER="0"
ALT="Вспышка" style="color: #FFFFFF; border: 2 outset
 #FFFFFF"></A>
<IMG SRC="camera_off.gif" WIDTH="42" HEIGHT="44"
 BORDER="0"
ALT="Камера" NAME="img04">

(Белым цветом указан файл, который будет открываться после клика по кнопке)

ПРИМЕР:

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

camera_off.gif
camera_on.gif

flash.gif


But31

Изменение рисунка фона кнопки при наведении мыши
Это может быть вовсе не кнопка! Любой элемент, в котором предусмотрен рисунок фона!

Только IE4.5+

В качестве фоновых использованы рисунки национальных флагов этих стран. Рисунок можно определить единым для всех кнопок (вовсе не обязательно флаг!). Для этого выделенную белым строку поместите в тэг <form сюда >, а из остальных тэгов подобные строки просто удалите.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

/*
rollover image buttons script credit: Website Abstraction (www.wsabstract.com) More free JavaScripts here. Note:Credit must stay intact for use.
*/

function change2(image){
if (event.srcElement.tagName=="INPUT")
event.srcElement.style.background="url"+"('"+image+"')"
}

function jumpto2(url){
window.location=url
}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form >
<input type="button" onMouseover="change2('spain.gif')" onMouseout="change2('')" value="В Испанию !" style="font-weight:bold;width:130" onClick="jumpto2('cut1.htm')"><br>
<input type="button" onMouseover="change2('germany.gif')" onMouseout="change2('')" value="В Германию !" style="font-weight:bold;width:130" onClick="jumpto2('cut2.htm')"><br>
<input type="button" onMouseover="change2('luxembourg.gif')" onMouseout="change2('')" value="В Люксембург! " style="font-weight:bold;width:130" onClick="jumpto2('cut3.htm')"><br>

</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 3

КНОПКА (линк) "ЗАКРЫТЬ ОКНО"

(нажатие на кнопку откроет дополнительное окно с кнопкой и линком "закрыть", которое Вы и закроете)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER><FORM>
<INPUT type="Button" VALUE="Закрыть окно" onClick="self.close()">
</FORM></CENTER>

ИЛИ ДЛЯ ЛИНКА:

<p style"align: center">
<A HREF=JavaScript:window.top.close()>Закрыть</A>
</p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But21

Кнопка - рисунок

Движение рисунка обусловлено изменением ширины его границ для разных действий мыши: наведение курсора на рисунок, отвод в сторону, нажатие кнопки мыши, отпускание кнопки; цвет границ рисунка (выделен желтым в таблице) обычно принимается равным цвету фона, но здесь принят белым для наглядности; чтобы использовать рисунок в качестве ссылки, измените тэг из нижней таблице на <A href="Ваш URL">здесь весь тэг из второй таблицы</A>

Наведите курсор на рисунок. Можете также кликнуть!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.mouseBeOffMe {
border-top: 10px solid #FFFFFF;
border-bottom: 10px solid #FFFFFF;
border-left: 6px solid #FFFFFF;
border-right: 10px solid #FFFFFF;
}
.mouseBeOnMe {
border-top: 6px solid #FFFFFF;
border-bottom: 14px solid #FFFFFF;
border-left: 10px solid #FFFFFF;
border-right: 6px solid #FFFFFF;
}
.mouseBeDown {
border-top: 13px solid #FFFFFF;
border-bottom: 7px solid #FFFFFF;
border-left: 10px solid #FFFFFF;
border-right: 6px solid #FFFFFF;
}
.mouseBeUp {
border-top: 10px solid #FFFFFF;
border-bottom: 10px solid #FFFFFF;
border-left: 10px solid #FFFFFF;
border-right: 6px solid #FFFFFF;
}
//-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<img src = "copyright.gif"
title = "Пригоден любой рисунок, в том числе и этот "
width = "152"
height = "23"
border = "0"
class = "mouseBeOffMe"
onmouseover = "this.className='mouseBeOnMe'"
onmousedown = "this.className='mouseBeDown'"
onmouseup = "this.className='mouseBeUp'"
onmouseout = "this.className='mouseBeOffMe'">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 11

Кнопка с использованием карты рисунка (простая)

Пощелкайте выключателем!

Дополнительно

(Не осталяйте включенными ненужные электроприборы!:-)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
bulb_off = new Image(129,127); bulb_off.src = "bulb_off.gif";
bulb__on = new Image(129,127); bulb__on.src = "bulb__on.gif";
switch_off = new Image(26,49); switch_off.src="switch_off.gif";
switch__on = new Image(26,49); switch__on.src="switch__on.gif";
}
function hiLiteBoth(imgName1,imgObjName1,imgName2,imgObjName2) {
if (document.images) {
document.images[imgName1].src = eval(imgObjName1 + ".src");
document.images[imgName2].src = eval(imgObjName2 + ".src");
}}
function doostavam() {
// nicho net
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <A HREF="javascript:doostavam()"><IMG SRC="switch_off.gif"
NAME="switch" WIDTH="26" HEIGHT="49" BORDER="0" ALT=""
USEMAP="#switch" align=absmiddle HSPACE=60></A>
<IMG SRC="bulb_off.gif" NAME="bulb"
 WIDTH="129" HEIGHT="127"
BORDER="0" ALT="" align=absmiddle HSPACE=60>
<MAP NAME="switch">
<AREA SHAPE=RECT COORDS="5,5,20,23" HREF=
"javascript:hiLiteBoth('switch','switch__on','bulb','bulb__on')"
onClick="hiLiteBoth('switch','switch__on','bulb','bulb__on');
return false">
<AREA SHAPE=RECT COORDS="5,25,20,43" HREF=
"javascript:hiLiteBoth('switch','switch_off','bulb','bulb_off')"
onClick="hiLiteBoth('switch','switch_off','bulb','bulb_off');
return false">
</MAP>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

bulb_off.gif
bulb__on.gif
switch_off.gif
switch__on.gif

Нажмите кнопку и скопируйте рисунок(рисунки) обычным способом Название рисунка, тем ни менее, придется вписывать самостоятельно. Кроме того, формат рисунка окажется BMP, а не GIF, что не приемлемо для веб. Лучший способ - это скопировать рисунок в буфер обмена прямо из окна файла справки и затем создать из него GIF (JPG) с нужным нажванием в программе Photoshop или подобной. Не забывайте, что применяя любые другие рисунки, отличные от используемых в скрипте, следует обязательно изменить названия рисунков в скрипте, указать реальную директорию их расположения и размеры (последнее не столь важно, но желательно). Всегда помните, что файл справки - это программа, а не HTML документ!


Buttons 12

Кнопка с использованием карты рисунка (сложная)

Directory: Home-Mail-Links В браузерах версии ниже IE4 будет появляться только этот рисунок. При этом все ссылки работать будут, но не будет анимации.

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
dir_up = new Image(76,76); dir_up.src = "dir_up.gif";
dir_down_1 = new Image(76,76); dir_down_1.src="dir_down_1.gif";
dir_down_2 = new Image(76,76); dir_down_2.src="dir_down_2.gif";
dir_down_3 = new Image(76,76); dir_down_3.src="dir_down_3.gif";
dir_down_4 = new Image(76,76); dir_down_4.src="dir_down_4.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
function nenada() {
// figushki shto est
}
// Give IE3 users half a chance
if(document.images){
picture_source = "dir_up.gif"
}else{
picture_source = "dir_down_1.gif"
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="javascript"><!--
document.write("<P><A HREF=\"javascript:nenada()\">
<IMG SRC=\""+picture_source+"\" width=76 height=76
NAME=\"img12\"border=0 USEMAP=\"#dir1\"></A>");
//--></SCRIPT>
<NOSCRIPT>
<IMG SRC="dir_down_1.gif" WIDTH="76" HEIGHT="76" BORDER="0"
USEMAP="#dir2" ALT="Directory: Home-Mail-Links">
</NOSCRIPT>
<MAP NAME="dir1">
<AREA SHAPE="rect" COORDS="8,6,67,24" HREF="javascript:nenada()"
onMouseOver="hiLite('img12','dir_down_1')">
<AREA SHAPE="rect" COORDS="10,24,65,38" HREF="home.htm"
onMouseOver="hiLite('img12','dir_down_2')">
<AREA SHAPE="rect" COORDS="10,38,65,54" HREF="mailto:eugenezz@yandex.ru"
onMouseOver="hiLite('img12','dir_down_3')">
<AREA SHAPE="rect" COORDS="10,54,65,68" HREF="link.htm"
onMouseOver="hiLite('img12','dir_down_4')">
<AREA SHAPE="rect" COORDS="0,0,76,76" HREF="javascript:nenada()"
onMouseOver="hiLite('img12','dir_up')" onMouseOut="hiLite('img12'
,'dir_up')">
</MAP>
<MAP NAME="dir2">
<AREA SHAPE="rect" COORDS="10,24,65,38" HREF="home.htm">
<AREA SHAPE="rect" COORDS="10,38,65,54" HREF="mailto:eugenezz@yandex.ru">
<AREA SHAPE="rect" COORDS="10,54,65,68" HREF="link.htm">
</MAP>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: dir.zip


Form30

Кнопка дублирования инфо из одной формы в другую

Billing Information
First Name:
Last Name:
E-Mail:
Company:
Address:
City:
State:
Send confirmation email via email
Shipping Information (Отметьте, если данные те же: )
First Name:
Last Name:
E-Mail:
Company:
Address:
City:
State:
Send confirmation email via email

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ShipFirst = "";
var ShipLast = "";
var ShipEmail = "";
var ShipCompany = "";
var ShipAddress1 = "";
var ShipAddress2 = "";
var ShipCity = "";
var ShipState = "";
var ShipStateIndex = 0;
var ShipZip = "";
var ShipConfirm = 0;

function InitSaveVariables(form) {
ShipFirst = form.ShipFirst.value;
ShipLast = form.ShipLast.value;
ShipEmail = form.ShipEmail.value;
ShipCompany = form.ShipCompany.value;
ShipAddress1 = form.ShipAddress1.value;
ShipAddress2 = form.ShipAddress2.value;
ShipCity = form.ShipCity.value;
ShipZip = form.ShipZip.value;
ShipStateIndex = form.ShipState.selectedIndex;
ShipState = form.ShipState[ShipStateIndex].value;
ShipConfirm = form.ShipConfirm.checked;
}

function ShipToBillPerson(form) {
if (form.copy.checked) {
InitSaveVariables(form);
form.ShipFirst.value = form.BillFirst.value;
form.ShipLast.value = form.BillLast.value;
form.ShipEmail.value = form.BillEmail.value;
form.ShipCompany.value = form.BillCompany.value;
form.ShipAddress1.value = form.BillAddress1.value;
form.ShipAddress2.value = form.BillAddress2.value;
form.ShipCity.value = form.BillCity.value;
form.ShipZip.value = form.BillZip.value;
form.ShipState.selectedIndex = form.BillState.selectedIndex;
form.ShipConfirm.checked = form.BillConfirm.checked;
}
else {
form.ShipFirst.value = ShipFirst;
form.ShipLast.value = ShipLast;
form.ShipEmail.value = ShipEmail;
form.ShipCompany.value = ShipCompany;
form.ShipAddress1.value = ShipAddress1;
form.ShipAddress2.value = ShipAddress2;
form.ShipCity.value = ShipCity;
form.ShipZip.value = ShipZip;
form.ShipState.selectedIndex = ShipStateIndex;
form.ShipConfirm.checked = ShipConfirm;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method="post" action="http://www.your-web-site-address-here.com/script.cgi" name="billform">
<table border="1" cellspacing="0" cellpadding="3" width="400">

<tr bgcolor="#003399">
<td colspan=2 width="100%" bgcolor="#003399">
<b><font color=white size="-1" face="arial, helvetica">Billing Information</font></b>
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">First Name:</font>
</td>
<td>
<input type="text" size="15" maxlength="50" name="BillFirst">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Last Name:</font>
</td>
<td>
<input type="text" size="15" maxlength="50" name="BillLast">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">E-Mail:</font>
</td>
<td>
<input type="text" size="15" name="BillEmail">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Company:</font>
</td>
<td>
<input type="text" size="25" maxlength="100" name="BillCompany">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Address:</font>
</td>
<td>
<input type="text" size="40" maxlength="35" name="BillAddress1">
</td>
</tr>
<tr>
<td>

</td>
<td>
<input type="text" size="40" maxlength="35" name="BillAddress2">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">City:</font>
</td>
<td>
<input type="text" size="25" maxlength="21" name="BillCity">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">State:</font>
</td>
<td>
<select name="BillState">
<option selected>
<option value="AL">ALABAMA
<option value="AK">ALASKA
<option value="AZ">ARIZONA
<option value="AR">ARKANSAS
<option value="CA">CALIFORNIA
<option value="CO">COLORADO
<option value="CT">CONNECTICUT
<option value="DE">DELAWARE
<option value="FL">FLORIDA
<option value="GA">GEORGIA
<option value="HI">HAWAII
<option value="ID">IDAHO
<option value="IL">ILLINOIS
<option value="IN">INDIANA
<option value="IA">IOWA
<option value="KS">KANSAS
<option value="KY">KENTUCKY
<option value="LA">LOUISIANA
<option value="ME">MAINE
<option value="MD">MARYLAND
<option value="MA">MASSACHUSETTS
<option value="MI">MICHIGAN
<option value="MN">MINNESOTA
<option value="MS">MISSISSIPPI
<option value="MO">MISSOURI
<option value="MT">MONTANA
<option value="NE">NEBRASKA
<option value="NV">NEVADA
<option value="NH">NEW HAMPSHIRE
<option value="NJ">NEW JERSEY
<option value="NM">NEW MEXICO
<option value="NY">NEW YORK
<option value="NC">NORTH CAROLINA
<option value="ND">NORTH DAKOTA
<option value="OH">OHIO
<option value="OK">OKLAHOMA
<option value="OR">OREGON
<option value="PA">PENNSYLVANIA
<option value="RI">RHODE ISLAND
<option value="SC">SOUTH CAROLINA
<option value="SD">SOUTH DAKOTA
<option value="TN">TENNESSEE
<option value="TX">TEXAS
<option value="UT">UTAH
<option value="VT">VERMONT
<option value="VA">VIRGINIA
<option value="WA">WASHINGTON
<option value="DC">WASHINGTON, D.C.
<option value="WV">WEST VIRGINIA
<option value="WI">WISCONSIN
<option value="WY">WYOMING
</select>

<input type="text" size="10" maxlength="10" name="BillZip">
</td>
</tr>
<tr>
<td colspan=2 align=center>
<input type="checkbox" name="BillConfirm" selected> <font face="arial, helvetica" size="-2">Send confirmation email via email</font>
</td>
</tr>

<tr bgcolor="#003399">
<td colspan=2 width="100%" bgcolor="#003399">
<b><font color=white size="-1" face="arial, helvetica">Shipping Information</font></b>
<font color=white size="-2" face="arial, helvetica">
(Check to use Billing Information: <input type="checkbox" name="copy"
OnClick="javascript:ShipToBillPerson(this.form);" value="checkbox"> )
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">First Name:</font></td>
<td>
<input type="text" size="15" maxlength="50" name="ShipFirst">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Last Name:</font>
</td>
<td>
<input type="text" size="15" maxlength="50" name="ShipLast">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">E-Mail:</font>
</td>
<td>
<input type="text" size="15" name="ShipEmail">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Company:</font>
</td>
<td>
<input type="text" size="25" maxlength="100" name="ShipCompany">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">Address:</font>
</td>
<td>
<input type="text" size="40" maxlength="35" name="ShipAddress1">
</td>
</tr>
<tr>
<td>

</td>
<td>
<input type="text" size="40" maxlength="35" name="ShipAddress2">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">City:</font>
</td>
<td>
<input type="text" size="25" maxlength="21" name="ShipCity">
</td>
</tr>
<tr>
<td>
<font size="-1" face="arial, helvetica">State:</font>
</td>
<td>
<select name="ShipState">
<option selected>
<option value="AL">ALABAMA
<option value="AK">ALASKA
<option value="AZ">ARIZONA
<option value="AR">ARKANSAS
<option value="CA">CALIFORNIA
<option value="CO">COLORADO
<option value="CT">CONNECTICUT
<option value="DE">DELAWARE
<option value="FL">FLORIDA
<option value="GA">GEORGIA
<option value="HI">HAWAII
<option value="ID">IDAHO
<option value="IL">ILLINOIS
<option value="IN">INDIANA
<option value="IA">IOWA
<option value="KS">KANSAS
<option value="KY">KENTUCKY
<option value="LA">LOUISIANA
<option value="ME">MAINE
<option value="MD">MARYLAND
<option value="MA">MASSACHUSETTS
<option value="MI">MICHIGAN
<option value="MN">MINNESOTA
<option value="MS">MISSISSIPPI
<option value="MO">MISSOURI
<option value="MT">MONTANA
<option value="NE">NEBRASKA
<option value="NV">NEVADA
<option value="NH">NEW HAMPSHIRE
<option value="NJ">NEW JERSEY
<option value="NM">NEW MEXICO
<option value="NY">NEW YORK
<option value="NC">NORTH CAROLINA
<option value="ND">NORTH DAKOTA
<option value="OH">OHIO
<option value="OK">OKLAHOMA
<option value="OR">OREGON
<option value="PA">PENNSYLVANIA
<option value="RI">RHODE ISLAND
<option value="SC">SOUTH CAROLINA
<option value="SD">SOUTH DAKOTA
<option value="TN">TENNESSEE
<option value="TX">TEXAS
<option value="UT">UTAH
<option value="VT">VERMONT
<option value="VA">VIRGINIA
<option value="WA">WASHINGTON
<option value="DC">WASHINGTON, D.C.
<option value="WV">WEST VIRGINIA
<option value="WI">WISCONSIN
<option value="WY">WYOMING
</select>

<input type="text" size="10" maxlength="10" name="ShipZip">
</td>
</tr>
<tr>
<td colspan=2 align=center>
<input type="checkbox" name="ShipConfirm" selected> <font face="arial, helvetica" size="-2">Send confirmation email via email</font>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But32

Супер - кнопочки
По необходимости, вставьте внутрь ячейки, где расположена кнопка, onClick="window.location=('Документ.htm')" - это для открытия документа в этом же окне. Или onClick="window.оpen('Документ.htm')" - для открытия документа в отдельном окне. Рисунки для кнопок найдите сами - такого добра кругом навалом.

Без рисунков:

JS Library Что нового Когда выйдет Форум

И с рисунками:

JS Library Что нового Когда выйдет Форум

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
//////////////////////////////////////////// ///////////////////////////
// This Button Script was designed by Erik Arvidsson for WebFX //
// //
// For more info and examples see: http://webfx.eae.net/ //
// or send mail to erik@eae.net //
// //
// Feel free to use this code as lomg as this disclaimer is //
// intact. //
//////////////////////////////////////////////// ///////////////////////

document.onmouseover = doOver;
document.onmouseout = doOut;
document.onmousedown = doDown;
document.onmouseup = doUp;

function doOver() {
var toEl = getReal(window.event.toElement, "className", "coolButton");
var fromEl = getReal(window.event.fromElement, "className", "coolButton");
if (toEl == fromEl) return;
var el = toEl;

// alert(el);

// var cDisabled = el.getAttribute("cDisabled");
var cDisabled = el.cDisabled;
// alert(cDisabled);
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (el.className == "coolButton")
el.onselectstart = new Function("return false");

if ((el.className == "coolButton") && !cDisabled) {
makeRaised(el);
makeGray(el,false);
}
}

function doOut() {
var toEl = getReal(window.event.toElement, "className", "coolButton");
var fromEl = getReal(window.event.fromElement, "className", "coolButton");
if (toEl == fromEl) return;
var el = fromEl;

// var cDisabled = el.getAttribute("cDisabled");
var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;
toggle_disabled = (cToggle != null); // If CTOGGLE atribute is present

if (cToggle && el.value) {
makePressed(el);
makeGray(el,true);
}
else if ((el.className == "coolButton") && !cDisabled) {
makeFlat(el);
makeGray(el,true);
}

}

function doDown() {
el = getReal(window.event.srcElement, "className", "coolButton");

var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if ((el.className == "coolButton") && !cDisabled) {
makePressed(el)
}
}

function doUp() {
el = getReal(window.event.srcElement, "className", "coolButton");

var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if ((el.className == "coolButton") && !cDisabled) {
makeRaised(el);
}
}

function getReal(el, type, value) {
temp = el;
while ((temp != null) && (temp.tagName != "BODY")) {
if (eval("temp." + type) == value) {
el = temp;
return el;
}
temp = temp.parentElement;
}
return el;
}

function findChildren(el, type, value) {
var children = el.children;
var tmp = new Array();
var j=0;

for (var i=0; i<children.length; i++) {
if (eval("children[i]." + type + "==\"" + value + "\"")) {
tmp[tmp.length] = children[i];
}
tmp = tmp.concat(findChildren(children[i], type, value));
}

return tmp;
}

function disable(el) {

if (document.readyState != "complete") {
window.setTimeout("disable(" + el.id + ")", 100); // If document not finished rendered try later.
return;
}

var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (!cDisabled) {
el.cDisabled = true;

el.innerHTML = '<span style="background: buttonshadow; width: 100%; height: 100%; text-align: center;">' +
'<span style="filter:Mask(Color=buttonface) DropShadow(Color=buttonhighlight, OffX=1, OffY=1, Positive=0); height: 100%; width: 100%%; text-align: center;">' +
el.innerHTML +
'</span>' +
'</span>';

if (el.onclick != null) {
el.cDisabled_onclick = el.onclick;
el.onclick = null;
}
}
}

function enable(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (cDisabled) {
el.cDisabled = null;
el.innerHTML = el.children[0].children[0].innerHTML;

if (el.cDisabled_onclick != null) {
el.onclick = el.cDisabled_onclick;
el.cDisabled_onclick = null;
}
}
}

function addToggle(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;

cToggle = (cToggle != null); // If CTOGGLE atribute is present

if (!cToggle && !cDisabled) {
el.cToggle = true;

if (el.value == null)
el.value = 0; // Start as not pressed down

if (el.onclick != null)
el.cToggle_onclick = el.onclick; // Backup the onclick
else
el.cToggle_onclick = "";

el.onclick = new Function("toggle(" + el.id +"); " + el.id + ".cToggle_onclick();");
}
}

function removeToggle(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;

cToggle = (cToggle != null); // If CTOGGLE atribute is present

if (cToggle && !cDisabled) {
el.cToggle = null;

if (el.value) {
toggle(el);
}

makeFlat(el);

if (el.cToggle_onclick != null) {
el.onclick = el.cToggle_onclick;
el.cToggle_onclick = null;
}
}
}

function toggle(el) {
el.value = !el.value;

if (el.value)
el.style.background = "URL(/images/tileback.gif)";
else
el.style.backgroundImage = "";

// doOut(el);
}

function makeFlat(el) {
with (el.style) {
background = "";
border = "1px solid buttonface";
padding = "1px";
}
}

function makeRaised(el) {
with (el.style) {
borderLeft = "1px solid buttonhighlight";
borderRight = "1px solid buttonshadow";
borderTop = "1px solid buttonhighlight";
borderBottom = "1px solid buttonshadow";
padding = "1px";
}
}

function makePressed(el) {
with (el.style) {
borderLeft = "1px solid buttonshadow";
borderRight = "1px solid buttonhighlight";
borderTop = "1px solid buttonshadow";
borderBottom = "1px solid buttonhighlight";
paddingTop = "2px";
paddingLeft = "2px";
paddingBottom = "0px";
paddingRight = "0px";
}
}

function makeGray(el,b) {
var filtval;

if (b)
filtval = "gray()";
else
filtval = "";

var imgs = findChildren(el, "tagName", "IMG");

for (var i=0; i<imgs.length; i++) {
imgs[i].style.filter = filtval;
}

}

document.write("<style>");
document.write(".coolBar {background: buttonface;border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; border-right: 1px solid buttonshadow; padding: 2px; font: menu;}");
document.write(".coolButton {border: 1px solid buttonface; padding: 1px; text-align: center; cursor: default;}");
document.write(".coolButton IMG {filter: gray();}");
document.write("</style>");

/*
Depressible DHTML buttons (By Erik Arvidsson at http://webfx.eae.net)
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Без рисунков: <br><br>
<table class="coolBar" style="margin-left: 10px;cursor:hand">
<tr>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>JS Library</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Что нового</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Когда выйдет</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Форум</b></font>
</td>
</tr>
</table>
<br><br>

И с рисунками:<br><br>
<table class="coolBar">
<tr>
<td class="coolButton" width="130" onClick="window.location=('home.htm')">
<img src="home.gif"> <font face="Verdana" size="2"><b>JS Library</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Что нового</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Когда выйдет</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Форум</b></font>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form52

Ограничение количества выбираемых радио-кнопок

Выберите не более 2 секций:

Секция 1

Секция 2

Секция 3

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Glenn Wang (brief@ix.netcom.com) -->
<!-- Web Site:  http://capsule.bayside.net/ -->

<!-- Modified by Ronnie T. Moore (The JavaScript Source) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function countChoices(obj) {
max = 2; //
      максимальное
      позволенное  количество

box1 = obj.form.box1.checked;  // your checkboxes here
box2 = obj.form.box2.checked;
box3 = obj.form.box3.checked;  // add more if necessary

count = (box1 ? 1 : 0) + (box2 ? 1 : 0) + (box3 ? 1 : 0);
// If you have more checkboxes on your form
// add more  (box_ ? 1 : 0)  's separated by '+'

if (count > max) {
alert("Вы можете выбрать только " + max + " секции! \nДля изменения выбора снимите выделение с одной из секций.");
obj.checked = false;
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Выберите не более 2 секций:
<p>
<input type=checkbox name=box1 onClick="countChoices(this)">Секция 1
<p>
<input type=checkbox name=box2 onClick="countChoices(this)">Секция 2
<p>
<input type=checkbox name=box3 onClick="countChoices(this)">Секция 3
<p>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 1

КНОПКА "НА ПРЕДЫДУЩУЮ СТРАНИЦУ"

(простая кнопка)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="button" VALUE="Назад на предыдущую страницу"
onClick="history.back()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But19

Кнопки "Назад" и "Вперед" 2
(выделенные белым цветом цифры определяют количество страниц, на которое следует производить переход)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="button" VALUE="Назад " onClick="history.go(-1)">
<INPUT TYPE="button" VALUE="Вперед" onCLick="history.go(1)">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But25

Обновить страницу (2 способа)
(есть, по меньшей мере, еще 4 подобных способа, но эти наиболее популярны)

или

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=button value="Обновить страницу (1-й способ)" OnClick="document.location.reload()"><br>
или<br>
<input type=button value="Обновить страницу (2-й способ)" OnClick="window.location=self.location">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But28

Отжимаемая кнопка
Обычно, для получения эффекта нажатия-отжатия кнопки-рисунка, требуются три рисунка: один появляется во время загрузки, второй - при нажатии, третий - при отжатии. Это одна схема, есть и другие, но так или иначе, для работы всегда требуется три рисунка. Предлагаемый скрипт делает возможным эффект нажатия без третьего рисунка - отжатой кнопки.

Пример:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript1.2">
<!--
img1=new Image()
img1.src="up-1.gif"
img2=new Image()
img2.src="down.gif"
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <p align="left"><font size="5"><strong>Пример:<a href="#top"
 <!--- ВПИШИТЕ НУЖНЫЙ АДРЕС---> onMousedown="document.images['example'].src=img2.src"
onMouseup="document.images['example'].src=img1.src" onMouseout="document.images['example'].src=img1.src">
<img src="up-1.gif" name="example" border=0></a></strong></font></p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: buttons.zip


But22

Предупреди сам себя
(так... для развлечения....)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function seeTextArea (form) {
alert (form.myarea.value);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="myform">
<INPUT TYPE="button" NAME="button3" Value="Предупреди себя!"
onClick="seeTextArea(this.form)">
<TEXTAREA NAME="myarea" COLS="35" ROWS="5">
</TEXTAREA>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But30

Кнопка "Применить" со скроллингом

В принципе, нетрудно сделать кнопку любой длины и добавить более информационный текст.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <CENTER>
<form name="form2" action="home.htm">
<!-- Замените action="home.htm" на onSubmit=КАКАЯ_ТО_ФУНКЦИЯ-->
<input type="submit" style="width:100" name="banner" VALUE="Применить"><!---Текст
 для браузеров без поддержки Javascript--->
</form>
</CENTER>

<script language="JavaScript">
// Copyright 1998 Jon Eyrick - action1@vfr.net
// http://www.geocities.com/CapeCanaveral/4155/
// I do not take full credit for this script, I only made half of this..
var id,pause=0,position=0;
function banner() {
// variables declaration
var i,k,msg="      Применить";
 // ТЕКСТ ДЛЯ БРАУЗЕРОВ С ПОДДЕРЖКОЙ JAVASCRIPT
// increase msg
k=(60/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg;
// show it to the window
document.form2.banner.value=msg.substring(position,position+60);
// set new position
if(position++==msg.length) position=0;
// repeat at entered speed
id=setTimeout("banner()",150); }
// end -->
banner();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 4

КНОПКА "Показать источник"

Нажатие на кнопку откроет окно показывающее источник этой страницы. Однако (в данном случае!!!) это будет чистейшей симуляцией - открывшееся окно НЕ является источником, это просто картинка. Тем ни менее, приведенный код отлично работает на любой HTML странице (в файле справки это не возможно) Справка

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
function viewsource(){
window.location="view-source:"+window.location
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT type="Button" value="Показать источник"
onClick="javascript:viewsource()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 6

Переливающаяся JavaScript-кнопка

Наведите мышь на кнопку и нажмите

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
hexColor =
      ["0", "1", "2", "3", "4",
      "5", "6", "7", "8", "9",
      "a", "b", "c", "d", "e",
      "f"];
function mOut() {
for (i = 0; i < 13; i++) {
setTimeout
      ('document.kolbasa.button.style.background =  "#'+hexColor[12-i]+'0'+hexColor[12-i]+'FFF";', i *
      40);
}
}
function mOver() {
document.kolbasa.button.value = "Нажми!";
for (i = 0; i < 12; i++) {
setTimeout ('document.kolbasa.button.style.background =  "#'+hexColor[i]+'0'+hexColor[i]+'E31";', i *
      40);
}
}
// --->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=kolbasa>
<input type=button name=button value=" Нажми! " onMouseOver='mOver()' onMouseDown= 'document.kolbasa.button.value="Спасибочки!"' onClick= 'window.location="popdemo.htm"' onMouseOut='mOut()' style="background-color: #14BAD8">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But15

"Радио" кнопка в качестве линка

(поставьте "фишку" для перехода на соответствующую страницу)

Test Page 1 Test Page 2 Test Page 3 Test Page 4

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="JavaScript">
// by Tim Wallace (timothy@essex1.com)
// Uses radio buttons in place of a drop-down menu.
function leapTo (link)
{
var new_url=link;
if ( (new_url != "") && (new_url != null) )
window.location=new_url;
else
alert("\nYou must make a selection.");
}
function viewSource()
{
var current_url="";
current_url=document.location;
window.location= "view-source:"+current_url;
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<TABLE BORDER=3 WIDTH=254>
<TD align="center" BGCOLOR=000080 width="116">
<INPUT TYPE="radio" NAME="buttons1" onClick="leapTo('select.htm')">
<FONT COLOR=00FFFF><B>Test Page 1</B></FONT>
<TD align="center" BGCOLOR=FF0000 width="116">
<INPUT TYPE="radio" NAME="buttons1" onClick="leapTo('home.htm')">
<FONT COLOR=000000><B>Test Page 2</B></FONT>
<TD align="center" BGCOLOR=#9F9F9F width="116">
<INPUT TYPE="radio" NAME="buttons1" onClick="leapTo('Link.htm')">
<FONT COLOR=800000><B>Test Page 3</B></FONT>
<TD align="center" BGCOLOR=008080 width="116">
<INPUT TYPE="radio" NAME="buttons1" onClick="leapTo('select.htm')">
<FONT COLOR=FFFF00><B>Test Page 4</B></FONT>
</TABLE>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form29

Радио-кнопка "Выбрать все" (2)
 Если Вы поставите "фишку" на кнопке "ВСЕ ПРЕДМЕТЫ", то информация будет принята так, как если бы Вы поставили "фишки" напротив каждого Предмета. Как только Вы начнете выбирать предметы отдельно , тут же произойдет сброс фишки "ВСЕ ПРЕДМЕТЫ" и наоборот.

Выберите свои любимые предметы:
ВСЕ ПРЕДМЕТЫ
Биология
Математика
Английский
История
другие

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Scott Waichler -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkChoice(field, i) {
if (i == 0) { // "All" checkbox selected.
if (field[0].checked == true) {
for (i = 1; i < field.length; i++)
field[i].checked = false;
}
}
else { // A checkbox other than "Any" selected.
if (field[i].checked == true) {
field[0].checked = false;
}
}
}
// End -->
</script>
</HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Выберите свои любимые предметы:
<form name=pickform>
<table>
<tr><td>
<input type=checkbox name=classes value="*" onclick="checkChoice(document.pickform.classes, 0)" checked>ВСЕ ПРЕДМЕТЫ
<br>
<input type=checkbox name=classes value="Биология" onclick="checkChoice(document.pickform.classes, 1)">Биология
<br>
<input type=checkbox name=classes value="Математика" onclick="checkChoice(document.pickform.classes, 2)">Математика
<br>
<input type=checkbox name=classes value="Английский" onclick="checkChoice(document.pickform.classes, 3)">Английский
<br>
<input type=checkbox name=classes value="История" onclick="checkChoice(document.pickform.classes, 4)">История
<br>
<input type=checkbox name=classes value="другие" onclick="checkChoice(document.pickform.classes, 5)">другие
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But33

Кнопка "Распечатать страницу" КРОССБРАУЗЕРНАЯ
Что такое "кроссбраузерная" я думаю обэяснять не надо.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="Javascript">

/*
This script is written by Eric (Webcrawl@usa.net)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function printit(){
if (window.print) {
window.print() ;
} else {
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
}
}
</script>

<SCRIPT Language="Javascript">
var NS = (navigator.appName == "Netscape");
var VERSION = parseInt(navigator.appVersion);
if (VERSION > 3) {
document.write('<form><input type=button value="Распечатать страницу" name="Print" onClick="printit()"></form>');
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But18

"Разговорчивая" "почтовая" кнопка (линк)

или линк

Привет!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<form>
<input type=button value="Привет!" onClick="alert('Ну зачем Вы нажали на кнопку?!');
alert('Ну, ладно...! Я же не сказал, что нельзя!');
alert('Я думаю, теперь Вы хотите написать мне письмо с извинениями!');
alert('Да уж, лучше напишите, пока я не озверел!!!');
document.bgColor='black';
document.fgColor='White';
window.location.href='mailto:eugenezz@yandex.ru?subject=Приношу свои извинения!';">
</form><BR><BR>
или линк<BR><BR>
<a href="#top" onMouseover="alert('Зачем Вы навели курсор?!');
alert('Ну, ладно...! Я же не сказал, что нельзя!');
alert('Я думаю, теперь Вы хотите написать мне письмо с извинениями!');
alert('Да уж, лучше напишите, пока я не озверел!!!');
document.bgColor='black';
document.fgColor='White';
window.location.href='mailto:eugenezz@yandex.ru?subject=Приношу свои извинения!';">Привет!</a>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But26

Стоп - Старт для бегущей строки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!--
var verzoegerung = 150;
var laenge = 50;
var pos = 0;
var abbruch;

function laufe()
{
var text = ' Эта бегущая строка останавливается при нажатии кнопки, удобно использовать для вывода новостей, содержащих информацию, которую необходимо переписать.... *** '
var ausgabe='<PRE style="background:#BCB9D9;">' +
(text + text).substring(pos, pos + laenge) + '</PRE>';
if (navigator.appName == 'Netscape') with (document.laufband.document)
{
open(); write(ausgabe); close();
}
else
laufband.innerHTML = ausgabe;
pos ++;
if (pos > text.length)
pos = 0;
abbruch = setTimeout('laufe()', verzoegerung);
pause = 0;
}

function startstop()
{
if (pause == 0)
{
clearTimeout(abbruch);
pause = 1;
}
else
{
laufe();
pause = 0;
}
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad='laufe()'>

<DIV id="laufband" style=position:absolute;left:50;top:80;width:100>
</DIV>
<DIV style='position: absolute; left: 28; top: 117; width: 325; height: 27'><FORM>
<INPUT type=button value="Стоп/Старт" onClick='startstop()'></FORM></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form24

Счетчик включенных радио-кнопок

1
2
3
4
5
6
7
8
9

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Alan Gruskoff (alan@performantsystems.com) -->
<!-- Web Site: http://www.performantsystems.com/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function anyCheck(form) {
var total = 0;
var max = form.ckbox.length;
for (var idx = 0; idx < max; idx++) {
if (eval("document.playlist.ckbox[" + idx + "].checked") == true) {
total += 1;
}
}
alert("Вы включили кнопок: " + total + "");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form method="post" name=playlist>
1<input type=checkbox name=ckbox>
<br>2<input type=checkbox name=ckbox>
<br>3<input type=checkbox name=ckbox>
<br>4<input type=checkbox name=ckbox>
<br>5<input type=checkbox name=ckbox>
<br>6<input type=checkbox name=ckbox>
<br>7<input type=checkbox name=ckbox>
<br>8<input type=checkbox name=ckbox>
<br>9<input type=checkbox name=ckbox>
<p><input type=button value="Count Checkboxes" onClick="anyCheck(this.form)">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


But27

Цвет фона при нажатии кнопки

Выберите желаемый цвет и нажмите кнопку

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<p align="center">Выберите желаемый цвет и нажмите
кнопку
<br><br>
<table border=0 align=center>
<tr><td><form>
<input type=button value="КРАСНЫЙ" onClick="document.bgColor='ff0000'">
<input type=button value="ЖЕЛТЫЙ" onClick="document.bgColor='ffff00'">
<input type=button value="СИНИЙ" onClick="document.bgColor='0000ff'">
<input type=button value="ГОЛУБОЙ" onClick="document.bgColor='87ceeb'">
<input type=button value="ОРАНЖЕВЫЙ" onClick="document.bgColor='ff7f50'">

<!---ПО АНАЛОГИИ ДОБАВЬТЕ КНОПОК (ЦВЕТОВ) ПО ЖЕЛАНИЮ---->
</form></td></tr>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 8

Эффект при наведении и нажатии (1)

(после клика по кнопке откроется файл отмеченный белым цветом)

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
press_init = new Image(56,22); press_init.src="press0.gif";
press_up = new Image(56,22); press_up.src="press1.gif";
press_down = new Image(56,22); press_down.src="press2.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="another.htm"
onMouseOver="hiLite('img05','press_up')"
onMouseOut="hiLite('img05','press_init')"
onMouseDown="hiLite('img05','press_down')"
onMouseUp="hiLite('img05','press_up')"><IMG
SRC="press0.gif" WIDTH="56" HEIGHT="22" BORDER="0"
ALT="" NAME="img05"></A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 9

Эффект при наведении и нажатии (2)

(после клика по кнопке появится Pop-up Alert Box)

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
press_init = new Image(56,22); press_init.src="press0.gif";
press_up = new Image(56,22); press_up.src="press1.gif";
press_down = new Image(56,22); press_down.src="press2.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="javascript:alert('Хорошо быть королем...!')"
onMouseOver="hiLite('img1','press_up')"
onMouseOut="hiLite('img1,'press_init')"
onMouseDown="hiLite('img1','press_down')"
onMouseUp="hiLite('img1','press_up')"><IMG
SRC="press0.gif" BORDER="0" ALT="" NAME="img1"
 width="56" height="22"></A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Buttons 10

Эффект при наведении и нажатии (3)

(после клика по кнопке появится JavaScript запрос "Как Вас зовут")

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
// preload images:
if (document.images) {
press_init = new Image(12,13); press_init.src = "press0.gif";
press_up = new Image(12,13); press_up.src = "press1.gif";
press_down = new Image(12,13); press_down.src = "press2.gif";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
function sayHi() {
var name = prompt('Здравствуйте! Как Вас зовут?','');
if (name){
alert ('Привет, ' + name + ' !');
}
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="javascript:sayHi()"
onMouseOver="hiLite('img1','press_up')"
onMouseOut="hiLite('img1,'press_init')"
onMouseDown="hiLite('img1','press_down')"
onMouseUp="hiLite('img1','press_up')"><IMG
SRC="press0.gif" BORDER="0" ALT="" NAME="img1"
 width="56" height="22"></A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере buttonpress.zip


Cursor2

Виды курсоров
(не JavaScript, конечно, но бывает полезным...)

ВИДЫ | КУРСОРА
курсор:crosshair | курсор:default
курсор:ne-resize | курсор:nw-resize
курсор:se-resize | курсор:s-resize
курсор:wait | курсор:help
курсор:move | курсор:e-resize
cursor:n-resize | курсор:sw-resize
cursor:w-resize | курсор:text
cursor:auto | курсор:hand

Одну из строк этой таблицы поместите между <TD и >

style=CURSOR:crosshair;
style=CURSOR:pointer;
style=CURSOR:ne-resize;
style=CURSOR:nw-resize;
style=CURSOR:se-resize;
style=CURSOR:s-resize;
style=CURSOR:wait;
style=CURSOR:help;
style=CURSOR:move;
style=CURSOR:e-resize;
style=CURSOR:n-resize;
style=CURSOR:sw-resize;
style=CURSOR:w-resize;
style=CURSOR:text;
style=CURSOR:auto;
style=CURSOR:hand;

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


cursor16

Бегунок за курсором
"Бегунок" "отцепится" после определенного Вами времени (выделено белым) или после двойного клика.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body style="width:100%;overflow-x:hidden;overflow-y:scroll">

<SCRIPT language="JavaScript1.2">
<!--

/*
Cursor scroller script- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

var scroller_msg='На мели мы налима лениво ловили и меняли налима мы на линя; о любви так мило меня вы молили и в туманы лимана манили меня... Моя версия...!'

var dismissafter=0 //    ЕСЛИ
 СТОИТ 0, ТО РАБОТАЕТ ТОЛЬКО ДВОЙНОЙ КЛИК (время
 в секундах)

var initialvisible=0
if (document.all)
document.write('<marquee id="curscroll" style="position:absolute;width:200px;height:25;border:1px solid black;font-family:helvetica;font-size:16px;background-color:lightyellow;visibility:hidden">'+scroller_msg+'</marquee>')

function followcursor(){
//move cursor function for IE

if (initialvisible==0){
curscroll.style.visibility="visible"
initialvisible=1
}

curscroll.style.left=document.body.scrollLeft+event.clientX+10
curscroll.style.top=document.body.scrollTop+event.clientY+10
}

function dismissmessage(){
curscroll.style.visibility="hidden"
}

if (document.all){
document.onmousemove=followcursor
document.ondblclick=dismissmessage
if (dismissafter!=0)
setTimeout("dismissmessage()",dismissafter*1000)
}

//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor6

"Карусельный хвост"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style TYPE="text/css">
<!--
#a0 {position:absolute; left:-24; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a1 {position:absolute; left:96; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a2 {position:absolute; left:216; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a3 {position:absolute; left:338; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a4 {position:absolute; left:460; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a5 {position:absolute; left:640; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a6 {position:absolute; left:-24; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a7 {position:absolute; left:200; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a8 {position:absolute; left:300; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}
#a9 {position:absolute; left:600; top:-24; width:9; height:25;clip:rect(0 9 9 0);z-index:2000;}

// -->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY onLoad="startthedots()">

<script LANGUAGE="JavaScript">

/*
Swirling cursor trail (By Ozone, http://ozone.com)
Featured on Website Abstraction free JavaScripts with bug fix for IE (http://wsabstract.com)
For full source code to this script, visit http://wsabstract.com
*/

window.onerror=null;
netscape = (document.layers) ? 1:0;
goodIE = (document.all) ? 1:0;
document.onmousemove=MoveHandler;
var gotthere = 0;
var count = 0;
var ietopcorner=''
var ieleftcorner=''

toplocation = new Array( 0,30,57,80,101,125,80,80,101,125,80,0 );
temptoplocation = new Array( 50,100,100,150,150,200,200,100,150,150,200,200,0 );
leftlocation = new Array( 0,292,318,181,181,217,263,318,181,181,217,263,-96 );
templeftlocation = new Array( 0,0,260,390,420,550,680,390,420,550,680,0 );
difftop = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );
diffleft = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );
questtop = -13;
questleft2 = -96;
if (netscape) {
document.body=new Object()
document.body.scrollTop=''
document.body.scrollLeft=''
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove = MoveHandler;
var layerstart = "document.";
var layerleft = ".left";
var layertop = ".top";
var layerstyle = "";
var windowWidth = window.innerWidth;
var windowHeight = window.innerHeight; }
else if (goodIE) {
ietopcorner=document.body.scrollTop
ieleftcorner=document.body.scrollLeft
layerstart = "document.all.";
layerleft = ".left";
layertop = ".top";
layerstyle = ".style";
windowWidth=600;
windowHeight=400; }
// end error trapping
var Ypos2 = 72;
var Xpos2 = 72;
function MoveHandler(e) {
if (netscape || goodIE) {
Xpos2 = (netscape)?e.pageX:event.x
Ypos2 = (netscape)?e.pageY:event.y
Xorigin = Xpos2;
Yorigin = Ypos2;
if (Ypos2 > windowHeight/2) {
if (Xpos2 > windowWidth/2) { direction = 1;}
else { direction = -1;} }
else {
if (Xpos2 > windowWidth/2) { direction = -1;}
else { direction = 1;} }
}}

function startthedots() {
if (goodIE) {
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight; }
Xorigin = 204;
Yorigin = 147;
spin();run(); }

var OrbitSize = 200;
count=1; delay=100; direction = -1;
Count = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
Xpoint = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
Ypoint = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
var speed = -0.06;
var offset = 1;

function spin() {
for ( j = 0 ; j <= 9 ; j++ ) {
Count[j] = Count[j] + (speed*direction);
Xpoint[j] = Xorigin + ((OrbitSize*Math.sin(Count[j])*offset));
Ypoint[j] = Yorigin + (OrbitSize*Math.cos(Count[j])); }
setTimeout('spin()',3); }

function run() {
count++;
for ( j = 0 ; j <= 9 ; j++ ) {
difftop[j] = Ypoint[j] - temptoplocation[j];
diffleft[j] = Xpoint[j] - templeftlocation[j];
diff = 30;
temptoplocation[j] = temptoplocation[j] + difftop[j]/diff;
templeftlocation[j] = templeftlocation[j] + diffleft[j]/diff;
eval(layerstart+"a"+j+layerstyle+layerleft+" = document.body.scrollLeft+templeftlocation["+j+"]");
eval(layerstart+"a"+j+layerstyle+layertop+" = document.body.scrollTop+temptoplocation["+j+"]"); }
setTimeout('run()', 25) }

badIE = 0;
browserName = navigator.appName.substring(0,8);
browserVer = parseFloat(navigator.appVersion);
macintosh = navigator.userAgent.indexOf("Mac");
if (browserName == "Microsof") {
if (macintosh != -1) { badIE = 1; }
if (browserVer < 4) { badIE = 1; }
}

</script>

<div ID="a0" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a1" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a2" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a3" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a4" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a5" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a6" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a7" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a8" align="center"><img src="swirl.gif" height="9" width="9"></div>
<div ID="a9" align="center"><img src="swirl.gif" height="9" width="9"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.


Cursor4

Классический курсорный "хвост"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
BODY {overflow: scroll; overflow-x: hidden;}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">
<!--

/*
Submitted by Marcin Wojtowicz [one_spook@hotmail.com]
Featured on Website Abstraction (http://wsabstract.com)
*/

var trailLength = 8 // The length of trail (8 by default; put more for longer "tail")
var path = "cursor.gif" // URL of your image

// do NOT modify anything beyond this point
var isIE = false,isNav = false,range = "all.",style = ".style",i,d = 0
var topPix = ".pixelTop",leftPix = ".pixelLeft",images,storage
if (document.layers) { // browser sniffer
isNav = true,range = "layers.",style = "",topPix = ".top",leftPix = ".left"
} else if (document.all) {
isIE = true
}
function initTrail() { // prepares the script
images = new Array() // prepare the image array
for (i = 0; i < parseInt(trailLength); i++) {
images[i] = new Image()
images[i].src = path
}
storage = new Array() // prepare the storage for the coordinates
for (i = 0; i < images.length*3; i++) {
storage[i] = 0
}
for (i = 0; i < images.length; i++) { // make divs for IE and layers for Navigator
(isIE) ? document.write('<div id="obj' + i + '" style="position: absolute; z-Index: 100; height: 0; width: 0"><img src="' + images[i].src + '"></div>') : document.write('<layer name="obj' + i + '" width="0" height="0" z-index="100"><img src="' + images[i].src + '"></layer>')
}
trail()
}
function trail() { // trailing function
for (i = 0; i < images.length; i++) { // for every div/layer
eval("document." + range + "obj" + i + style + topPix + "=" + storage[d]) // the Y-coordinate
eval("document." + range + "obj" + i + style + leftPix + "=" + storage[d+1]) // the X-coordinate
d = d+2
}
for (i = storage.length; i >= 2; i--) { // save the coordinate for the div/layer that's behind
storage[i] = storage[i-2]
}
d = 0 // reset for future use
var timer = setTimeout("trail()",10) // call recursively
}
function processEvent(e) { // catches and processes the mousemove event
if (isIE) { // for IE
storage[0] = window.event.y+document.body.scrollTop+10
storage[1] = window.event.x+document.body.scrollLeft+10
} else { // for Navigator
storage[0] = e.pageY+12
storage[1] = e.pageX+12
}
}
if (isNav) {
document.captureEvents(Event.MOUSEMOVE) // Defines what events to capture for Navigator
}
if (isIE || isNav) { // initiates the script
initTrail()
document.onmousemove = processEvent // start capturing
}
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в этом примере.

cursor.gif (должен быть прозрачный gif)


Cursor1

Координаты мыши

(неоценимый скрипт для тех, кто много работает с вебграфикой; может использоваться как временный при создании вебстраниц)

X
Y

(Еще раз обращаем Ваше внимание на местоположение скрипта!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="Show">
X <input type="text" name="MouseX" value="0" size="4"><br>
Y <input type="text" name="MouseY" value="0" size="4"><br>
</form>

<script language="JavaScript1.2">
<!-- Original: CodeLifter.com (support@codelifter.com) -->
<!-- Begin
var IE = document.all?true:false;
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMouseXY;
var tempX = 0;
var tempY = 0;
function getMouseXY(e) {
if (IE) { // grab the x-y pos.s if browser is IE
tempX = event.clientX + document.body.scrollLeft;
tempY = event.clientY + document.body.scrollTop;
}
else { // grab the x-y pos.s if browser is NS
tempX = e.pageX;
tempY = e.pageY;
}
if (tempX < 0){tempX = 0;}
if (tempY < 0){tempY = 0;}
document.Show.MouseX.value = tempX;
document.Show.MouseY.value = tempY;
return true;
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor5

Курсор - ракета

*
*
*
*

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE TYPE="text/css">
<!--

BODY{
overflow:scroll;
overflow-x:hidden;
}

.s1
{
position : absolute;
font-size : 10pt;
color : blue;
visibility: hidden;
}

.s2
{
position : absolute;
font-size : 18pt;
color : red;
visibility : hidden;
}

.s3
{
position : absolute;
font-size : 14pt;
color : gold;
visibility : hidden;
}

.s4
{
position : absolute;
font-size : 12pt;
color : lime;
visibility : hidden;
}

//-->
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV ID="div1" CLASS="s1">*</DIV>
<DIV ID="div2" CLASS="s2">*</DIV>
<DIV ID="div3" CLASS="s3">*</DIV>
<DIV ID="div4" CLASS="s4">*</DIV>

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">

/*
Submitted by Mike McGrath http://website.lineone.net/~mike_mcgrath
Featured on Website Abstraction (http://wsabstract.com)
For this and over 400+ free scripts, visit http://wsabstract.com
*/

var nav = (document.layers);
var tmr = null;
var spd = 50;
var x = 0;
var x_offset = 5;
var y = 0;
var y_offset = 15;

if(nav) document.captureEvents (Event.MOUSEMOVE);
document.onmousemove = get_mouse;

function get_mouse(e)
{
x = (nav) ? e.pageX : event.clientX+document.body.scrollLeft;
y = (nav) ? e.pageY : event.clientY+document.body.scrollTop;
x += x_offset;
y += y_offset;
beam(1);
}

function beam(n)
{
if(n<5)
{
if(nav)
{
eval("document.div"+n+".top="+y);
eval("document.div"+n+".left="+x);
eval("document.div"+n+".visibility='visible'");
}
else
{
eval("div"+n+".style.top="+y);
eval("div"+n+".style.left="+x);
eval("div"+n+".style.visibility='visible'");
}
n++;
tmr=setTimeout("beam("+n+")",spd);
}
else
{
clearTimeout(tmr);
fade(4);
}
}

function fade(n)
{
if(n>0)
{
if(nav)eval ("document.div"+n+".visibility='hidden'");
else eval("div"+n+".style.visibility='hidden'");
n--;
tmr=setTimeout("fade("+n+")",spd);
}
else clearTimeout(tmr);
}

// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor13

Логотип На Орбите

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site: http://website.lineone.net/~kurt.grigg/javascript -->

<!-- Begin
if (document.all) {

yourLogo = "JavaScript Help 1.0-"; //НЕ МЕНЕЕ 2 БУКВ !!!
logoFont = "Arial"; // ШРИФТ ЛОГОТИПА
logoColor = "000000"; // ЦВЕТ ШРИФТА ЛОГОТИПА

yourLogo = yourLogo.split('');
L = yourLogo.length;
TrigSplit = 360 / L;
Sz = new Array()
logoWidth = 100;
logoHeight = -30;
ypos = 0;
xpos = 0;
step = 0.03;
currStep = 0;
document.write('<div id="outer" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < L; i++) {
document.write('<div id="ie" style="position:absolute;top:0px;left:0px;'
+'width:10px;height:10px; font-family:'+logoFont+';font-size:12px;'
+'color:'+logoColor+'; text-align:center">'+yourLogo[i]+'</div>');
}
document.write('</div></div>');
function Mouse() {
ypos = event.y;
xpos = event.x - 5;
}
document.onmousemove=Mouse;
function animateLogo() {
outer.style.pixelTop = document.body.scrollTop;
for (i = 0; i < L; i++) {
ie[i].style.top = ypos + logoHeight * Math.sin(currStep + i * TrigSplit * Math.PI / 180);
ie[i].style.left = xpos + logoWidth * Math.cos(currStep + i * TrigSplit * Math.PI / 180);
Sz[i] = ie[i].style.pixelTop - ypos;
if (Sz[i] < 5) Sz[i] = 5;
ie[i].style.fontSize = Sz[i] / 1.7;
}
currStep -= step;
setTimeout('animateLogo()', 20);
}
window.onload = animateLogo;
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor14

Пузыри
Комментарии нужны? Найдите рисунок пузыря поприличнее...

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site:  http://website.lineone.net/~kurt.grigg/javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
Image0 = new Image();
Image0.src = "BubBlack.gif";
Amount = 20;
Ymouse = -50;
Xmouse = -50;
Ypos = new Array();
Xpos = new Array();
Speed = new Array();
rate = new Array();
grow = new Array();
Step = new Array();
Cstep = new Array();
nsSize = new Array();
ns = (document.layers)?1:0;
(document.layers)?window. captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt) {
Ymouse=(document.layers)?evnt.pageY-20:event.y-20;
Xmouse=(document.layers)?evnt.pageX:event.x;
}
(document.layers)?window.onMouseMove= Mouse:document.onmousemove=Mouse;
for (i = 0; i < Amount; i++) {
Ypos[i] = Ymouse;
Xpos[i] = Xmouse;
Speed[i] = Math.random()*4+1;
Cstep[i] = 0;
Step[i] = Math.random()*0.1+0.05;
grow[i] = 8;
nsSize[i] = Math.random()*15+5;
rate[i] = Math.random()*0.5+0.1;
}
if (ns) {
for (i = 0; i < Amount; i++) {
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+Image0.src+" name='N' width="+nsSize[i]+" height="+nsSize[i]+"></LAYER>");
}
}
else {
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++) {
document.write('<img id="si" src="'+Image0.src+'" style="position:absolute;
 top:0px;left:0px;filter:alpha(opacity=90)">');
}
document.write('</div></div>');
}
function MouseBubbles() {
var hscrll = (document.layers)?window. pageYOffset:document.body.scrollTop;
var wscrll = (document.layers)?window. pageXOffset:document.body.scrollLeft;
for (i = 0; i < Amount; i++){
sy = Speed[i] * Math.sin(270 * Math.PI / 180);
sx = Speed[i] * Math.cos(Cstep[i] * 4);
Ypos[i] += sy;
Xpos[i] += sx;
if (Ypos[i] < -40) {
Ypos[i] = Ymouse;
Xpos[i] = Xmouse;
Speed[i] = Math.random() * 6 + 4;
grow[i] = 8;
nsSize[i] = Math.random() * 15 + 5;
}
if (ns) {
document.layers['sn'+i].left = Xpos[i] + wscrll;
document.layers['sn'+i].top = Ypos[i] + hscrll;
}
else {
si[i].style.pixelLeft = Xpos[i] + wscrll;
si[i].style.pixelTop = Ypos[i] + hscrll;
si[i].style.width = grow[i];
si[i].style.height = grow[i];
}
grow[i] += rate[i];
Cstep[i] += Step[i];
if (grow[i] > 24) grow[i] = 25;
}
setTimeout('MouseBubbles()', 10);
}
MouseBubbles();
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

bubblack.gif


Cursor10

"Резиновый хвост"
(из картинок)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="dot0" style="position: absolute; visibility: hidden; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot1" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot2" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot3" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot4" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot5" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>
<div id="dot6" style="position: absolute; height: 11; width: 11;"><img src="bullet.gif" height=11 width=11></div>

<script LANGUAGE="JavaScript">
<!-- hide code

/*
Elastic Trail script (By Philip Winston @ pwinston@yahoo.com, URL:http://members.xoom.com/ebullets)
Script featured on Dynamicdrive.com
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

// Thanks to Troels Jakobsen <tjak@get2net.dk>
// for fix which makes it work when the page is scrolled

var nDots = 7;
if (document.all&&window.print)
document.body.style.cssText= "overflow-x:hidden;overflow-y:scroll"
var Xpos = 0;
var Ypos = 0;

// fixed time step, no relation to real time
var DELTAT = .01;
// size of one spring in pixels
var SEGLEN = 10;
// spring constant, stiffness of springs
var SPRINGK = 10;
// all the physics is bogus, just picked stuff to
// make it look okay
var MASS = 1;
var GRAVITY = 50;
var RESISTANCE = 10;
// stopping criterea to prevent endless jittering
// doesn't work when sitting on bottom since floor
// doesn't push back so acceleration always as big
// as gravity
var STOPVEL = 0.1;
var STOPACC = 0.1;
var DOTSIZE = 11;
// BOUNCE is percent of velocity retained when
// bouncing off a wall
var BOUNCE = 0.75;

var isNetscape = navigator.appName=="Netscape";

// always on for now, could be played with to
// let dots fall to botton, get thrown, etc.
var followmouse = true;

var dots = new Array();
init();

function init()
{
var i = 0;
for (i = 0; i < nDots; i++) {
dots[i] = new dot(i);
}

if (!isNetscape) {
// I only know how to read the locations of the
// <LI> items in IE
//skip this for now
// setInitPositions(dots)
}

// set their positions
for (i = 0; i < nDots; i++) {
dots[i].obj.left = dots[i].X;
dots[i].obj.top = dots[i].Y;
}

if (isNetscape) {
// start right away since they are positioned
// at 0, 0
startanimate();
} else {
// let dots sit there for a few seconds
// since they're hiding on the real bullets
setTimeout("startanimate()", 2000);
}
}

function dot(i)
{
this.X = Xpos;
this.Y = Ypos;
this.dx = 0;
this.dy = 0;
if (isNetscape) {
this.obj = eval("document.dot" + i);
} else {
this.obj = eval("dot" + i + ".style");
}
}

function startanimate() {
setInterval("animate()", 20);
}

// This is to line up the bullets with actual LI tags on the page
// Had to add -DOTSIZE to X and 2*DOTSIZE to Y for IE 5, not sure why
// Still doesn't work great
function setInitPositions(dots)
{
// initialize dot positions to be on top
// of the bullets in the <ul>
var startloc = document.all.tags("LI");
var i = 0;
for (i = 0; i < startloc.length && i < (nDots - 1); i++) {
dots[i+1].X = startloc[i].offsetLeft
startloc[i].offsetParent.offsetLeft - DOTSIZE;
dots[i+1].Y = startloc[i].offsetTop +
startloc[i].offsetParent.offsetTop + 2*DOTSIZE;
}
// put 0th dot above 1st (it is hidden)
dots[0].X = dots[1].X;
dots[0].Y = dots[1].Y - SEGLEN;
}

// just save mouse position for animate() to use
function MoveHandler(e)
{
Xpos = e.pageX;
Ypos = e.pageY;
return true;
}

// just save mouse position for animate() to use
function MoveHandlerIE() {
Xpos = window.event.x + document.body.scrollLeft;
Ypos = window.event.y + document.body.scrollTop;
}

if (isNetscape) {
document.captureEvents(Event.MOUSEMOVE);
document.onMouseMove = MoveHandler;
} else {
document.onmousemove = MoveHandlerIE;
}

function vec(X, Y)
{
this.X = X;
this.Y = Y;
}

// adds force in X and Y to spring for dot[i] on dot[j]
function springForce(i, j, spring)
{
var dx = (dots[i].X - dots[j].X);
var dy = (dots[i].Y - dots[j].Y);
var len = Math.sqrt(dx*dx + dy*dy);
if (len > SEGLEN) {
var springF = SPRINGK * (len - SEGLEN);
spring.X += (dx / len) * springF;
spring.Y += (dy / len) * springF;
}
}

function animate() {
// dots[0] follows the mouse,
// though no dot is drawn there
var start = 0;
if (followmouse) {
dots[0].X = Xpos;
dots[0].Y = Ypos;
start = 1;
}

for (i = start ; i < nDots; i++ ) {

var spring = new vec(0, 0);
if (i > 0) {
springForce(i-1, i, spring);
}
if (i < (nDots - 1)) {
springForce(i+1, i, spring);
}

// air resisitance/friction
var resist = new vec(-dots[i].dx * RESISTANCE,
-dots[i].dy * RESISTANCE);

// compute new accel, including gravity
var accel = new vec((spring.X + resist.X)/ MASS,
(spring.Y + resist.Y)/ MASS + GRAVITY);

// compute new velocity
dots[i].dx += (DELTAT * accel.X);
dots[i].dy += (DELTAT * accel.Y);

// stop dead so it doesn't jitter when nearly still
if (Math.abs(dots[i].dx) < STOPVEL &&
Math.abs(dots[i].dy) < STOPVEL &&
Math.abs(accel.X) < STOPACC &&
Math.abs(accel.Y) < STOPACC) {
dots[i].dx = 0;
dots[i].dy = 0;
}

// move to new position
dots[i].X += dots[i].dx;
dots[i].Y += dots[i].dy;

// get size of window
var height, width;
if (isNetscape) {
height = window.innerHeight + document.scrollTop;
width = window.innerWidth + document.scrollLeft;
} else {
height = document.body.clientHeight + document.body.scrollTop;
width = document.body.clientWidth + document.body.scrollLeft;
}

// bounce of 3 walls (leave ceiling open)
if (dots[i].Y >= height - DOTSIZE - 1) {
if (dots[i].dy > 0) {
dots[i].dy = BOUNCE * -dots[i].dy;
}
dots[i].Y = height - DOTSIZE - 1;
}
if (dots[i].X >= width - DOTSIZE) {
if (dots[i].dx > 0) {
dots[i].dx = BOUNCE * -dots[i].dx;
}
dots[i].X = width - DOTSIZE - 1;
}
if (dots[i].X < 0) {
if (dots[i].dx < 0) {
dots[i].dx = BOUNCE * -dots[i].dx;
}
dots[i].X = 0;
}

// move img to new position
dots[i].obj.left = dots[i].X;
dots[i].obj.top = dots[i].Y;
}
}

// end code hiding -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

bullet.gif


Cursor7

"Странствующий" курсор

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT language="JavaScript1.2">

/*
Roaming Cursor script (By Kurt at kurt.grigg@virgin.net)
Modified and permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//specify path to cursor image
var cursorpath="cursor.gif"

if (document.layers)
{document.write("<LAYER NAME='PoInTeRs' LEFT=10 TOP=10><img src='"+cursorpath+"' width=171
 height=19></LAYER>")}
else if (document.all){document.write("<div id='pOiNtErS' style='position:absolute;
 top:10px;left:10px; width:11px;height:19px;z-index:50'><img src='"+cursorpath+"'
 width=11 height=19></div>")}

count=-1;
move=1;

function Curve(){
abc=new Array(0,1,1,1,2,3,4,0,6,-1,-1,-1,-2,-3,-4,0,-6)
for (i=0; i < abc.length; i++)
{var C=Math.round(Math.random()*[i])}
howbend=abc[C];
setTimeout('Curve()',1900);
return howbend;
}
ypos=10;
xpos=10;

degree = 60;
function MoveRandom(){
PathBend=degree+=howbend;//ok!
y = 4*Math.sin(PathBend*Math.PI/180);
x = 6*Math.cos(PathBend*Math.PI/180);
if (document.layers){
ypos+=y;
xpos+=x;
document.PoInTeRs.top= ypos+window.pageYOffset;
document.PoInTeRs.left= xpos+window.pageXOffset;
}
else if (document.all){
ypos+=y;
xpos+=x;
document.all.pOiNtErS.style.top= ypos+document.body.scrollTop;
document.all.pOiNtErS.style.left= xpos+document.body.scrollLeft;
}
T=setTimeout('MoveRandom()',50);
}
function edges(){
if (document.layers){
if (document.PoInTeRs.left >= window.innerWidth-40+window. pageXOffset)degree=
 Math.round(Math.random()*45+157.5);
if (document.PoInTeRs.top >= window.innerHeight-30+window. pageYOffset)degree=
 Math.round(Math.random()*45-112.5);
if (document.PoInTeRs.top <= 2+window.pageYOffset) degree = Math.round(Math.random()*45+67.5);//OK!
if (document.PoInTeRs.left <= 2+window.pageXOffset) degree = Math.round(Math.random()*45-22.5);//OK!
}
else if (document.all)
{
if (document.all.pOiNtErS.style.pixelLeft >= document.body.
 offsetWidth-45+document.body. scrollLeft)degree= Math.round(Math.random()*45+157.5);
if (document.all. pOiNtErS.style.pixelTop >= document.body.
 offsetHeight-35+document.body. scrollTop)degree= Math.round(Math.random()*45-112.5);
if (document.all.pOiNtErS.style.pixelTop <= 2+document.body.scrollTop) degree = Math.round(Math.random()*45+67.5);//OK!
if (document.all.pOiNtErS.style.pixelLeft <= 2+document.body.scrollLeft) degree = Math.round(Math.random()*45-22.5);//OK!
}
setTimeout('edges()',100);
}
function starteffect(){
Curve();
MoveRandom();// onUnload="opener.gO()"
edges();
}

if (document.all||document.layers)
window.onload=starteffect
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

cursor.gif (должен быть прозрачным gif)


Cursor15

Курсор с квадратами
Если, к примеру, вставить в таблицы (квадраты) фоновые рисунки или части рисунка, или задать цвет фона, или.... короче, если пофантазировать, то найти применение скрипту вполне возможно.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript><!--
dd=document;NS=(dd.layers)?1:0;IE=(dd.all)?1:0
function setob(L){if(NS){obg=dd.layers[L]}
else {obg=dd.getElementById(L);obg=obg.style}
}
function init(){
dd.onmousemove=mouseMove;
if (!IE)dd.captureEvents(Event.MOUSEMOVE)
}
function mouseMove(e){
var x=(!IE)?e.pageX:event.x;
var y=(!IE)?e.pageY:event.y+dd.body.scrollTop
setob('logo1');obg.left=x-80;obg.top=y-80
setob('logox');obg.left=x-80;obg.top=1
setob('logoy');obg.left=1;obg.top=y-80
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload=init()>

<DIV id=logo1 style="HEIGHT: 75px; POSITION: absolute; TOP: 0px; WIDTH: 75px">
<TABLE border=1 borderColor=red height=75 width=75>
<TBODY>
<TR>
<TD>&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV id=logox style="HEIGHT: 75px; POSITION: absolute; TOP: 0px; WIDTH: 75px">
<TABLE border=1 borderColor=red height=75 width=75>
<TBODY>
<TR>
<TD>&nbsp;</TD></TR></TBODY></TABLE></DIV>
<DIV id=logoy style="HEIGHT: 75px; POSITION: absolute; TOP: 0px; WIDTH: 75px">
<TABLE border=1 borderColor=red height=75 width=75>
<TBODY>
<TR>
<TD>&nbsp;</TD></TR></TBODY></TABLE></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor11

Курсор с "прицелом"
(удобно использовать одновременно со скриптом "Координаты мыши" раздел "Курсоры")

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
#leftright, #topdown{
position:absolute;
left:0;
top:0;
width:1px;
height:1px;
layer-background-color:black;
background-color:black;
z-index:100;
font-size:1px;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <div id="leftright" style= "width:expression
 (document.body.clientWidth-2)"> </div>
<div id="topdown" style= "height:expression
 (document.body.clientHeight-2)"> </div>

<script language="JavaScript1.2">
<!--

/*
Document crosshair Script-
By Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more free DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all&&!window.print){
leftright.style.width= document.body.clientWidth-2
topdown.style.height= document.body.clientHeight-2
}
else if (document.layers){
document.leftright.clip.width= window.innerWidth
document.leftright.clip.height=1
document.topdown.clip.width=1
document.topdown.clip.height= window.innerHeight
}

function followmouse1(){
//move cross engine for IE 4+
leftright.style.pixelTop= document.body.scrollTop+event.clientY+1
topdown.style.pixelTop= document.body.scrollTop
if (event.clientX<document.body.clientWidth-2)
topdown.style.pixelLeft= document.body.scrollLeft+event.clientX+1
else
topdown.style.pixelLeft= document.body.clientWidth-2
}

function followmouse2(e){
//move cross engine for NS 4+
document.leftright.top=e.y+1
document.topdown.top=pageYOffset
document.topdown.left=e.x+1
}

if (document.all)
document.onmousemove=followmouse1
else if (document.layers){
window.captureEvents(Event.MOUSEMOVE)
window.onmousemove=followmouse2
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
setTimeout("window.onresize=regenerate",400)
}
if ((document.all&&!window.print) ||document.layers)
//if the user is using IE 4 or NS 4, both NOT IE 5+
window.onload=regenerate2

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor18

Сходящийся в точку хвост
Необходимые рисунки Вы найдете в ZIP архиве внизу страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="Javascript1.2">
<!--

/*
Fade-away cursor trail script (By Dave Collins at davecollin1@excite.com)
Code and technique learned from site SiteExperts.com
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var isNS = (navigator.appName == "Netscape");
layerRef = (isNS) ? "document" : "document.all";
styleRef = (isNS) ? "" : ".style";

var queue = new Array();

var NUM_OF_TRAIL_PARTS = 5

for (x=1; x < 6; x++) {
eval("trailSpriteFrame" + x + " = new Image(28,36);");
eval("trailSpriteFrame" + x + ".src = 'trailgif" + x + ".gif';");
}

function trailSpriteObj(anID) {
this.trailSpriteID = "trailSprite" + anID;
this.imgRef = "trailSprite" + anID + "img";
this.currentFrame = 1;
this.animateTrailSprite = animateTrailSprite;
}

function animateTrailSprite() {
if (this.currentFrame <6 ) {
if (isNS) {
eval("document." + this.trailSpriteID +".document['"+ this.imgRef + "'].src = trailSpriteFrame" + this.currentFrame + ".src");
} else {
eval("document['" + this.imgRef + "'].src = trailSpriteFrame" + this.currentFrame + ".src");
}
this.currentFrame ++;
} else {
eval(layerRef + '.' + this.trailSpriteID + styleRef + '.visibility = "hidden"');
}
}

function processAnim() {
for(x=0; x < NUM_OF_TRAIL_PARTS; x++)
queue[x].animateTrailSprite();
}

function processMouse(e) {
currentObj = shuffleQueue();
if (isNS) {
eval("document." + currentObj + ".left = e.pageX - 10 ;");
eval("document." + currentObj + ".top = e.pageY + 10;");
} else {
eval("document.all." + currentObj + ".style.pixelLeft = event.clientX + document.body.scrollLeft - 10 ;");
eval("document.all." + currentObj + ".style.pixelTop = event.clientY + document.body.scrollTop + 10;");
}
}

function shuffleQueue() {
lastItemPos = queue.length - 1;
lastItem = queue[lastItemPos];
for (i = lastItemPos; i>0; i--)
queue[i] = queue[i-1];
queue[0] = lastItem;

queue[0].currentFrame = 1;
eval(layerRef + '.' + queue[0].trailSpriteID + styleRef + '.visibility = "visible"');

return queue[0].trailSpriteID;
}

function init() {

for(x=0; x<NUM_OF_TRAIL_PARTS; x++)
queue[x] = new trailSpriteObj(x+1) ;

if (isNS) { document.captureEvents(Event.MOUSEMOVE); }
document.onmousemove = processMouse;

setInterval("processAnim();",25);
}

window.onload = init;

//-->
</script>

Содержимое этой таблицы поместите сразу после <BODY>

<DIV id="trailSprite1" style="position: absolute; height:28px; width:36px;z-index: 100">
<img src="blanktrail-1.gif" height=28 width=36 border=0 name="trailSprite1img">
</DIV>
<DIV id="trailSprite2" style="position: absolute; height:28px; width:26px;z-index: 10">
<img src="blanktrail-1.gif" height=28 width=36 border=0 name="trailSprite2img">
</DIV>
<DIV id="trailSprite3" style="position: absolute; height:28px; width:36px;z-index: 10">
<img src="blanktrail-1.gif" height=28 width=36 border=0 name="trailSprite3img">
</DIV>
<DIV id="trailSprite4" style="position: absolute; height:28px; width:36px;z-index: 10">
<img src="blanktrail-1.gif" height=28 width=36 border=0 name="trailSprite4img">
</DIV>
<DIV id="trailSprite5" style="position: absolute; height:28px; width:36px;z-index: 10">
<img src="blanktrail-1.gif" height=28 width=36 border=0 name="trailSprite5img">
</DIV>
<script language="JavaScript1.2">
if (document.all&&window.print)
document.body.style.cssText="overflow-x:hidden;overflow-y:scroll"
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, используемые для работы скрипта: dottail.zip


Cursor12

"Танцующие звезды"
(лучше смотрится на темном или черном фоне)

(попробуйте изменить цвет фона)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<LAYER NAME="a0" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a1" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a2" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a3" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a4" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a5" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>
<LAYER NAME="a6" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FFFF00" CLIP="0,0,3,3"></LAYER>

<script language="JavaScript">
<!--

/*
Dancing Stars cursor (Submitted by Kurt at kurt.grigg@virgin.net)
Modified and permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

if (document.all){
document.write('<div id="starsDiv" style=
"position:absolute; top:0px;left:0px">')
for (xy=0;xy<7;xy++)
document.write('<div style="position:relative;

 width:3px;height:3px; background:#FFFF00;
      font-size:2px; visibility:visible"></div>')
document.write('</div>')
}

if (document.layers)
{window.captureEvents (Event.MOUSEMOVE);}
var yBase = 200;
var xBase = 200;
var yAmpl = 10;
var yMax = 40;
var step = .2;
var ystep = .5;
var currStep = 0;
var tAmpl=1;
var Xpos = 1;
var Ypos = 1;
var i = 0;
var j = 0;

if (document.all)
{
function MoveHandler(){
Xpos = document.body. scrollLeft+event.x;
Ypos = document.body. scrollTop+event.y;
}
document.onmousemove = MoveHandler;
}

else if (document.layers)
{
function xMoveHandler(evnt){
Xpos = evnt.pageX;
Ypos = evnt.pageY;
}
window.onMouseMove = xMoveHandler;
}

function animateLogo() {
if (document.all)
{
yBase = window.document.body.offsetHeight/4;
xBase = window.document.body.offsetWidth/4;
}
else if (document.layers)
{
yBase = window.innerHeight/4 ;
xBase = window.innerWidth/4;
}

if (document.all)
{
var totaldivs=document.all.starsDiv. all.length
for ( i = 0 ; i < totaldivs ; i++ )
{
var tempdiv=document.all. starsDiv.all[i].style
tempdiv.top = Ypos + Math.cos((20*Math.sin (currStep/20))+i*70)*yBase* (Math.sin
      (10+currStep/10)+0.2)* Math.cos((currStep + i*25)/10);
tempdiv.left = Xpos + Math.sin ((20*Math.sin(currStep/20))+i*70)* xBase* (Math.sin
      (10+currStep/10)+0.2)* Math.cos((currStep + i*25)/10);
}
}

else if (document.layers)
{
for ( j = 0 ; j < 7 ; j++ )
{
var templayer="a"+j
document.layers[templayer].top = Ypos + Math.cos ((20*Math.sin(currStep/20))
      +j*70)*yBase* (Math.sin (10+currStep/10)+0.2) *Math.cos((currStep + j*25)/10);
document.layers[templayer].left =Xpos + Math.sin ((20*Math.sin(currStep/20))+j*70)
      *xBase* (Math.sin (10+currStep/10)+0.2) *Math.cos((currStep + j*25)/10);
}
}
currStep += step;
setTimeout("animateLogo()", 15);
}
animateLogo();
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor9

Текстовое сообщение следует за курсором

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT language=JavaScript1.2>
<!--

/*
Cursor Trailer II (By Kurt at kurt.grigg@virgin.net)
Modified and featured on Dynamicdrive.com
*/

var message='JavasHelp.cjb.net';
var messagecolor='#000000'

//Enter number of seconds for message to display  (0=perpetual)
var dismissafter=0

///no need to edit below/////////
var amount=5,ypos=0,xpos=0,Ay=0, Ax=0,By=0, Bx=0,Cy=0, Cx=0,Dy=0,Dx=0,Ey=0,Ex=0;
if (document.layers){
for (i = 0; i < amount; i++)
{document.write ('<layer name=ns'+i+' top=0 left=0> <font face="Courier New" size=3
 color= '+messagecolor+'>'+message+'</font> </layer>')}
window.captureEvents (Event.MOUSEMOVE);
function nsmouse(evnt) {xpos = evnt.pageX;ypos = evnt.pageY;makefollow()}
}
else if (document.all){
document.write("<div id='outer' style=
 'position:absolute;top:0px;left:0px'>");
document.write("<div id='inner' style='position:relative'>");
for (i = 0; i < amount; i++)
{document.write('<div id="text"'+i+' style= "position:absolute;
 top:0px;left:0px;font-family:Courier New;font-size: 16px;color:'+messagecolor+'">
 '+message+'</div>')}
document.write("</div>");
document.write("</div>");
function iemouse(){ypos = document.body.scrollTop + event.y;xpos = document.body.scrollLeft + event.x;makefollow()}
}
function makefollow(){
if (document.layers){
document.layers["ns0"].top= ay;document.layers["ns0"].left=ax;
document.layers["ns1"].top= by;document.layers["ns1"].left=bx;
document.layers["ns2"].top= cy;document.layers["ns2"].left=cx;
document.layers["ns3"].top= Dy;document.layers["ns3"].left=Dx;
document.layers["ns4"].top= Ey;document.layers["ns4"].left=Ex;
}
else if (document.all){
outer.all.inner.all[0].style.pixelTop= ay;outer.all.inner.all[0].style.pixelLeft=ax;
outer.all.inner.all[1].style.pixelTop= by;outer.all.inner.all[1].style.pixelLeft=bx;
outer.all.inner.all[2].style.pixelTop= cy;outer.all.inner.all[2].style.pixelLeft=cx;
outer.all.inner.all[3].style.pixelTop= Dy;outer.all.inner.all[3].style.pixelLeft=Dx;
outer.all.inner.all[4].style.pixelTop= Ey;outer.all.inner.all[4].style.pixelLeft=Ex;
}
}
function move(){
if (dismissafter!=0)
setTimeout("hidetrail()", dismissafter*1000)

if (document.layers){window.onMouseMove = nsmouse}
else if (document.all){window.document.onmousemove = iemouse}
ey = Math.round(Ey+=((ypos+20)-Ey)*2/2);ex = Math.round(Ex+=((xpos+20)-Ex)*2/2);
dy = Math.round(Dy+=(ey - Dy)*2/4);dx = Math.round(Dx+=(ex - Dx)*2/4);
cy = Math.round(Cy+=(dy - Cy)*2/6);cx = Math.round(Cx+=(dx - Cx)*2/6);
by = Math.round(By+=(cy - By)*2/8);bx = Math.round(Bx+=(cx - Bx)*2/8);
ay = Math.round(Ay+= (by - Ay)*2/10);ax = Math.round(Ax+= (bx - Ax)*2/10);
makefollow();
jumpstart=setTimeout('move()',10);
}

function hidetrail(){
if (document.all){
for (i2=0;i2<amount;i2++){
outer.all.inner.all[i2].style.visibility= "hidden"
clearTimeout(jumpstart)
}
}
else if (document.layers){
for (i2=0;i2<amount;i2++){
temp="ns"+i2
document.layers[temp].visibility= "hide"
clearTimeout(jumpstart)
}
}
}

window.onload=move;
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor3

Текстовая "змейка на пружине"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.spanstyle {
position:absolute;
visibility:visible;
top:-50px;
font-size:10pt;
font-family:Verdana;
font-weight:bold;
color:black;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="makesnake()">

<div>
<script>
var x,y
var step=14
var flag=0

var message="Хочу домой\, домой! "
message=message.split("")

var xpos=new Array()
for (i=0;i<=message.length-1;i++) {
xpos[i]=-50
}

var ypos=new Array()
for (i=0;i<=message.length-1;i++) {
ypos[i]=-50
}

function handlerMM(e){
x = (document.layers) ? e.pageX : document.body.scrollLeft+event.clientX
y = (document.layers) ? e.pageY : document.body.scrollTop+event.clientY
flag=1
}

function makesnake() {
if (flag==1 && document.all) {
for (i=message.length-1; i>=1; i--) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]
}
xpos[0]=x+step
ypos[0]=y

for (i=0; i<message.length-1; i++) {
var thisspan = eval("span"+(i)+".style")
thisspan.posLeft=xpos[i]
thisspan.posTop=ypos[i]
}
}

else if (flag==1 && document.layers) {
for (i=message.length-1; i>=1; i--) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]
}
xpos[0]=x+step
ypos[0]=y

for (i=0; i<message.length-1; i++) {
var thisspan = eval("document.span"+i)
thisspan.left=xpos[i]
thisspan.top=ypos[i]
}
}
var timer=setTimeout("makesnake()",30)
}

</script>
<script>
<!-- Beginning of JavaScript -

for (i=0;i<=message.length-1;i++) {
document.write("<span id='span"+i+"' class='spanstyle'>")
document.write(message[i])
document.write("</span>")
}

if (document.layers){
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;

// - End of JavaScript - -->
</script>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


cursor17

Хвост-пирамидка
Рисунки Вы найдете в ZIP архиве внизу страницы

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>

/*
Cross browser cursor trailer script
By Brian Caputo (bcaputo@icdc.com)
Permission given to Dynamicdrive.com
to feature the script in it's DHTML archive
For 100's more DHTML scripts and components,
visit Dynamicdrive.com
*/

B=document.all;
C=document.layers;
T1=new Array("trail1.gif",38,35,"trail2.gif",30,31,"trail3.gif",28,26,"trail4.gif",22,21,"trail5.gif",16,16,"trail6.gif",10,10)
nos=parseInt(T1.length/3)
rate=50
ie5fix1=0;
ie5fix2=0;
for (i=0;i<nos;i++){
createContainer("CUR"+i,i*10,i*10,i*3+1,i*3+2,"","<img src='"+T1[i*3]+"' width="+T1[(i*3+1)]+" height="+T1[(i*3+2)]+" border=0>")}
function createContainer(N,Xp,Yp,W,H,At,HT,Op,St){
with (document){
write((!B) ? "<layer id='"+N+"' left="+Xp+" top="+Yp+" width="+W+" height="+H : "<div id='"+N+"'"+" style='position:absolute;left:"+Xp+"; top:"+Yp+"; width:"+W+"; height:"+H+"; ");
if(St){
if (C)
write(" style='");
write(St+";' ")
}
else write((B)?"'":"");
write((At)? At+">" : ">");
write((HT) ? HT : "");
if (!Op)
closeContainer(N)
}
}
function closeContainer(){
document.write((B)?"</div>":"</layer>")
}
function getXpos(N){
return (B) ? parseInt(B[N].style.left) : C[N].left
}
function getYpos(N){
return (B) ? parseInt(B[N].style.top) : C[N].top
}

function moveContainer(N,DX,DY){
c=(B) ? B[N].style :C[N];c.left=DX;c.top=DY
}
function cycle(){
//if (IE5)
if (document.all&&window.print){
ie5fix1=document.body.scrollLeft;
ie5fix2=document.body.scrollTop;
}
for (i=0;i<(nos-1);i++){
moveContainer("CUR"+i,getXpos("CUR"+(i+1)),getYpos("CUR"+(i+1)))
}
}
function newPos(e){
moveContainer("CUR"+(nos-1),(B)?event.clientX+ie5fix1:e.pageX+2,(B)?event.clientY+ie5fix2:e.pageY+2
)
}
if(document.layers)
document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=newPos
setInterval("cycle()",rate)
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, необходимые для работы скрипта: piramidtail.zip


Cursor8

Цветная комета вокруг курсора

(попробуйте на разном фоне)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <LAYER NAME="a0" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ffffff" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a1" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#fff000" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a2" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ffa000" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a3" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ff00ff" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a4" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#00ff00" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a5" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FF00FF" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a6" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#FF0000" CLIP="0,0,1,1"></LAYER>
<LAYER NAME="a7" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ffffff" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a8" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#fff000" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a9" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ffa000" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a10" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#ff00ff" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a11" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#00ff00" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a12" LEFT=10 TOP=10 VISIBILITY=SHOW BGCOLOR="#0000ff" CLIP="0,0,2,2"></LAYER>
<LAYER NAME="a13" LEFT=10  TOP=10 VISIBILITY= SHOW BGCOLOR="#FF0000" CLIP="0,0,3,3"></LAYER>

<script language="JavaScript">

/*
Magic Wand cursor (By Kurt at kurt.grigg@virgin.net)
Modified and permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

if (document.all){
with (document){
write('<div id="starsDiv" style=
 "position:absolute;top:0px;left:0px">')
write('<div style="position:relative; width:1px;height:1px;background:#ffffff;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#fff000;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#ffa000;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#ff00ff;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#00ff00;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#0000ff;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:1px;height:1px;background:#FF0000;
 font-size:1px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#ffffff;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#fff000;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#ffa000;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#ff00ff;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#00ff00;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:2px;height:2px;background:#0000ff;
 font-size:2px;visibility:visible"></div>')
write('<div style="position:relative; width:3px;height:3px;background:#FF0000;
 font-size:3px;visibility:visible"></div>')
write('</div>')
}
}

var Clrs=new Array(6)
Clrs[0]='ff0000';
Clrs[1]='00ff00';
Clrs[2]='000aff';
Clrs[3]='ff00ff';
Clrs[4]='fff000';
Clrs[5]='fffff0';

if (document.layers)
{window.captureEvents (Event.MOUSEMOVE);}
var yBase = 200;
var xBase = 200;
var step;
var currStep = 0;
var Xpos = 1;
var Ypos = 1;

if (document.all)
{
function MoveHandler(){
Xpos =  document.body.scrollLeft+event.x;
Ypos =  document.body.scrollTop+event.y;
}
document.onmousemove =  MoveHandler;
}

else if (document.layers)
{
function xMoveHandler(evnt){
Xpos = evnt.pageX;
Ypos = evnt.pageY;
}
window.onMouseMove =  xMoveHandler;
}

function animateLogo() {
if (document.all)
{
yBase =  window.document.body.offsetHeight/4;
xBase =  window.document.body.offsetWidth/4;
}
else if (document.layers)
{
yBase = window.innerHeight/4;
xBase = window.innerWidth/4;
}

if (document.all)
{
for ( i = 0 ; i < starsDiv.all.length ; i++ )
{step=3;
starsDiv.all[i].style.top = Ypos + yBase*Math.cos ((currStep + i*4)/12)*Math.cos
 (0.7+currStep/200);
starsDiv.all[i].style.left = Xpos + xBase*Math.sin ((currStep + i*3)/10)*Math.sin
 (8.2+currStep/400);
for (ai=0; ai < Clrs.length; ai++)
{
var c=Math.round(Math.random()*[ai]);
}
starsDiv.all[i].style.background=Clrs[c];
}
}

else if (document.layers)
{
for ( j = 0 ; j < 14 ; j++ ) //number of NS layers!
{step = 4;
var templayer="a"+j
document.layers[templayer].top = Ypos + yBase*Math.sin ((currStep + j*4)/12)*Math.cos
 (0.7+currStep/200);
document.layers[templayer].left = Xpos + xBase*Math.sin ((currStep + j*3)/10)*Math.sin
 (8.2+currStep/400);
for (aj=0; aj < Clrs.length; aj++)
{
var c= Math.round(Math.random()*[aj]);
}
document.layers[templayer].bgColor= Clrs[c];
}
}
currStep+= step;
setTimeout("animateLogo()", 10);
}
animateLogo();
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC95

Анимированные кавычки для линка

> > > [ Главная страница ] < < <
> > > [ Отправить email ] < < <

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript>

document.onmouseover = domouseover;
document.onmouseout = domouseout;

function ismsie4() {
if ((navigator.appName.indexOf("Internet Explorer") > -1) && (navigator.appVersion.indexOf("4") > -1)) { return true }
else { return false }
}

var linkTimeout = "";

function showArrow(activeArrowID, linkName) {
for (i=0;i<=2;i++) {
if (i == activeArrowID) {
document.all[linkName + "Arrow"][i].style.color = "white";
document.all[linkName + "Arrow"][5 - i].style.color = "white";
}
else {
document.all[linkName + "Arrow"][i].style.color = "";
document.all[linkName + "Arrow"][5 - i].style.color = "";
}
}
activeArrowID++;
if (activeArrowID > 2) { activeArrowID = 0; }

linkTimeout = setTimeout("showArrow(" + activeArrowID + ', "' + linkName + '"' + ")", 120);
}

// This is separate because... umm, it makes things flexible ;-)
function hideArrows(linkName) {
for (i=0;i<=2;i++) {
document.all[linkName + "Arrow"][i].style.color = "";
document.all[linkName + "Arrow"][5 - i].style.color = "";
}
}

function domouseover() {
srcElement = window.event.srcElement;
if (srcElement.className.indexOf("Link") > -1) {
var linkName = srcElement.id;
document.all[linkName + "Bracket"][0].style.color = "black";
document.all[linkName + "Bracket"][1].style.color = "black";
showArrow(0, linkName);
}
}

function domouseout() {
srcElement = window.event.srcElement;
if (srcElement.className.indexOf("Link") > -1) {
var linkName = srcElement.id;
hideArrows(linkName);
clearTimeout(linkTimeout);
document.all[linkName + "Bracket"][0].style.color = "";
document.all[linkName + "Bracket"][1].style.color = "";
}
}

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FONT face=Verdana size=3><FONT color=black><A id=mainArrow>&gt;</A>
<A id=mainArrow>&gt;</A>
<A id=mainArrow>&gt;</A></FONT>
<A id=mainBracket>[</A>
<A class=mainLink href="home.htm" id=main target="_blank">Главная страница</A>
<A id=mainBracket>]</A><FONT color=black>
<A id=mainArrow>&lt;</A>
<A id=mainArrow>&lt;</A>
<A id=mainArrow>&lt;</A>
<P>
<FONT face=Verdana size=3>
<FONT color=black>
<A id=emailArrow>&gt;</A>
<A id=emailArrow>&gt;</A>
<A id=emailArrow>&gt;</A></FONT>
<A id=emailBracket>[</A>
<A class=emailLink href="mailto:eugenezz@yandex.ru" id=email>Отправить email</A>
<A id=emailBracket>]</A>
<FONT color=black>
<A id=emailArrow>&lt;</A>
<A id=emailArrow>&lt;</A>
<A id=emailArrow>&lt;</A>
</FONT>
</FONT>
</P>
</FONT>
</FONT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Cursor20

Бегущая строка - подсказка к линку

ПОДВЕДИТЕ КУРСОР

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

if (!document.layers&&!document.all)

event="test"

function showtip2(current,e,text){

if (document.all&&document. readyState== "complete"){

document.all.tooltip2.innerHTML= '<marquee style=
      "border:1px solid black">'+text+'</marquee>'

document.all.tooltip2. style.pixelLeft= event.clientX+document.
      body.scrollLeft+10

document.all.tooltip2. style.pixelTop= event.clientY+
      document.body.scrollTop+10

document.all.tooltip2. style.visibility= "visible"

}

else if (document.layers){

document.tooltip2.document.nstip. document.write('<b>'+text+'</b>')

document.tooltip2.document.nstip. document.close()

document.tooltip2.document. nstip.left=0

currentscroll= setInterval("scrolltip()",100)

document.tooltip2.left= e.pageX+10

document.tooltip2.top= e.pageY+10

document.tooltip2.visibility= "show"

}

}

function hidetip2(){

if (document.all)

document.all.tooltip2. style.visibility= "hidden"

else if (document.layers){

clearInterval(currentscroll)

document.tooltip2.visibility="hidden"

}

}

function scrolltip(){

if (document.tooltip2. document.nstip.left>=
      -document.tooltip2.document.nstip. document.width)

document.tooltip2.document. nstip.left-= 5

else

document.tooltip2.document. nstip.left= 150

}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<div id="tooltip2" style="position:absolute;visibility:hidden;clip:rect(0 140 230 0);width:150px;background-color:lightyellow">
<layer name="nstip" width=1000px bgColor="lightyellow"></layer>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC65

Библиотека стилей комментариев "OVERLIB"

Note!

Здесь производится попытка демонстрирования хотя бы части стилей, возможных при использовании "OverLib". Можно применить эту библиотеку для создания страниц с полностью разными стилями комментариев, при этом имея только один этот код, сохраненный на сервере в виде одного файла .js. (Модифицируйте onMouseOver раздел этого кода для создания своего стиля) Удачи!

Взгляните на эти небольшие примеры. Вот обычный комментарий, или с красивым заглавием. Вы можете даже заставить попапчик прилипнуть после клика по линку, плюс, Вы можете поместить html тэг прямо в комментарий!. Есть и много других "примочек", например, Вы можете перенести комментарий на другую сторону от мыши, или заставить двигаться ступеньчато вслед за курсором, определить для всех popup-ов фиксированную позицию появления, или вставить внутрь комментария фоновый рисунок... Для более подробного изучения возможностей OverLib лучше всего посетить страницу автора.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <DIV ID="overDiv" STYLE="position:absolute; visibility:hide; z-index:1;"></DIV>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
////////////////////////////////////////////////////////////////////////////////////
//  overLIB 3.10  --  This notice must be left untouched at all times.
//  Copyright Erik Bosrup 1998-2000. All rights reserved.
//
//  By Erik Bosrup (erik@bosrup.com).  Last modified 2000-03-30.
//  Portions by Dan Steinman (dansteinman.com).
//  Additions by other people are listed on the overLIB homepage.
//
//  Get the latest version at http://www.bosrup.com/web/overlib/
//
//  This script is published under an open source license. Please read the license
//  agreement online at: http://www.bosrup.com/web/overlib/license.html
//  If you have questions regard the license please contact erik@bosrup.com.
//
//  This script library was originally created for personal use. By request it has
//  later been made public. This is free software. Do not try to sell this as your
//  own work, or remove this copyright notice. For full details on copying this
//  script please read the license agreement at the link above.
//
//  Please give credit on sites that use overLIB and submit changes of the script
//  so other people can use them as well. This script is free to use, don't abuse.
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// CONSTANTS
// Don't touch these. :)
////////////////////////////////////////////////////////////////////////////////////
var INARRAY		=	1;
var CAPARRAY		=	2;
var STICKY		=	3;
var BACKGROUND		=	4;
var NOCLOSE		=	5;
var CAPTION		=	6;
var LEFT		=	7;
var RIGHT		=	8;
var CENTER		=	9;
var OFFSETX		=	10;
var OFFSETY		=	11;
var FGCOLOR		=	12;
var BGCOLOR		=	13;
var TEXTCOLOR		=	14;
var CAPCOLOR		=	15;
var CLOSECOLOR		=	16;
var WIDTH		=	17;
var BORDER		=	18;
var STATUS		=	19;
var AUTOSTATUS		=	20;
var AUTOSTATUSCAP	=	21;
var HEIGHT		=	22;
var CLOSETEXT		=	23;
var SNAPX		=	24;
var SNAPY		=	25;
var FIXX		=	26;
var FIXY		=	27;
var FGBACKGROUND	=	28;
var BGBACKGROUND	=	29;
var PADX		=	30;
var PADY		=	31;
var PADX2		=	32;
var PADY2		=	33;
var FULLHTML		=	34;
var ABOVE		=	35;
var BELOW		=	36;
var CAPICON		=	37;
var TEXTFONT		=	38;
var CAPTIONFONT		=	39;
var CLOSEFONT		=	40;
var TEXTSIZE		=	41;
var CAPTIONSIZE		=	42;
var CLOSESIZE		=	43;
var FRAME		=	44;

////////////////////////////////////////////////////////////////////////////////////
// DEFAULT CONFIGURATION
// You don't have to change anything here if you don't want to. All of this can be
// changed on your html page or through an overLIB call.
////////////////////////////////////////////////////////////////////////////////////

// Main background color (the large area)
// Usually a bright color (white, yellow etc)
if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#CCCCFF";}

// Border color and color of caption
// Usually a dark color (black, brown etc)
if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#333399";}

// Text color
// Usually a dark color
if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";}

// Color of the caption text
// Usually a bright color
if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";}

// Color of "Close" when using Sticky
// Usually a semi-bright color
if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";}

// Font face for the main text
if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";}

// Font face for the caption
if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";}

// Font face for the close text
if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";}

// Font size for the main text
if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";}

// Font size for the caption
if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";}

// Font size for the close text
if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";}

// Width of the popups in pixels
// 100-300 pixels is typical
if (typeof ol_width == 'undefined') { var ol_width = "200";}

// How thick the ol_border should be in pixels
// 1-3 pixels is typical
if (typeof ol_border == 'undefined') { var ol_border = "1";}

// How many pixels to the right/left of the cursor to show the popup
// Values between 3 and 12 are best
if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;}

// How many pixels to the below the cursor to show the popup
// Values between 3 and 12 are best
if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;}

// Default text for popups
// Should you forget to pass something to overLIB this will be displayed.
if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; }

// Default caption
// You should leave this blank or you will have problems making non caps popups.
if (typeof ol_cap == 'undefined') { var ol_cap = ""; }

// Decides if sticky popups are default.
// 0 for non, 1 for stickies.
if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; }

// Default background image. Better left empty unless you always want one.
if (typeof ol_background == 'undefined') { var ol_background = ""; }

// Text for the closing sticky popups.
// Normal is "Close".
if (typeof ol_close == 'undefined') { var ol_close = "Закрыть"; }

// Default vertical alignment for popups.
// It's best to leave RIGHT here. Other options are LEFT and CENTER.
if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; }

// Default status bar text when a popup is invoked.
if (typeof ol_status == 'undefined') { var ol_status = ""; }

// If the status bar automatically should load either text or caption.
// 0=nothing, 1=text, 2=caption
if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; }

// Default height for popup. Often best left alone.
if (typeof ol_height == 'undefined') { var ol_height = -1; }

// Horizontal grid spacing that popups will snap to.
// 0 makes no grid, anything else will cause a snap to that grid spacing.
if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; }

// Vertical grid spacing that popups will snap to.
// 0 makes no grid, andthing else will cause a snap to that grid spacing.
if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; }

// Sets the popups horizontal position to a fixed column.
// Anything above -1 will cause fixed position.
if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; }

// Sets the popups vertical position to a fixed row.
// Anything above -1 will cause fixed position.
if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; }

// Background image for the popups inside.
if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; }

// Background image for the popups frame.
if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; }

// How much horizontal left padding text should get by default when BACKGROUND is used.
if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; }

// How much horizontal right padding text should get by default when BACKGROUND is used.
if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; }

// How much vertical top padding text should get by default when BACKGROUND is used.
if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; }

// How much vertical bottom padding text should get by default when BACKGROUND is used.
if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; }

// If the user by default must supply all html for complete popup control.
// Set to 1 to activate, 0 otherwise.
if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; }

// Allow overLIB to load usage images. Set to zero to stop.
if (typeof o3_tracker == 'undefined') { var o3_tracker = 0; }

// Default vertical position of the popup. Default should normally be BELOW.
// ABOVE only works when HEIGHT is defined.
if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; }

// Default height of popup to use when placing the popup above the cursor.
if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; }

// Default icon to place next to the popups caption.
if (typeof ol_caption == 'undefined') { var ol_capicon = ""; }

// Default frame. We default to current frame if there is no frame defined.
if (typeof ol_frame == 'undefined') { var ol_frame = self; }

////////////////////////////////////////////////////////////////////////////////////
// ARRAY CONFIGURATION
// You don't have to change anything here if you don't want to. The following
// arrays can be filled with text and html if you don't wish to pass it from
// your html page.
////////////////////////////////////////////////////////////////////////////////////

// Array with texts.
var ol_texts = new Array("Array Text 0", "Array Text 1");

// Array with captions.
var ol_caps = new Array("Array Caption 0", "Array Caption 1");

////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// INIT
////////////////////////////////////////////////////////////////////////////////////

// Runtime variables init. Used for runtime only, don't change, not for config!
var o3_text = "";
var o3_cap = "";
var o3_sticky = 0;
var o3_background = "";
var o3_close = "Close";
var o3_hpos = RIGHT;
var o3_offsetx = 2;
var o3_offsety = 2;
var o3_fgcolor = "";
var o3_bgcolor = "";
var o3_textcolor = "";
var o3_capcolor = "";
var o3_closecolor = "";
var o3_width = 100;
var o3_border = 1;
var o3_status = "";
var o3_autostatus = 0;
var o3_height = -1;
var o3_snapx = 0;
var o3_snapy = 0;
var o3_fixx = -1;
var o3_fixy = -1;
var o3_fgbackground = "";
var o3_bgbackground = "";
var o3_padxl = 0;
var o3_padxr = 0;
var o3_padyt = 0;
var o3_padyb = 0;
var o3_fullhtml = 0;
var o3_vpos = BELOW;
var o3_aboveheight = 0;
var o3_capicon = "";
var o3_textfont = "Verdana,Arial,Helvetica";
var o3_captionfont = "Verdana,Arial,Helvetica";
var o3_closefont = "Verdana,Arial,Helvetica";
var o3_textsize = "1";
var o3_captionsize = "1";
var o3_closesize = "1";
var o3_frame = self;

// Display state variables
var o3_x = 0;
var o3_y = 0;
var o3_allowmove = 0;
var o3_showingsticky = 0;
var o3_removecounter = 0;

// Our layer
var over = null;

// Decide browser version
var ns4 = (document.layers)? true:false
var ie4 = (document.all)? true:false
var ie5 = false;

// Microsoft Stupidity Check(tm).
if (ie4) {
if (navigator.userAgent.indexOf('MSIE 5')>0) {
ie5 = true;
}
}

// Capture events, alt. diffuses the overlib function.
if ( (ns4) || (ie4) ) {
document.onmousemove = mouseMove
if (ns4) document.captureEvents(Event.MOUSEMOVE)
} else {
overlib  = no_overlib;
nd       = no_overlib;
ver3fix  = true;
}

// Fake function for 3.0 users.
function no_overlib() {
return ver3fix;
}

////////////////////////////////////////////////////////////////////////////////////
// PUBLIC FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// overlib(arg0, ..., argN)
// Loads parameters into global runtime variables.
function overlib() {

// Load defaults to runtime.
o3_text = ol_text;
o3_cap = ol_cap;
o3_sticky = ol_sticky;
o3_background = ol_background;
o3_close = ol_close;
o3_hpos = ol_hpos;
o3_offsetx = ol_offsetx;
o3_offsety = ol_offsety;
o3_fgcolor = ol_fgcolor;
o3_bgcolor = ol_bgcolor;
o3_textcolor = ol_textcolor;
o3_capcolor = ol_capcolor;
o3_closecolor = ol_closecolor;
o3_width = ol_width;
o3_border = ol_border;
o3_status = ol_status;
o3_autostatus = ol_autostatus;
o3_height = ol_height;
o3_snapx = ol_snapx;
o3_snapy = ol_snapy;
o3_fixx = ol_fixx;
o3_fixy = ol_fixy;
o3_fgbackground = ol_fgbackground;
o3_bgbackground = ol_bgbackground;
o3_padxl = ol_padxl;
o3_padxr = ol_padxr;
o3_padyt = ol_padyt;
o3_padyb = ol_padyb;
o3_fullhtml = ol_fullhtml;
o3_vpos = ol_vpos;
o3_aboveheight = ol_aboveheight;
o3_capicon = ol_capicon;
o3_textfont = ol_textfont;
o3_captionfont = ol_captionfont;
o3_closefont = ol_closefont;
o3_textsize = ol_textsize;
o3_captionsize = ol_captionsize;
o3_closesize = ol_closesize;

// Special for frame support, over must be reset...
if ( (ns4) || (ie4) ) {
o3_frame = ol_frame;
if (ns4) over = o3_frame.document.overDiv
if (ie4) over = o3_frame.overDiv.style
}

// What the next argument is expected to be.
var parsemode = -1;

for (i = 0; i < arguments.length; i++) {

if (parsemode == 0) {
// Arg is command
if (arguments[i] == INARRAY) { parsemode = INARRAY; }
if (arguments[i] == CAPARRAY) { parsemode = CAPARRAY; }
if (arguments[i] == STICKY) { parsemode = opt_STICKY(arguments[i]); }
if (arguments[i] == BACKGROUND) { parsemode = BACKGROUND; }
if (arguments[i] == NOCLOSE) { parsemode = opt_NOCLOSE(arguments[i]); }
if (arguments[i] == CAPTION) { parsemode = CAPTION; }
if (arguments[i] == LEFT) { parsemode = opt_HPOS(arguments[i]); }
if (arguments[i] == RIGHT) { parsemode = opt_HPOS(arguments[i]); }
if (arguments[i] == CENTER) { parsemode = opt_HPOS(arguments[i]); }
if (arguments[i] == OFFSETX) { parsemode = OFFSETX; }
if (arguments[i] == OFFSETY) { parsemode = OFFSETY; }
if (arguments[i] == FGCOLOR) { parsemode = FGCOLOR; }
if (arguments[i] == BGCOLOR) { parsemode = BGCOLOR; }
if (arguments[i] == TEXTCOLOR) { parsemode = TEXTCOLOR; }
if (arguments[i] == CAPCOLOR) { parsemode = CAPCOLOR; }
if (arguments[i] == CLOSECOLOR) { parsemode = CLOSECOLOR; }
if (arguments[i] == WIDTH) { parsemode = WIDTH; }
if (arguments[i] == BORDER) { parsemode = BORDER; }
if (arguments[i] == STATUS) { parsemode = STATUS; }
if (arguments[i] == AUTOSTATUS) { parsemode = opt_AUTOSTATUS(arguments[i]); }
if (arguments[i] == AUTOSTATUSCAP) { parsemode = opt_AUTOSTATUSCAP(arguments[i]); }
if (arguments[i] == HEIGHT) { parsemode = HEIGHT; }
if (arguments[i] == CLOSETEXT) { parsemode = CLOSETEXT; }
if (arguments[i] == SNAPX) { parsemode = SNAPX; }
if (arguments[i] == SNAPY) { parsemode = SNAPY; }
if (arguments[i] == FIXX) { parsemode = FIXX; }
if (arguments[i] == FIXY) { parsemode = FIXY; }
if (arguments[i] == FGBACKGROUND) { parsemode = FGBACKGROUND; }
if (arguments[i] == BGBACKGROUND) { parsemode = BGBACKGROUND; }
if (arguments[i] == PADX) { parsemode = PADX; }
if (arguments[i] == PADY) { parsemode = PADY; }
if (arguments[i] == FULLHTML) { parsemode = opt_FULLHTML(arguments[i]); }
if (arguments[i] == ABOVE) { parsemode = opt_VPOS(arguments[i]); }
if (arguments[i] == BELOW) { parsemode = opt_VPOS(arguments[i]); }
if (arguments[i] == CAPICON) { parsemode = CAPICON; }
if (arguments[i] == TEXTFONT) { parsemode = TEXTFONT; }
if (arguments[i] == CAPTIONFONT) { parsemode = CAPTIONFONT; }
if (arguments[i] == CLOSEFONT) { parsemode = CLOSEFONT; }
if (arguments[i] == TEXTSIZE) { parsemode = TEXTSIZE; }
if (arguments[i] == CAPTIONSIZE) { parsemode = CAPTIONSIZE; }
if (arguments[i] == CLOSESIZE) { parsemode = CLOSESIZE; }
if (arguments[i] == FRAME) { parsemode = FRAME; }

} else {
if (parsemode < 0) {
// Arg is maintext, unless INARRAY
if (arguments[i] == INARRAY) {
parsemode = INARRAY;
} else {
o3_text = arguments[i];
parsemode = 0;
}
} else {
// Arg is option for command
if (parsemode == INARRAY) { parsemode = opt_INARRAY(arguments[i]); }
if (parsemode == CAPARRAY) { parsemode = opt_CAPARRAY(arguments[i]); }
if (parsemode == BACKGROUND) { parsemode = opt_BACKGROUND(arguments[i]); }
if (parsemode == CAPTION) { parsemode = opt_CAPTION(arguments[i]); }
if (parsemode == OFFSETX) { parsemode = opt_OFFSETX(arguments[i]); }
if (parsemode == OFFSETY) { parsemode = opt_OFFSETY(arguments[i]); }
if (parsemode == FGCOLOR) { parsemode = opt_FGCOLOR(arguments[i]); }
if (parsemode == BGCOLOR) { parsemode = opt_BGCOLOR(arguments[i]); }
if (parsemode == TEXTCOLOR) { parsemode = opt_TEXTCOLOR(arguments[i]); }
if (parsemode == CAPCOLOR) { parsemode = opt_CAPCOLOR(arguments[i]); }
if (parsemode == CLOSECOLOR) { parsemode = opt_CLOSECOLOR(arguments[i]); }
if (parsemode == WIDTH) { parsemode = opt_WIDTH(arguments[i]); }
if (parsemode == BORDER) { parsemode = opt_BORDER(arguments[i]); }
if (parsemode == STATUS) { parsemode = opt_STATUS(arguments[i]); }
if (parsemode == HEIGHT) { parsemode = opt_HEIGHT(arguments[i]); }
if (parsemode == CLOSETEXT) { parsemode = opt_CLOSETEXT(arguments[i]); }
if (parsemode == SNAPX) { parsemode = opt_SNAPX(arguments[i]); }
if (parsemode == SNAPY) { parsemode = opt_SNAPY(arguments[i]); }
if (parsemode == FIXX) { parsemode = opt_FIXX(arguments[i]); }
if (parsemode == FIXY) { parsemode = opt_FIXY(arguments[i]); }
if (parsemode == FGBACKGROUND) { parsemode = opt_FGBACKGROUND(arguments[i]); }
if (parsemode == BGBACKGROUND) { parsemode = opt_BGBACKGROUND(arguments[i]); }
if (parsemode == PADX2) { parsemode = opt_PADX2(arguments[i]); } // must be before PADX
if (parsemode == PADY2) { parsemode = opt_PADY2(arguments[i]); } // must be before PADY
if (parsemode == PADX) { parsemode = opt_PADX(arguments[i]); }
if (parsemode == PADY) { parsemode = opt_PADY(arguments[i]); }
if (parsemode == CAPICON) { parsemode = opt_CAPICON(arguments[i]); }
if (parsemode == TEXTFONT) { parsemode = opt_TEXTFONT(arguments[i]); }
if (parsemode == CAPTIONFONT) { parsemode = opt_CAPTIONFONT(arguments[i]); }
if (parsemode == CLOSEFONT) { parsemode = opt_CLOSEFONT(arguments[i]); }
if (parsemode == TEXTSIZE) { parsemode = opt_TEXTSIZE(arguments[i]); }
if (parsemode == CAPTIONSIZE) { parsemode = opt_CAPTIONSIZE(arguments[i]); }
if (parsemode == CLOSESIZE) { parsemode = opt_CLOSESIZE(arguments[i]); }
if (parsemode == FRAME) { parsemode = opt_FRAME(arguments[i]); }

}
}
}

return overlib310();
}

// Clears popups if appropriate
function nd() {
if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 };
if ( (ns4) || (ie4) ) {
if ( o3_showingsticky == 0 ) {
o3_allowmove = 0;
hideObject(over);
} else {
o3_removecounter++;
}
}

return true;
}

////////////////////////////////////////////////////////////////////////////////////
// OVERLIB 3.10 FUNCTION
////////////////////////////////////////////////////////////////////////////////////

// This function decides what it is we want to display and how we want it done.
function overlib310() {

// Make layer content
var layerhtml;

if (o3_background != "" || o3_fullhtml) {
// Use background instead of box.
layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml);
} else {
// They want a popup box.

// Prepare popup background
if (o3_fgbackground != "") {
o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\"";
}
if (o3_bgbackground != "") {
o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\"";
}

// Prepare popup colors
if (o3_fgcolor != "") {
o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\"";
}
if (o3_bgcolor != "") {
o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\"";
}

// Prepare popup height
if (o3_height > 0) {
o3_height = "HEIGHT=" + o3_height;
} else {
o3_height = "";
}

// Decide which kinda box.
if (o3_cap == "") {
// Plain
layerhtml = ol_content_simple(o3_text);
} else {
// With caption
if (o3_sticky) {
// Show close text
layerhtml = ol_content_caption(o3_text, o3_cap, o3_close);
} else {
// No close text
layerhtml = ol_content_caption(o3_text, o3_cap, "");
}
}
}

// We want it to stick!
if (o3_sticky) {
o3_showingsticky = 1;
o3_removecounter = 0;
}

// Write layer
layerWrite(layerhtml);

// Prepare status bar
if (o3_autostatus > 0) {
o3_status = o3_text;
if (o3_autostatus > 1) {
o3_status = o3_cap;
}
}

// When placing the layer the first time, even stickies may be moved.
o3_allowmove = 0;

// Show layer
disp(o3_status);

// Stickies should stay where they are.
if (o3_sticky) {
o3_allowmove = 0;
return false;
} else {
return true;
}
}

////////////////////////////////////////////////////////////////////////////////////
// LAYER GENERATION FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Makes simple table without caption
function ol_content_simple(text) {
txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+">
 <TR><TD VALIGN=TOP><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT>
 </TD></TR></TABLE></TD></TR></TABLE>"
set_background("");
return txt;
}

// Makes table with caption and optional close link
function ol_content_caption(text, title, close) {
closing = "";
if (close != "") {
closing = "<TD ALIGN=RIGHT><A HREF=\"/\" onMouseOver=\"cClick();\"><FONT COLOR=\""+o3_closecolor+"\" FACE=\""+o3_closefont+"\" SIZE=\""+o3_closesize+"\">"+close+"</FONT></A></TD>";
}
if (o3_capicon != "") {
o3_capicon = "<IMG SRC=\""+o3_capicon+"\"> ";
}
txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_bgbackground+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><B><FONT COLOR=\""+o3_capcolor+"\" FACE=\""+o3_captionfont+"\"
 SIZE=  \""+o3_captionsize+"\">"+o3_capicon+title+"</FONT></B>
 </TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD>
 </TR></TABLE></TD></TR></TABLE>";
set_background("");
return txt;
}

// Sets the background picture, padding and lost more. :)
function ol_content_background(text, picture, hasfullhtml) {
if (hasfullhtml) {
txt = text;
} else {
txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+"></TD></TR><TR><TD WIDTH="+o3_padxl+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+"></TD></TR></TABLE>";
}
set_background(picture);
return txt;
}

// Loads a picture into the div.
function set_background(pic) {
if (ns4) {
over.background.src = pic;
} else if(ie4) {
over.backgroundImage = "url("+pic+")";
}
}

////////////////////////////////////////////////////////////////////////////////////
// HANDLING FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Displays the popup
function disp(statustext) {
if ( (ns4) || (ie4) ) {
if (o3_allowmove == 0) 	{
placeLayer();
showObject(over);
o3_allowmove = 1;
}
}

if (statustext != "") {
self.status = statustext;
}
}

// Decides where we want the popup.
function placeLayer() {
var placeX, placeY;

// HORIZONTAL PLACEMENT
if (o3_fixx > -1) {
// Fixed position
placeX = o3_fixx;
} else {
// From mouse
if (o3_hpos == CENTER) { // Center
placeX = o3_x+o3_offsetx-(o3_width/2);
}
if (o3_hpos == RIGHT) { // Right
placeX = o3_x+o3_offsetx;
}
if (o3_hpos == LEFT) { // Left
placeX = o3_x-o3_offsetx-o3_width;
}

// Snapping!
if (o3_snapx > 1) {
var snapping = placeX % o3_snapx;
if (o3_hpos == LEFT) {
placeX = placeX - (o3_snapx + snapping);
} else {
// CENTER and RIGHT
placeX = placeX + (o3_snapx - snapping);
}
}
}

// VERTICAL PLACEMENT
if (o3_fixy > -1) {
// Fixed position
placeY = o3_fixy;
} else {
// From mouse
if (o3_aboveheight > 0 && o3_vpos == ABOVE) {
placeY = o3_y - (o3_aboveheight + o3_offsety);
} else {
// BELOW
placeY = o3_y + o3_offsety;
}

// Snapping!
if (o3_snapy > 1) {
var snapping = placeY % o3_snapy;

if (o3_aboveheight > 0 && o3_vpos == ABOVE) {
placeY = placeY - (o3_snapy + snapping);
} else {
placeY = placeY + (o3_snapy - snapping);
}
}
}

// Actually move the object.
moveTo(over, placeX, placeY);
}

// Moves the layer
function mouseMove(e) {
if (ns4) {o3_x=e.pageX; o3_y=e.pageY;}
if (ie4) {o3_x=event.x; o3_y=event.y;}
if (ie5) {o3_x=event.x+o3_frame.document.body.scrollLeft; o3_y=event.y+o3_frame.document.body.scrollTop;}

if (o3_allowmove) {
placeLayer();
}
}

// The Close onMouseOver function for stickies
function cClick() {
hideObject(over);
o3_showingsticky=0;
}

// Usage statistics
function trk() {
if ( (ns4) || (ie4) ) {
bt=new Image(1,1); bt.src="http://www.bosrup.com/web/overlib/o3/tr.gif";

}
o3_tracker = 0;
}

////////////////////////////////////////////////////////////////////////////////////
// LAYER FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Writes to a layer
function layerWrite(txt) {
if (ns4) {
var lyr = o3_frame.document.overDiv.document

lyr.write(txt)
lyr.close()
}
else if (ie4) o3_frame.document.all["overDiv"].innerHTML = txt
if (o3_tracker) { trk(); }
}

// Make an object visible
function showObject(obj) {
if (ns4) obj.visibility = "show"
else if (ie4) obj.visibility = "visible"
}

// Hides an object
function hideObject(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"

self.status = "";
}

// Move a layer
function moveTo(obj,xL,yL) {
obj.left = xL
obj.top = yL
}

////////////////////////////////////////////////////////////////////////////////////
// PARSER FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Sets text from array.
function opt_INARRAY(id) {
o3_text = ol_texts[id];
return 0;
}

// Sets caption from array.
function opt_CAPARRAY(id) {
o3_cap = ol_caps[id];
return 0;
}

// Sets stickiness.
function opt_STICKY(unused) {
o3_sticky = 1;
return 0;
}

// Sets background picture.
function opt_BACKGROUND(file) {
o3_background = file;
return 0;
}

// Sets use of close text.
function opt_NOCLOSE(unused) {
o3_close = "";
return 0;
}

// Sets caption.
function opt_CAPTION(text) {
o3_cap = text;
return 0;
}

// Sets hpos, for LEFT, RIGHT and CENTER.
function opt_HPOS(pos) {
o3_hpos = pos;
return 0;
}

// Sets the x offset
function opt_OFFSETX(offset) {
o3_offsetx = offset;
return 0;
}

// Sets the y offset
function opt_OFFSETY(offset) {
o3_offsety = offset;
return 0;
}

// Sets the fg color
function opt_FGCOLOR(clr) {
o3_fgcolor = clr;
return 0;
}

// Sets the bg color
function opt_BGCOLOR(clr) {
o3_bgcolor = clr;
return 0;
}

// Sets the text color
function opt_TEXTCOLOR(clr) {
o3_textcolor = clr;
return 0;
}

// Sets the caption color
function opt_CAPCOLOR(clr) {
o3_capcolor = clr;
return 0;
}

// Sets the close color
function opt_CLOSECOLOR(clr) {
o3_closecolor = clr;
return 0;
}

// Sets the popup width
function opt_WIDTH(pixels) {
o3_width = pixels;
return 0;
}

// Sets the popup border width
function opt_BORDER(pixels) {
o3_border = pixels;
return 0;
}

// Sets the status bar text
function opt_STATUS(text) {
o3_status = text;
return 0;
}

// Sets that status bar text to the text
function opt_AUTOSTATUS(val) {
o3_autostatus = 1;
return 0;
}

// Sets that status bar text to the caption
function opt_AUTOSTATUSCAP(val) {
o3_autostatus = 2;
return 0;
}

// Sets the popup height
function opt_HEIGHT(pixels) {
o3_height = pixels;
o3_aboveheight = pixels;
return 0;
}

// Sets the close text.
function opt_CLOSETEXT(text) {
o3_close = text;
return 0;
}

// Sets horizontal snapping
function opt_SNAPX(pixels) {
o3_snapx = pixels;
return 0;
}

// Sets vertical snapping
function opt_SNAPY(pixels) {
o3_snapy = pixels;
return 0;
}

// Sets horizontal position
function opt_FIXX(pos) {
o3_fixx = pos;
return 0;
}

// Sets vertical position
function opt_FIXY(pos) {
o3_fixy = pos;
return 0;
}

// Sets the fg background
function opt_FGBACKGROUND(picture) {
o3_fgbackground = picture;
return 0;
}

// Sets the bg background
function opt_BGBACKGROUND(picture) {
o3_bgbackground = picture;
return 0;
}

// Sets the left x padding for background
function opt_PADX(pixels) {
o3_padxl = pixels;
return PADX2;
}

// Sets the top y padding for background
function opt_PADY(pixels) {
o3_padyt = pixels;
return PADY2;
}

// Sets the right x padding for background
function opt_PADX2(pixels) {
o3_padxr = pixels;
return 0;
}

// Sets the bottom y padding for background
function opt_PADY2(pixels) {
o3_padyb = pixels;
return 0;
}

// Sets that user provides full html.
function opt_FULLHTML(unused) {
o3_fullhtml = 1;
return 0;
}

// Sets vpos, for ABOVE and BELOW
function opt_VPOS(pos) {
o3_vpos = pos;
return 0;
}

// Sets the caption icon.
function opt_CAPICON(icon) {
o3_capicon = icon;
return 0;
}

// Sets the text font
function opt_TEXTFONT(fontname) {
o3_textfont = fontname;
return 0;
}

// Sets the caption font
function opt_CAPTIONFONT(fontname) {
o3_captionfont = fontname;
return 0;
}

// Sets the close font
function opt_CLOSEFONT(fontname) {
o3_closefont = fontname;
return 0;
}

// Sets the text font size
function opt_TEXTSIZE(fontsize) {
o3_textsize = fontsize;
return 0;
}

// Sets the caption font size
function opt_CAPTIONSIZE(fontsize) {
o3_captionsize = fontsize;
return 0;
}

// Sets the close font size
function opt_CLOSESIZE(fontsize) {
o3_closesize = fontsize;
return 0;
}

// Defines which frame we should point to.
function opt_FRAME(frm) {
o3_frame = frm;

if ( (ns4) || (ie4) ) {
if (ns4) over = o3_frame.document.overDiv
if (ie4) over = o3_frame.overDiv.style
}

return 0;
}

////////////////////////////////////////////////////////////////////////////////////
// OVERLIB 2 COMPATABILITY FUNCTIONS
// If you aren't upgrading you can remove the below section.
////////////////////////////////////////////////////////////////////////////////////

// Converts old 0=left, 1=right and 2=center into constants.
function vpos_convert(d) {
if (d == 0) {
d = LEFT;
} else {
if (d == 1) {
d = RIGHT;
} else {
d = CENTER;
}
}

return d
}

// Simple popup
function dts(d,text) {
o3_hpos = vpos_convert(d);
overlib(text, o3_hpos, CAPTION, "");
}

// Caption popup
function dtc(d,text, title) {
o3_hpos = vpos_convert(d);
overlib(text, CAPTION, title, o3_hpos);
}

// Sticky
function stc(d,text, title) {
o3_hpos = vpos_convert(d);
overlib(text, CAPTION, title, o3_hpos, STICKY);
}

// Simple popup right
function drs(text) {
dts(1,text);
}

// Caption popup right
function drc(text, title) {
dtc(1,text,title);
}

// Sticky caption right
function src(text,title) {
stc(1,text,title);
}

// Simple popup left
function dls(text) {
dts(0,text);
}

// Caption popup left
function dlc(text, title) {
dtc(0,text,title);
}

// Sticky caption left
function slc(text,title) {
stc(0,text,title);
}

// Simple popup center
function dcs(text) {
dts(2,text);
}

// Caption popup center
function dcc(text, title) {
dtc(2,text,title);
}

// Sticky caption center
function scc(text,title) {
stc(2,text,title);
}
// End -->
</SCRIPT>
<div align="center">
<center>
<table border=1 cellpadding=3 width=371><tr><td width="357">
<font face="arial, helvetica" size="-1">
<font color="red" size="+1">Note!</font>
</font>
</font>
<p><font face="arial, helvetica" size="-1" color="#000000">Здесь
производится попытка демонстрирования
хотя бы части стилей, возможных при
использовании &quot;OverLib&quot;. Можно
применить эту библиотеку для создания
страниц с полностью разными стилями
комментариев, при этом имея только один
этот код, сохраненный на сервере в виде
одного файла .js. (Модифицируйте
onMouseOver раздел этого кода для
создания своего стиля) Удачи!
<P>
Взгляните на эти небольшие примеры.
Вот <A HREF="javascript:void(0);" onMouseOver="overlib('Неплохо, да? Хоть, якобы, и обычный...')" onMouseOut="nd()">обычный
комментарий</A>, или с красивым <A HREF="javascript:void(0);" onMouseOver="overlib('...а здесь текст!', CAPTION, 'Здесь заглавие...')" onMouseOut="nd()">заглавием</A>.
Вы можете даже заставить попапчик прилипнуть после <A HREF="javascript:void(0);" onClick="overlib('Он пока остается здесь!', STICKY, CAPTION, 'Комментарий прилип!')" onMouseOver="overlib('Ну, кликните! Кликните!!!!')" onMouseOut="nd()">клика</A>
по линку, плюс, Вы можете поместить <A HREF="javascript:void(0);" onMouseOver="overlib('например, список:<UL><LI>Пункт 1<LI>Пункт 2<LI>Пункт 3</UL>')" onMouseOut="nd()">html</A>
тэг прямо в комментарий!. Есть и много других &quot;примочек&quot;, например, Вы можете перенести комментарий на <A HREF="javascript:void(0);" onMouseOver="overlib('А теперь на другой стороне!', LEFT)" onMouseOut="nd()">другую
сторону от мыши</A>, или заставить <A HREF="javascript:void(0);" onMouseOver="overlib('20 пикселов за шаг.', SNAPX, 20, SNAPY, 20)" onMouseOut="nd()">двигаться
ступеньчато</A> вслед за курсором,
определить для всех popup-ов <A HREF="javascript:void(0);" onMouseOver="overlib('Этот комментарий в в особой позиции.', FIXX, 50, FIXY, 250)" onMouseOut="nd()">фиксированную
позицию появления</A>, или вставить внутрь
комментария фоновый рисунок... Для более
подробного изучения возможностей OverLib
лучше всего посетить <A HREF="http://www.bosrup.com/web/overlib/features.html" tppabs="http://www.bosrup.com/web/overlib/features.html" target="_new" onMouseOver="overlib('Кликните по линку, чтобы попасть на страницу автора!')" onMouseOut="nd()">страницу
автора</A>.</font>
</table>
</center>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC105

Включение радио-кнопок при наведении мыши на линк
Не самый необходимый скрипт, но довольно занимательный...

Линк 1
Линк 2
Линк 3
Линк 4
Линк 5
Линк 6

Вместо #top впишите адреса нужных страниц, вместо Линк 1, Линк 2 и т.д. - ваш текст.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="rolloverbox">
<p><input type="checkbox" name="boxes" value="ON"><a href="#top"
onMouseover="rollovercheck(0)" onMouseout="rolloutcheck(0)">Линк 1</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(1)"
onMouseout="rolloutcheck(1)">Линк 2</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(2)"
onMouseout="rolloutcheck(2)">Линк 3</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(3)"
onMouseout="rolloutcheck(3)">Линк 4</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(4)"
onMouseout="rolloutcheck(4)">Линк 5</a><br>
<input type="checkbox" name="boxes" value="ON"><a
href="#top" onMouseover="rollovercheck(5)"
onMouseout="rolloutcheck(5)">Линк 6</a></p>
</form>

<script>

/*Rollover check box link credit
By Website Abstraction (www.wsabstract.com)
Over 200+ free scripts here!
*/

var thebox=document.rolloverbox
function rollovercheck(whichbox){
thebox.boxes[whichbox].checked=true
}

function rolloutcheck(whichbox){
thebox.boxes[whichbox].checked=false
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC90

Линк-рисунок "always-on-top"
Это должен быть рисунок, который может быть как вашим логотипом, так и любым другим рисунком, на ваш вкус. Размеры, положение на экране, цвет фона, а также URL линка выделены в таблицах и имеют соответствующие комментарии.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site:  http//home.thezone.net/~rbennett/utility/javahead.htm -->
<!-- Begin
function setVariables() {
imgwidth=235;  // положение
      на странице (по горизонтали)
imgheight=19;  // положение
      на странице (по вертикали)
if (navigator.appName == "Netscape") {
horz=".left";
vert=".top";
docStyle="document.";
styleDoc="";
innerW="window.innerWidth";
innerH="window.innerHeight";
offsetX="window.pageXOffset";
offsetY="window.pageYOffset";
}
else {
horz=".pixelLeft";
vert=".pixelTop";
docStyle="";
styleDoc=".style";
innerW="document.body.clientWidth";
innerH="document.body.clientHeight";
offsetX="document.body.scrollLeft";
offsetY="document.body.scrollTop";
}
}
function checkLocation() {
objectXY="branding";
var availableX=eval(innerW);
var availableY=eval(innerH);
var currentX=eval(offsetX);
var currentY=eval(offsetY);
x=availableX-(imgwidth+30)+currentX;
y=availableY-(imgheight+20)+currentY;
evalMove();
setTimeout("checkLocation()",10);
}
function evalMove() {
eval(docStyle + objectXY + styleDoc + horz + "=" + x);
eval(docStyle + objectXY + styleDoc + vert + "=" + y);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="setVariables(); checkLocation();">

<div id="branding" style="position:absolute; visibility:show; left:235px; top:-50px; z-index:2">
<table width=10 bgcolor=#ffffff><td><!--Цвет фона-->
<a href="home.htm" onmouseover="window.status='Спасибо, что заглянули!';return true"<!--URL--> onmouseout="window.status='';return true"><center><img src="copyright.gif" width="135" height="19" <!---Размеры--> border="0"></center></a></font></td>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC110

Два эффекта с линками

1.) При наведении мыши линк меняет цвет, но не становится, как обычно, подчеркнутым и жирным.

ЛИНК ПЕРВЫЙ

2.) Линк при наведении становится подчеркнутым и "надчеркнутым" (?)

ЛИНК ВТОРОЙ

Для первого случая - 1-я таблица, для 2-го - вторая. Чтобы линк изменял цвет после клика (то есть, становился "посещенным") удалите выделенную белым строчку.

Оба варианта не могут работать на одной странице одновременно. То, что вы видите в примере - симуляция.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active {text-decoration:none; color: red;}
a:hover{text-decoration: underline + overline; color:lime;}
</style>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC75

Динамически-изменяемый URL для линка
(из выпадающего меню)

Хотите ... ,тогда, вперед!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="addresses">
Хотите ... <select name="list" onChange="update()">
<option value="mailto:admin@some-site.com">email eugenezz@yandex.ru
<option value="mailto:support@some-site.com">email support@чей-то_сайт.com
<option value="http://www.netscape.com">перейти на www.netscape.com
</select>
<a href="updatelink">,тогда, вперед!</a>
</form>
</center>

<script language="javascript">

<!-- this script and many more are available free online at -->
<!-- the javascript source!! http://javascript.internet.com -->

<!-- begin
pos = 9999;
for(num=0;num<document.links.length;num++) {
if (document.links[num].href.indexOf("updatelink") != -1) {
pos = num;
num = 5000;
}
}
function update() {
if (pos!=9999) {
sel = document.addresses.list.selectedIndex;
document.links[pos].href = document.addresses.list[sel].value;
}
}
update();
// end -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC34

Ежедневно изменяемые URLs для линка
(каждый день (от1 до31) автоматически изменяется URL для этого линка)

Кликните здесь для получения сегодняшних новостей!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*Day of the link script credit-
By Website Abstraction (www.wsabstract.com)
Over 200+ free scripts here!
*/

var daylinks=new Array()
/*
Поместите здесь нужные Вам URLs*/

daylinks[1]= "http://www.cnn.com"
daylinks[2]= "http://www.abcnews.com"
daylinks[3]= "http://www.cnet.com"
daylinks[4]= "http://www.geocities.com"
daylinks[5]= "http://www.lycos.com"
daylinks[6]= "http://www.infoseek.com"
daylinks[7]= "http://www.hotbot.com"
daylinks[8]= "http://www.tripod.com"
daylinks[9]= "http://www.wsabstract.com"
daylinks[10]= "http://www.wired.com"
daylinks[11]= "http://www.download.com"
daylinks[12]= "http://www.windows95.com"
daylinks[13]= "http://www.shareware.com"
daylinks[14]= "http://www.builder.com"
daylinks[15]= "http://www.htmlgoodies.com"
daylinks[16]= "http://www.webreference.com"
daylinks[17]= "http://www.webdeveloper.com"
daylinks[18]= "http://www.developer.com"
daylinks[19]= "http://www.news.com"
daylinks[20]= "http://www.techweb.com"
daylinks[21]= "http://www.zdnet.com"
daylinks[22]= "http://www.excite.com"
daylinks[23]= "http://www.nba.com"
daylinks[24]= "http://www.microsoft.com"
daylinks[25]= "http://www.netscape.com"
daylinks[26]= "http://www.amazon.com"
daylinks[27]= "http://www.xml.com"
daylinks[28]= "http://www.espn.com"
daylinks[29]= "http://www.nbc.com"
daylinks[30]= "http://www.cbs.com"
daylinks[31]= "http://www.hotwired.com"

var mydate=new Date()
var today=mydate.getDate()
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="home.htm" onClick="window.location= daylinks[today];return false"> Кликните здесь для получения сегодняшних новостей!</a>

Note. Для копирования используйте Ctrl+Click. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"


RC81

Задержка перехода на страницу

Перейти на страницу HOME

Перейти на страницу Линки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var page;

var cool = new Image();
cool.src = "cool.gif";

var link = new Image();
link.src = "link.gif";

function redirect() {
window.location = page;
}

function gotoPage(image, pic, time, url) {
page = url;
eval("document['" + image + "'].src=" + pic + ".src;");
timer = setTimeout('redirect()', time);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<img name="image1" src="blank.gif" width=74 height=30><a href="javascript:gotoPage('image1', 'cool', '5000', 'URL_сайта_HOME')">Перейти
на страницу HOME</a><p>
<img name="image2" src="blank.gif" width=74 height=30><a href="javascript:gotoPage('image2', 'link', '5000', 'URL_сайта_Link')">Перейти
на страницу Линки</a></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

Рисунки, использованные в примере: coollink.zip


Color 5

Затемняющийся линк
Наведите курсор на линк

ЗАТЕМНЯЮЩИЙСЯ ЛИНК

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--

document.onmouseover = domouseover;
document.onmouseout = domouseout;

function domouseover() {
if(document.all){
srcElement = window.event.srcElement;
if (srcElement.className.indexOf("fade") > -1) {
var linkName = srcElement.name;
fadein(linkName);
}
}
}

function domouseout() {
if (document.all){
srcElement = window.event.srcElement;
if (srcElement.className.indexOf("fade") > -1) {
var linkName = srcElement.name;
fadeout(linkName);
}
}
}

function makearray(n) {
this.length = n;
for(var i = 1; i <= n; i++)
this[i] = 0;
return this;
}

hexa = new makearray(16);
for(var i = 0; i < 10; i++)
hexa[i] = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";

function hex(i) {
if (i < 0)
return "00";
else if (i > 255)
return "ff";
else
return "" + hexa[Math.floor(i/16)] + hexa[i%16];}

function setbgColor(r, g, b, element) {
var hr = hex(r); var hg = hex(g); var hb = hex(b);
element.style.color = "#"+hr+hg+hb;
}

function fade(sr, sg, sb, er, eg, eb, step, direction, element){
for(var i = 0; i <= step; i++) {
setTimeout("setbgColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" +step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+ ")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step);
}
}

function fadeout(element) {

fade(255,150,0, 255,255,255, 30, 1, element);
}

function fadein(element) {

fade(255,255,255, 255,150,0, 23, 1, element);
}

//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<TABLE ALIGN=CENTER WIDTH="8%" BORDER="0" BGCOLOR="#00CC99">
<TR>
<TD><center><a href="#top" name="fading_link_1" class="fade">ЗАТЕМНЯЮЩИЙСЯ ЛИНК</a> </center> </TD>
</TR>
</TABLE>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link7

Комментарий к линку с затемнением
Особенность: скрипт состоит как-бы из трех частей: первая - в HEAD, вторая и третья в BODY. Последние две выделены в таблице разными цветами. Голубая часть располагается на странице там, где должны находится сами линки, желтая - где должны появляться комментарии. Обычно это левая и правая ячейки одной таблицы (если Вы скопируете пример без изменений, то именно это Вы и получите).

Гланая страница

Страница Линки

Другая страница

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
/****************************** *************************************
*
* File    : AnimatedFader.js
*
* Created : 2000/05/28
*
* Author  : Roy Whittle  (Roy@Whittle.com) www.Roy.Whittle.com
*
* Purpose : To create fading text descriptions
*
* History
* Date         Version        Description
*
* 2000-05-28	1.0		Initial version. Based on the State Transition
*					Diagram created for animated rollovers I
*					modified the code to fade text.
* 2000-05-29	1.1		I did not follow the STD correctly and introduced
*					a bug that left objects in the ON state.
*					This is now corrected.
* 2000-06-07	1.2		Introduced a start colour so that the script
*					can be used on different backgrounds.
*					Change the var AnimationRunning and FrameInterval
*					so they don't conflict with animate2.js
* 2000-08-09	1.3		Added Gecko ( Netscape 6 Preview Release 1 ) support
*					- Ken workman k.workman@3DASA.com
* 2000-10-15	1.4		Modified to make Netscpe 6 (PR3) more efficient
*					by just changing the color instead of replacing
*					the whole content of the DIV.
******************************** ***************************************/
/*** Create some global variables ***/
var FadingObject = new Array();
var FadeRunning=false;
var FadeInterval=30;

var hexDigit=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
function dec2hex(dec)
{
return(hexDigit[dec>>4]+hexDigit[dec&15]);
}
function hex2dec(hex)
{
return(parseInt(hex,16))
}

function createFaderObject(theDiv, numSteps, startColor)
{
if(!startColor)
startColor = "000000";

this.name		= theDiv;
this.text		= null;
this.color		= "FFFFFF";
this.next_text	= null;
this.next_color	= null;
this.state		= "OFF";
this.index		= 0;
this.steps		= numSteps;
this.r		= hex2dec(startColor.slice(0,2));
this.g		= hex2dec(startColor.slice(2,4));
this.b		= hex2dec(startColor.slice(4,6));
}

function FadingText(theDiv, numSteps, startColor)
{
FadingObject[theDiv] = new createFaderObject(theDiv, numSteps, startColor);
}

function start_fading()
{
if(!FadeRunning)
FadeAnimation();
}

function set_text(f)
{
if(navigator.appName.indexOf("Netscape") != -1
&& document.getElementById)
{
var theElement = document.getElementById(f.name);
var newRange   = document.createRange();
newRange.setStartBefore(theElement);
var strFrag    = newRange.createContextualFragment(f.text);

while (theElement.hasChildNodes())
theElement.removeChild(theElement.lastChild);
theElement.appendChild(strFrag);
theElement.style.color="#"+f.startColor;
}
}

function getColor(f)
{
var r=hex2dec(f.color.slice(0,2));
var g=hex2dec(f.color.slice(2,4));
var b=hex2dec(f.color.slice(4,6));

r2= Math.floor(f.r+(f.index*(r-f.r))/(f.steps) + .5);
g2= Math.floor(f.g+(f.index*(g-f.g))/(f.steps) + .5);
b2= Math.floor(f.b+(f.index*(b-f.b))/(f.steps) + .5);

return("#" + dec2hex(r2) + dec2hex(g2) + dec2hex(b2));
}

function setColor(fadeObj)
{
var theColor=getColor(fadeObj);
var str="<FONT COLOR="+ theColor + ">" + fadeObj.text + "</FONT>";
var theDiv=fadeObj.name;

if(document.all)
{
document.all[theDiv].innerHTML=str;
}
else if(document.layers)
{
document.nscontainer. document.layers[theDiv].document.write(str);
document.nscontainer. document.layers[theDiv].document.close();
}
else if (document.getElementById)
{
theElement = document.getElementById(theDiv);
theElement.style.color=theColor;
}

}

function fade_up(theDiv, newText, newColor)
{
var f=FadingObject[theDiv];

if(newColor == null)
newColor="FFFFFF";

if(f.state == "OFF")
{
f.text  = newText;
f.color = newColor;
f.state = "FADE_UP";
set_text(f);
start_fading();
}
else if( f.state == "FADE_UP_DOWN"
|| f.state == "FADE_DOWN"
|| f.state == "FADE_DOWN_UP")
{
if(newText == f.text)
f.state = "FADE_UP";
else
{
f.next_text  = newText;
f.next_color = newColor;
f.state      = "FADE_DOWN_UP";
}
}
}

function fade_down(theDiv)
{
var f=FadingObject[theDiv];

if(f.state=="ON")
{
f.state="FADE_DOWN";
start_fading();
}
else if(f.state=="FADE_DOWN_UP")
{
f.state="FADE_DOWN";
f.next_text = null;
}
else if(f.state == "FADE_UP")
{
f.state="FADE_UP_DOWN";
}
}

function FadeAnimation()
{
FadeRunning = false;
for (var d in FadingObject)
{
var f=FadingObject[d];

if(f.state == "FADE_UP")
{
if(f.index < f.steps)
f.index++;
else
f.index = f.steps;
setColor(f);

if(f.index == f.steps)
f.state="ON";
else
FadeRunning = true;
}
else if(f.state == "FADE_UP_DOWN")
{
if(f.index < f.steps)
f.index++;
else
f.index = f.steps;
setColor(f);

if(f.index == f.steps)
f.state="FADE_DOWN";
FadeRunning = true;
}
else if(f.state == "FADE_DOWN")
{
if(f.index > 0)
f.index--;
else
f.index = 0;
setColor(f);

if(f.index == 0)
f.state="OFF";
else
FadeRunning = true;
}
else if(f.state == "FADE_DOWN_UP")
{
if(f.index > 0)
f.index--;
else
f.index = 0;
setColor(f);

if(f.index == 0)
{
f.text      = f.next_text;
f.color     = f.next_color;
f.next_text = null;
f.state     ="FADE_UP";
set_text(f);
}
FadeRunning = true;
}
}
/*** Check to see if we need to animate any more frames. ***/
if(FadeRunning)
setTimeout("FadeAnimation()", FadeInterval);

}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">

//Script submitted to and featured on
//http://www.dynamicdrive.com

/*
* FadingText(divName, numSteps, BGColor)
* divName : Must match the DIV names defined at the end of the BODY)
* numSteps: The number of steps in the fading transition
* BGColor : The background colour of the DIV or document.
*/
FadingText('fade1', 10,"C0C0C0");
      // КОНЕЧНЫЙ ЦВЕТ ЗАТУХАНИЯ
      КОММЕНТАРИЯ (под ваш фон, только HEX !!!!!!! )

/*** The "Frame Interval" Smaller = faster ***/
FadeInterval=30;

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div align="center">
<center>
<table width="391"><tr><td width="128">
<p><A HREF="home.htm" onMouseOver="fade_up('fade1','<FONT SIZE=4 FACE=Verdana>Срочно навестите эту замечательную пустую страницу!</FONT>','000000')" onMouseOut="fade_down('fade1')">Гланая страница</A>

<p><A HREF="Link.htm" onMouseOver="fade_up('fade1','<FONT SIZE=4 FACE=Verdana>Если будет желание, то кликните по лику. Хотя, интересного там мало.</FONT>','000000')" onMouseOut="fade_down('fade1')">Страница Линки</A>

<p><A HREF="another.htm" onMouseOver="fade_up('fade1','<FONT SIZE=4 FACE=Verdana>Здесь еще одно чудо дизайнерского искуства!</FONT>','000000')" onMouseOut="fade_down('fade1')">Другая страница</A>
</td><td width="249">
<script language="JavaScript1.2">
if (document.layers){
document.write('<ilayer name="nscontainer" width="100%" height="100">')
document.write('<layer name="fade1" width="100%" height="100">')
document.write('</layer></ilayer>')
}
else
document.write('<DIV ID="fade1"></DIV>')

</script>
</td></tr></table>
</center>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu36

Комментарий к линкам-меню
(подсказка в виде таблички без применения рисунков)

layer hidden off the screen
Однорукий бандит

Захватчики

Спички

Закрой книги

Шашки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/utility/javahead.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setupDescriptions() {
var x = navigator.appVersion;
y = x.substring(0,4);
if (y>=4) setVariables();
}
var x,y,a,b;
function setVariables(){
if (navigator.appName == "Netscape") {
h=".left=";
v=".top=";
dS="document.";
sD="";
}
else
{
h=".pixelLeft=";
v=".pixelTop=";
dS="";
sD=".style";
}
}
var isNav = (navigator.appName.indexOf("Netscape") !=-1);
function popLayer(a){
desc = "<table cellpadding=3 border=1 bgcolor=F7F7F7><td>";

if (a==1) desc += "Игрушка, иммитирующая игровой автомат.";
if (a==2) desc += "Простенькая симпатичная игрушка \nна реакцию и концентрацию внимания";
if (a==3) desc += "Интеллектуальная игрушка, связанная с рассчетами.";
if (a==4) desc += "Сложная интеллектуальная игрушка.";
if (a==5) desc += "Шашки и есть шашки! Стандартное поле 8 на 8.";

desc += "</td></table>";

if(isNav) {
document.object1.document.write(desc);
document.object1.document.close();
document.object1.left=x+25;
document.object1.top=y;
}
else {
object1.innerHTML=desc;
eval(dS+"object1"+sD+h+(x+25));
eval(dS+"object1"+sD+v+y);
}
}
function hideLayer(a){
if(isNav) {
eval(document.object1.top=a);
}
else object1.innerHTML="";
}
function handlerMM(e){
x = (isNav) ? e.pageX : event.clientX;
y = (isNav) ? e.pageY : event.clientY;
}
if (isNav){
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setupDescriptions()">

<div id="object1" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2">layer hidden off the screen</div>

<a href="Game36.htm" onMouseOver="popLayer(1)" onMouseOut="hideLayer(-50)">Однорукий бандит</a>
<p>
<a href="Game41.htm" onMouseOver="popLayer(2)" onMouseOut="hideLayer(-50)">Захватчики</a>
<p>
<a href="Game40.htm" onMouseOver="popLayer(3)" onMouseOut="hideLayer(-50)">Спички</a>
<p>
<a href="Game39.htm" onMouseOver="popLayer(4)" onMouseOut="hideLayer(-50)">Закрой книги</a>
<p>
<a href="Game37.htm" onMouseOver="popLayer(5)" onMouseOut="hideLayer(-50)">Шашки</a>
<p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link6

Простой комментарий к линку.
Комментарий к рисунку делается очень просто : добавляется alt="ваш комментарий" в тэг рисунка-ссылки и все. А вот с линком такого не сделаешь. Предлагаемый скрипт поможет в этом. Кроме скрипта, в таблице, который следует расположить сразу после тэга <BODY>, добавьте в тэг любого линка на странице следующее: onMouseover="showtip(this,event,'Ваш комментарий')" onMouseout="hidetip()". А весь тэг будет выглядеть так : <a href="http://какой_то_адрес.com" onMouseover="showtip(this,event,'Советские микросхемы - самые большие микросхемы в Мире!')" onMouseout="hidetip()">Союз Советских Социалистических Республик</a>

Союз Советских Социалистических Республик

Белым выделен цвет фона выпадающего комментария для NS. Вообще-то, скрипт соориентирован больше для работы с Netscape. Как Вы видите и других настроек для него больше: и размер шрифта, и цвет фона, и цвет шрифта, и брэйк можно вставить в сообщение. В случае с Netscape есть полное основание использовать этот скрипт и для комментария к линку-рисунку вместо обычного alt (принцип вставки тот же).

Содержимое этой таблицы поместите сразу после <BODY>

<script>

/*
Text Link/Image Map Tooltip Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (!document.layers&&!document.all)
event="test"
function showtip(current,e,text){

if (document.all){
thetitle=text.split('<br>')
if (thetitle.length>1){
thetitles=''
for (i=0;i<thetitle.length;i++)
thetitles+=thetitle[i]
current.title=thetitles
}
else
current.title=text
}

else if (document.layers){
document.tooltip.document.write('<layer bgColor="lightyellow" style="border:1px solid black;font-size:12px;">'+text+'</layer>')
document.tooltip.document.close()
document.tooltip.left=e.pageX+5
document.tooltip.top=e.pageY+5
document.tooltip.visibility="show"
}
}
function hidetip(){
if (document.layers)
document.tooltip.visibility="hidden"
}

</script>
<div id="tooltip" style="position:absolute;visibility:hidden"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link8

Разноцветный фон для комментария к линку
После того, как Вы поместите на свою страницу предложенные в таблицах коды, вставьте в любые (или во все) тэги линков страницы следующее: ONMOUSEOVER="popup('Link description here','yellow')"; ONMOUSEOUT="kill()". В результате тэги у Вас станут выглядеть вот так: <a href="http://какой_то_сайт.com" ONMOUSEOVER="popup('Ваше описание.','lightgreen')"; ONMOUSEOUT="kill()">НАЗВАНИЕ ЛИНКА</a>, где lightgreen - это цвет фона комментария. Его Вы можете назначить для каждого линка отдельно. (См. скрипт "Список HTML цветов с названиями" в разделе "Цвет и Фон". В выделенных строках в таблице Вы можете также настроить любой шрифт и обрамление выпадающего комментария.

Линк 1 Линк 2 Линк 3 Линк 4 Линк 5 Линк 6 Линк 7

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE TYPE="text/css">
<!--
BODY {OVERFLOW:scroll;OVERFLOW-X:hidden}
.DEK {POSITION:absolute; VISIBILITY:hidden;Z-INDEX:200;}
//-->
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV ID="dek" CLASS="dek">
<p align="center"></DIV>

<SCRIPT TYPE="text/javascript">
<!--

/*
Pop up information box II (Mike McGrath (mike_mcgrath@lineone.net, http://website.lineone.net/~mike_mcgrath))
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

Xoffset=-60; // modify these values to ...
Yoffset= 20; // change the popup position.

var nav,old,iex=(document.all),yyy=-1000;
if(navigator.appName== "Netscape"){(document.layers)?nav=true:old=true;}

if(!old){
var skn=(nav)?document.dek:dek.style;
if(nav)document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=get_mouse;
}

function popup(msg,bak){
var content="<TABLE WIDTH=150 BORDER=1 BORDERCOLOR=black CELLPADDING=2 CELLSPACING=0 "+
"BGCOLOR="+bak+"><TD ALIGN=center><FONT FACE=HELVETICA COLOR=black SIZE=3>"+msg+"</FONT></TD></TABLE>";
if(old){alert(msg);return;}
else{yyy=Yoffset;
if(nav){ skn.document.write(content);skn.document.close(); skn.visibility="visible"}
if(iex){document.all("dek").innerHTML= content;skn.visibility="visible"}
}
}

function get_mouse(e){
var x=(nav)?e.pageX:event.x+document. body.scrollLeft;skn.left=x+Xoffset;
var y=(nav)?e.pageY:event.y+document. body.scrollTop;skn.top=y+yyy;
}

function kill(){
if(!old){yyy=-1000;skn.visibility="hidden";}
}

//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC94

Комментарий к линку в строке статуса на 1 секунду

Наведите мышь на линк.
Откройте страницу в окне браузера для просмотра эффекта (кнопка внизу страницы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

function moveover(txt) {
window.status = txt;
setTimeout("erase()",1000);
}
function erase() {
window.status="";
}
// -->
</script>
<center>
<a href="" onMouseOver="moveover('Сообщение появилось на короткое время.');return true;">Наведите мышь на линк.</a>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


RC63

Комметарий к линку после клика
По прочтении комментария, нажав кнопку "Перейти..", попадаете на выбранную страницу.

Главная страница
 Другая страница
 JavaScript Линки
Демо страница
 Вторая страница
 Ненужная страница

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

function linkDisplay(selection) {

if (selection=="1") {
document.form.info.value="Вы попадете на Главную страницу... на которой ничего нет";
document.form.go.value="home.htm";
}
else if(selection=="2") {
document.form.info.value="На Другой странице, как Вы понимаете, ничего нет - это просто демонстрация работы скрипта.";
document.form.go.value="another.htm";
}
else if(selection=="3") {
document.form.info.value="На странице Линки Вы смогли бы найти много интересных ссылок... но это всего лишь демонстрация.";
document.form.go.value="Link.htm";
}
else if(selection=="4") {
document.form.info.value="На Демонстрационной странице Вы не найдете абсолютно ничего, кроме кнопки и линка с надписями ЗАКРЫТЬ, что означает именно то, что написано... Не следуйте по этому линку - после нажатие кнопки ЗАКРЫТЬ будет закрыто окно справки!";
document.form.go.value="popdemo.htm";
}
else if(selection=="5") {
document.form.info.value="А здесь опять будет Главная страница - воображения не хватает, видете ли...!";
document.form.go.value="another.htm";
}
else if(selection=="6") {
document.form.info.value="И снова Неуловимые... Шутка! Здесь опять страница Линки.";
document.form.go.value="Link.htm";
}
}
function moreInfo() {
var page=document.form.go.value;
window.location=page;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>
<table border=0 width=400>
<tr>
<td align=left><a href="javascript:linkDisplay(1);">Главная страница</a><br></td>
<td align=left><a href="javascript:linkDisplay(2);">Другая страница</a><br></td>
<td align=left><a href="javascript:linkDisplay(3);">JavaScript Линки</a><br></td>
</tr>
<tr>
<td align=left><a href="javascript:linkDisplay(4);">Демо страница</a><br></td>
<td align=left><a href="javascript:linkDisplay(5);">Вторая страница</a><br></td>
<td align=left><a href="javascript:linkDisplay(6);">Ненужная страница</a><br></td>
</tr>
<tr>
<td colspan=3 align=center>
<textarea name=info rows=2 cols=40 wrap=virtual>Кликните по линку для большей информации!</textarea><br>
<input type=button name=noname value="Перейти на страницу" onClick="moreInfo()">
<input type=hidden name=go value="mailto:eugenezz@yandex.ru?subject=Зачем это нужно?!">
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 1

Линк "Назад на предыдущую страницу"

Пример демонстрирует использование линка
для возврата на предыдущую страницу.

Назад на предыдущую страницу

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function setStatus(msg){
status = msg
return true
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Пример демонстрирует использование линка<BR>
для возврата на предыдущую страницу.<BR><BR>
<A HREF="JavaScript:history.back()"
onMouseOver="return setStatus('Back')"
onMouseOut="return setStatus('')">Назад на предыдущую
страницу</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC33

Линк "обновить страницу"

(заново перезагружает страницу = refresh)

Обновить страницу!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href= "JavaScript:window.location.reload()"> Click to reload!</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC83

Линк: Спонсор + Сайт
Если Вы уверены, что посетитель обязательно перейдет на какую-то определенную страницу Вашего сайта, но вовсе не уверены, что он будет кликать по баннерам, то поместите на страницу этот скрипт - после клика по линку посетитель так или иначе загрузит себе и Вашу страницу и страницу Вашего спонсора! Причем, Ваша страница загрузится в основном окне браузера, а страница спонсора в отдельном.

Кликните здесь для просмотра примера.

(не копируйте код из источника!!! он не будет работать на Ваших страницах.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function adClick(ad, site) {
window.open(ad);
window.location = site;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:adClick('http://www.yahoo.com', 'home.htm');">
Кликните здесь для просмотра примера.</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link5

Один линк - переключатель цвета фона

Кликните по этому линку несколько раз

Содержимое этой таблицы поместите сразу после <BODY>

 <script>
function changesettings(){
if (document.all){
if (document.body.style.cssText==''||document.body. style.backgroundColor=='silver')
document.body.style.cssText="background-color:black;
 color:silver;background-image:url()"
else
document.body.style.cssText= "background-color:silver;color:black"
}
}
</script>

Содержимое этой таблицы расположите там, где следует появиться вашему линку

<a href="JavaScript:changesettings()">Кликните по этому линку несколько раз</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color4

Переливающиеся линки
(скрипт работает сразу со всеми линками на странице)

А не сходить ли нам на другую страницу..?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
function initArray() {
for (var i = 0; i < initArray.arguments.length; i++) {
this[i] = initArray.arguments[i];
}
this.length = initArray.arguments.length;
}

// Вы можете заменить цвета или добавить свои, этот
// скрипт будет поочередно перебирать каждый.
var colors = new initArray(
"#008000",
"green",
"#000000",
"#D3CF18",
"#C6C68C",
"green",
"blue",
"darkblue",
"purple",
"black",
"red",
"lime",
"yellow");

pause_time = .2; // задержка переключения цветов (в секундах)

link = 0; // начальный цвет (см. список цветов) для непосещенной ссылки
vlink = 4; // начальный цвет для посещенной ссылки

function linkDance() {
link = (link+1)%colors.length;
vlink = (vlink+1)%colors.length;
document.linkColor = colors[link];
document.vlinkColor = colors[vlink];
setTimeout("linkDance();",pause_time*1000);
}
linkDance();
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link9

Мигание для выбранных линков
Для работы скрипта Вам потребуется поместить в выбранные для привлечения особого внимания (мигания) тэги линков следующее: id="flashlink" flashtype=0 flashcolor="green", так что тэг будет выглядеть примерно так: <a href="http;//ваш_адрес.сом" id="flashlink" flashtype=0 flashcolor="green">ТЕКСТ ЛИНКА</a>. Где flashtype=0 означает, что цвет фона линка не меняется, а при значении 1 - меняется, но не меняется цвет шрифта линка. Что касается flashcolor="green" - это цвет самого шрифта линка, на который он будет менятся мигая если значение flashtype=0.

Пример 1 Пример 2

Вот так выглядят тэги линков в приведенных примерах:

<a href="#top" id="flashlink" flashtype=0 flashcolor="yellow">Пример 1</a>

<a href="#top" id="flashlink" flashtype=1 flashcolor="lime">Пример 2</a>

Содержимое этой таблицы поместите перед самым </BODY>

<script language="JavaScript1.2">

/*
Flashing Link Script-© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions, 100's more DHTML scripts, and Terms Of Use,
Visit http://dynamicdrive.com
*/

if (document.all&&document.all.flashlink){
var flashlinks=document.all.flashlink
if (flashlinks.length==null)
flashlinks[0]=document.all.flashlink

function changecolor(which,type,color){
if (type==0){
if (flashlinks[which].style.color!=color)
flashlinks[which].style.color=color
else
flashlinks[which].style.color=''
}
else if (type==1){
if (flashlinks[which].style.backgroundColor!=color)
flashlinks[which].style.backgroundColor=color
else
flashlinks[which].style.backgroundColor=''
}

}

if (flashlinks.length==null){
var flashengine='setInterval("changecolor(0,'+flashlinks[0].flashtype+',\''+flashlinks[0].flashcolor+'\')",'+'1000)'
eval(flashengine)
}
else
for (i=0;i<flashlinks.length;i++){
var flashengine='setInterval("changecolor('+i+','+flashlinks[i].flashtype+',\''+flashlinks[i].flashcolor+'\')",'+'1000)'
eval(flashengine)
}

}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link10

Радужное переливание принаведении мыши на линк

ЛИНК НАВЕРХ

ЕЩЕ ЛИНК НАВЕРХ

Скрипт обрабатывает все линки на странице без дополнительных вставок в тэги. Впрочем, и отказатся от его использования для отдельных линков представляет определенную проблему.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
var rate = 20; // Increase amount(The degree of the transmutation)

///////////////////////////// ///////////////////////////////////////
// Main routine

var obj; // The object which event occured in
var act = 0; // Flag during the action
var elmH = 0; // Hue
var elmS = 128; // Saturation
var elmV = 255; // Value
var clrOrg; // A color before the change
var TimerID; // Timer ID

if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {
Browser = true;
} else {
Browser = false;
}

if (Browser) {
document.onmouseover = doRainbowAnchor;
document.onmouseout = stopRainbowAnchor;
}

//================================== =============================
      ==============
// doRainbow
// This function begins to change a color.
//================================== ===========================
      ================
function doRainbow()
{
if (Browser && act != 1) {
act = 1;
obj = event.srcElement;
clrOrg = obj.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}

//================================= ===========================
      =================
// stopRainbow
// This function stops to change a color.
//================================= ===========================
      =================
function stopRainbow()
{
if (Browser && act != 0) {
obj.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}

//================================= =======================
      =====================
// doRainbowAnchor
// This function begins to change a color. (of a anchor, automatically)
//================================ ===========================
      ==================
function doRainbowAnchor()
{
if (Browser && act != 1) {
obj = event.srcElement;

while (obj.tagName != 'A' && obj.tagName != 'BODY') {
obj = obj.parentElement;
if (obj.tagName == 'A' || obj.tagName == 'BODY')
break;
}

if (obj.tagName == 'A' && obj.href != '') {
act = 1;
clrOrg = obj.style.color;
TimerID = setInterval("ChangeColor()",100);
}
}
}

//================================= ===========================
      =================
// stopRainbowAnchor
// This function stops to change a color. (of a anchor, automatically)
//================================ =====================================
      ========
function stopRainbowAnchor()
{
if (Browser && act != 0) {
if (obj.tagName == 'A') {
obj.style.color = clrOrg;
clearInterval(TimerID);
act = 0;
}
}
}

//================================ ============================
      =================
// Change Color
// This function changes a color actually.
//================================ =================================
      ============
function ChangeColor()
{
obj.style.color = makeColor();
}

//================================= ========================= =======
      ============
// makeColor
// This function makes rainbow colors.
//============================== ============================
      ===================
function makeColor()
{
// Don't you think Color Gamut to look like Rainbow?

// HSVtoRGB
if (elmS == 0) {
elmR = elmV; elmG = elmV; elmB = elmV;
}
else {
t1 = elmV;
t2 = (255 - elmS) * elmV / 255;
t3 = elmH % 60;
t3 = (t1 - t2) * t3 / 60;

if (elmH < 60) {
elmR = t1; elmB = t2; elmG = t2 + t3;
}
else if (elmH < 120) {
elmG = t1; elmB = t2; elmR = t1 - t3;
}
else if (elmH < 180) {
elmG = t1; elmR = t2; elmB = t2 + t3;
}
else if (elmH < 240) {
elmB = t1; elmR = t2; elmG = t1 - t3;
}
else if (elmH < 300) {
elmB = t1; elmG = t2; elmR = t2 + t3;
}
else if (elmH < 360) {
elmR = t1; elmG = t2; elmB = t1 - t3;
}
else {
elmR = 0; elmG = 0; elmB = 0;
}
}

elmR = Math.floor(elmR);
elmG = Math.floor(elmG);
elmB = Math.floor(elmB);

clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16);

elmH = elmH + rate;
if (elmH >= 360)
elmH = 0;

return clrRGB;
}

/*
Rainbow Links Script- TAKANASHI Mizuki (takanasi@hamal.freemail.ne.jp)
For full source code, 100's more DHTML scripts, and TOS,
Visit http://www.dynamicdrive.com
*/

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 9

Линк "Показать источник"

Клик по линку откроет окно показывающее источник этой страницы. Однако (в данном случае!!!) это будет чистейшей симуляцией - открывшееся окно НЕ является источником, это просто картинка. Тем ни менее, приведенный код отлично работает на любой HTML странице, просто, в файле справки это не возможно. Справка

Показать источник

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
function viewsource(){
window.location="view-source:"+window.location
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A href='JavaScript:window.location="view-source:"+window.location.href'>
Показать источник</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC89

Поминутный линк.
Линк изменяется ежеминутно. То есть, перезагрузите (обновите) страницу через минуту и Вы увидите уже другой линк. с другим текстом и, естественно, URL.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Joe Merical -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var links = 12; // общее количество линков
var date = new Date();
var rd = date.getMinutes();
var ra = rd % links;
var re = ++ra;
var url = "document.write(re)";
var text = "";
if (re == 1) {
url = "home.htm";
text = "Главная страница";
}
if (re == 2) {
url = "Link.htm";
text = "Страница Линки";
}
if (re == 3) {
url = "another.htm";
text = "Другая страница";
}
if (re == 4) {
url = "popdemo.htm";
text = "Демо страница";
}
if (re == 5) {
url = "Img25.htm";
text = "Перетаскиваемый рисунок";
}
if (re == 6) {
url = "Math15.htm";
text = "Фальшивый счетчик";
}
if (re == 7) {
url = "Img26.htm";
text = "Пропорциональный рисунок";
}
if (re == 8) {
url = "Form85.htm";
text = "Фокус OnLoad";
}
if (re == 9) {
url = "Img28.htm";
text = "Просмотр рисунков онлайн и оффлайн";
}
if (re == 10) {
url = "Email10.htm";
text = "Защита \"ящика\" от роботов";
}
if (re == 11) {
url = "RC85.htm";
text = "Ошибка 404 (File not found)";
}
if (re == 12) {
url = "Img23.htm";
text = "Скроллинг рисунков (минигалерея)";
}
var link="<A TARGET=\"_top\" HREF=\""+url+"\" onMouseOver=\"window.status='"+text+"'\">"+text+"</A>";
document.write(link);
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC80

Ротатор кнопки-линка плюс описание в форме

Желтый цвет - адрес файла, белый цвет - текст на кнопке, голубой цвет - текст в форме.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function makeArray(q){
for(i=1 ; i < q ; i++){this[i]=0}}
w=1;
howmanysites=4; // How many sites are listed below?

Sites = new makeArray(howmanysites);

<!-- STEP TWO: Use the pattern: url~Site Title|Description for links -->

Sites[1] = "home.htm~Домашняя страница|Великолепная пустая страница!";
Sites[2] = "another.htm~Другая страница|Куча свободного места!";
Sites[3] = "Link.htm~Линки!|Там нет ни одного! Не ходите!!";
Sites[4] = "popdemo.htm~Демо страница|Есть пару линков и кнопка. Хотите - идите!";

function showSites() {
if (w > howmanysites) { w=1; };
var string=Sites[w] + "";
var split1=string.indexOf("~");
var split2=string.indexOf("|");
var url=string.substring(0,split1);
var name=string.substring(split1 + 1,split2);
var word=string.substring(split2 + 1,string.length);
document.form.url.value=url;
document.form.name.value=name;
document.form.word.value=word;
w+=1;
window.setTimeout('showSites()',3000);

// You can change the speed! 3000 = 3 sec delay. 5000 = 5 sec delay, etc.

}
function visitSite() {
window.location=document.form.url.value;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>
<table><tr><td align=center>
<input type=button name=name value="Посетите" onClick="visitSite()" style="width:140">
<input type=hidden name=url value="">
<input type=text name=word value="" size=40>
</td></tr></table>
</form>
</center>

<script>
showSites();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC99

Ротатор линков в реальном времени

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
function correct(){
if (finished){
setTimeout("begin()",3000)
}
return true
}
window.onerror=correct
function begin(){
if (!document.all)
return
if (maxheight==null)
maxheight=temp.offsetHeight
whatsnew.style.height=maxheight
temp.style.display="none"
c=1
finished=true
change()
}
//-->
</script>
<style>
<!--
#whatsnew a{color:0000FF;text-decoration:none}
#whatsnew, #temp {font-weight:bold; font-family:Arial}
#whatsnew a:hover{color:red}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="begin()">

<span>
<script language="javascript1.2">
<!--
/*
News Updater Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var head=''
var top=0
var maxheight
var finished=false
var tickers=new Array()
tickers[0]='<a href="http://javashelp.cjb.net"><font style=\"color:red\">http:\/\/JavasHelp.cjb.net</font></a>'
tickers[1]='<a href="#top">РОТАТОР ЛИНКОВ</a>' // ЭТО ПЕРВЫЙ ЛИНК
tickers[2]='<a href="#top">В РЕАЛЬНОМ ВРЕМЕНИ</a>'
tickers[3]='<a href="#top">ЛЮБОЕ КОЛИЧЕСТВО ЛИНКОВ</a>'
tickers[4]='<a href="#top">КАЖДАЯ СТРОКА ИМЕЕТ СВОЙ URL</a>'
for (i=1;i<=tickers.length-1;i++){
if (tickers[i].length>=tickers[top].length)
top=i-1
}
if (document.all)
document.write('<span id="whatsnew" style="width:100%;height=10;filter:revealTrans(duration=2,transition=19)">'+tickers[0]+'</span>')
function change(){
whatsnew.innerHTML=''
whatsnew.filters.revealTrans.apply()
whatsnew.filters.revealTrans.play()
whatsnew.innerHTML=tickers[c]
if (c==tickers.length-1)
c=0
else
c+=1
setTimeout("change()",5000)
}
if (document.all)
document.write('<span id=ns style="display:none;">')
//-->
</script>
<span id=temp style="position:absolute;left:50;top:190" style=&{head};>
<script>
<!--
if (document.all){
temp.style.width=whatsnew.style.width
document.write(tickers[top])
}
//-->
</script>
</span>
</span>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC100

Ротатор линков в реальном времени 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<script language="javascript">
<!--
var delay=20;
var nextm=0;
var link=1;
zeilen=4;  //hier angeben wieviele Zeilen du benutzt.
var msg=new Array
(
'http:\/\/JavasHelp.cjb.net',
    //  ТЕКСТЫ СООБЩЕНИЙ
'РОТАТОР ЛИНКОВ',
'В РЕАЛЬНОМ ВРЕМЕНИ',
'КАЖДАЯ СТРОКА ИМЕЕТ СВОЙ URL'
);
function start_ticker()
{
do_ticker(msg[0], 0, 1);
}
function do_ticker(text, pos, dir)
{
var out='<font face="Arial, Helvetica">[&nbsp;<font color=#808080><font size=-1><A HREF="Javascript:klick()">'+text.substring(0, pos)+'</A></font></font>&nbsp;]</font>';
if(navigator.appName=="Netscape")
with(document.ticker.document)
{
open(); write(out); close();
}
else
ticker.innerHTML=out;
pos+=dir;
if(pos>text.length)
setTimeout('do_ticker("'+text+'",'+pos+','+(-dir)+')', delay*100);
else
{
if(pos<0)
{
if(++nextm>=msg.length)
nextm=0;
link=link+1
if (link>=zeilen+1)
link=1;
text=msg[nextm];
dir=-dir;
}
setTimeout('do_ticker("'+text+'",'+pos+','+dir+')', delay);
}
}
function klick()
{
if (link==1)
location.href="http://javashelp.cjb.net/index.html"          // Для ПЕРВОГО линка
if (link==2)
location.href="http://какой_то_сайт2/"          // Для ВТОРОГО линка
if (link==3)
location.href="http://какой_то_сайт3/"          // Для ТРЕТЬЕГО линка
if (link==4)
location.href="http://какой_то_сайт4/"          // Для ЧЕТВЕРТОГО линка
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="start_ticker()">

<!---- ПОЛОЖЕНИЕ НА СТРАНИЦЕ------>

<div id="ticker" style="position: absolute; top: 70; left: 150; font-weight:bold"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC88

Следящий за скроллингом линк "Наверх"
После клика перемещает страницу к началу

Наверх

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Richard Cleaver (richard@cleaver.org.uk) -->
<!-- Web Site: http://www.cleaver.org.uk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function floatButton () {
if (document.all) {
document.all.topButton.style.pixelTop = document.body.scrollTop;
}
else if (document.layers) {
document.topButton.top = window.pageYOffset;
}
else if (document.getElementById) {
document.getElementById('topButton').style.top = window.pageYOffset + 'px';
}
}
if (document.all)
window.onscroll = floatButton;
else
setInterval ('floatButton()', 100);
function initButton () {
if (document.all) {
document.all.topButton.style.pixelLeft = document.body.clientWidth - document.all.topButton.offsetWidth;
document.all.topButton.style.visibility = 'visible';
}
else if (document.layers) {
document.topButton.left = window.innerWidth - document.topButton.clip.width - 15;
document.topButton.visibility = 'show';
}
else if (document.getElementById) {
document.getElementById('topButton').style.left = (window.innerWidth - 35) + 'px';
document.getElementById('topButton').style.visibility = 'visible';
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="initButton()">

<SPAN ID="topButton" STYLE="position: absolute; visibility: hidden; top: 0px;">
<A HREF="javascript: window.scrollTo(0, 0); void 0" ONMOUSEOVER="window.status = 'top'; return true;" ONMOUSEOUT="window.status = ''; return
 true;">Наверх &nbsp;</A>
</SPAN>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC35

Переход на страницу после наведения мыши на линк

Поместите код, показанный в таблице, после <A href , тогда при наведении мыши на линк будет производиться переход на страницу, указанную после <a href:: <A href="URL страницы"

Содержимое этой таблицы поместите после <A href="Вашастраница.htm"

onMouseover="window.location=this.href"

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC98

Линк с летающим комметарием и рисунком

Привет Лунатикам!!!
* Скользить на Луну! *

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE=JavaScript><!--
dd=document

function slide(layerName,x0,y0,x1,y1){
LN=layerName
speed=10 // скорость
count=0
x=x0; // x0,y0 - "нулевые" точки; x1,y1 - конечные точки
y=y0;
step=20 // частота шага
stepX=(x1-x0)/step;
stepY=(y1-y0)/step;
moveto()
}

function moveto(){
if(count<step){ //walk appropriate number of steps
count++ //step counting
x+=stepX;y+=stepY //changing coordinates to step values
// для Netscape 4. или для IE 4..5 / Netscape 6
if(dd.layers){
obg=dd.layers[LN]
}
else {
obg=dd.getElementById(LN);
obg=obg.style
}
obg.left=x;
obg.top=y
setTimeout('moveto()',speed)
}
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <DIV ID="test" STYLE="position:absolute;left:0;top:150">
<img src="oscar.gif"><br> &nbsp;&nbsp;Привет Лунатикам!!!
</DIV>

<A
onmouseover=slide('test',5,150,350,0)
onmouseout =slide('test',350,0,5,150)
HREF=#top>* Скользить! *</A>  <!--ваш
 URL для линка-->

Для
выделения используйте Ctrl+Click, для
копирования Ctrl+C или меню после клика правой
кнопкой мыши. Скопированные скрипты сначала
поместите в любой текстовый редактор,
например, в Блокнот, и только затем,
скопировав вновь, вставляйте в код страницы.


RC79

Текстовое описание к линкам

  • Первый линк
  • Второй линк
  • Третий линк
Здесь находится начальный текст, который посетители увидят еще до того, как наведут курсор мыши на линки. После этого здесь будет воспроизводиться только текст-описание к линкам, на которые наведена мышь.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Danny Mc Neill (danny@mc-neill.co.uk) -->
<!-- Web Site: http://www.mc-neill.co.uk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var description = new Array();
description[0] = "Текст, который воспроизводится сейчас должен описывать первый линк.";
description[1] = "Можно даже поместить <font color=red><b>HTML</b></font> тэги в описание!";
description[2] = "<i>Текс, который увидят посетители, когда наведут мышь на третий линк.</i>";
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table border="0">
<tr>
<td valign=top width="160">
<ul>
<li><a onMouseOver="Words.innerHTML = description[0];" href="link1.htm">Первый
линк</a>
<li><a onMouseOver="Words.innerHTML = description[1];" href="link2.htm">Второй
линк</a>
<li><a onMouseOver="Words.innerHTML = description[2];" href="link3.htm">Третий
линк</a>
</ul>
</td>
<td width="600">
<!-- Cell with the descriptions --><a id="Words">Здесь находится
начальный текст, который посетители увидят
еще до того, как наведут курсор мыши на
линки. После этого здесь будет
воспроизводиться только текст-описание к
линкам, на которые наведена мышь. </a>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC62

Фон для линка при наведении мыши
Индивидуальный фон для каждого линка при наведении мыши. Изменяется также и цвет самого линка. В таблице выделены цвета, использованные в примере. Подберите лучшие для Вас.

Главная страница

Другая страница

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Alan Branch (webman58@aol.com) -->
<!-- Web Site: http://www.technom.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function doColor(item, color, bg) {
item.style.color = color; // changes text color
item.style.backgroundColor = bg; // changes background
}

function undoColor(item) {
item.style.color = "navy"; // цвет линка после отмены наведения мыши (onMouseOut)
item.style.backgroundColor = "";
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a name="link1" href="home.htm" onmouseover="doColor(link1, 'yellow','black');" onmouseout="undoColor(link1);">Главная страница</a>
<p>
<a name="link2" href="another.htm" onmouseover="doColor(link2, 'red','yellow');" onmouseout="undoColor(link2);">Другая страница</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator47

DHTML Калькулятор
Согласитесь, очень стильный калькулятор... С контролем ошибок!

0
7 | 8 | 9 | /
4 | 5 | 6 | *
1 | 2 | 3 | -
0 | +/- | . | +
C
=

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="2" width="200" cellspacing="0" cellpadding="0" bgcolor="#000000"
style="border-color:black" onClick="previouskey=event.srcElement.innerText">
<tr>
<td width="100%" bgcolor="#FFFFFF" id="result"
style="font:bold 20px Verdana;color:black;text-align='right'">0</td>
</tr>
<tr>
<td width="100%" valign="middle" align="center"><table border="0" width="100%"
cellspacing="0" cellpadding="0" style="font:bold 20px Verdana;color:white">
<tr>
<td width="80%" align="center"><table border="1" width="100%" cellspacing="0"
cellpadding="0" style="cursor:hand;font:bold 20px Verdana;color:white"
onMouseover="if (event.srcElement.tagName=='TD')event.srcElement.style.color='yellow'"
onMouseout="event.srcElement.style.color='white'" onselectStart="return false"
onClick="calculate()" height="82">
<tr>
<td width="25%" align="center" height="17">7</td>
<td width="25%" align="center" height="17">8</td>
<td width="25%" align="center" height="17">9</td>
<td width="25%" align="center" height="17">/</td>
</tr>
<tr>
<td width="25%" align="center" height="19">4</td>
<td width="25%" align="center" height="19">5</td>
<td width="25%" align="center" height="19">6</td>
<td width="25%" align="center" height="19">*</td>
</tr>
<tr>
<td width="25%" align="center" height="19">1</td>
<td width="25%" align="center" height="19">2</td>
<td width="25%" align="center" height="19">3</td>
<td width="25%" align="center" height="19">-</td>
</tr>
<tr>
<td width="25%" align="center" height="19">0</td>
<td width="25%" align="center" height="19"
onClick="pn();previouskey=1;event.cancelBubble=true">+/-</td>
<td width="25%" align="center" height="19">.</td>
<td width="25%" align="center" height="19">+</td>
</tr>
</table>
</td>
<td width="20%"><div align="left"><table border="1" width="100%" cellspacing="0"
cellpadding="0">
<tr>
<td width="100%" style="cursor:hand;font:bold 20px Verdana;color:white;text-align:center"
onClick="result.innerText=0;results=''">C</td>
</tr>
</table>
</div><div align="left"><table border="1" width="100%" cellspacing="0" cellpadding="0"
height="81">
<tr>
<td width="100%" style="cursor:hand;font:bold 32px Verdana;color:white;text-align:center"
onMouseover="event.srcElement.style.color='yellow'"
onMouseout="event.srcElement.style.color='white'" onClick="calculateresult()">=</td>
</tr>
</table>
</div></td>
</tr>
</table>
</td>
</tr>
</table>

<script language="JavaScript1.2">

/*
DHTML Calculator Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var results=''
var previouskey=''
var re=/(\/|\*|\+|-)/
var re2=/(\/|\*|\+|-){2}$/
var re3=/.+(\/|\*|\+|-).+/
var re4=/\d|\./
var re5=/^[^\/\*\+].+\d$/
var re6=/\./

function calculate(){
if (event.srcElement.tagName=="TD"){
if (event.srcElement.innerText.match(re4)&&previouskey=="=")
results=''
if (result.innerText.match(re3)&&event.srcElement.innerText.match(re)){
if (!results.match(re5)){
result.innerText="Ошибка!"
return
}
results=eval(results)
if (results.toString().length>=12&&results.toString().match(re6))
results=results.toString().substring(0,12)
result.innerText=results
}

results+=event.srcElement.innerText
if (results.match(re2))
results=results.substring(0,results.length-2)+results.charAt(results.length-1)

result.innerText=results
}
}

function calculateresult(){
if (!results.match(re5)){
result.innerText="Ошибка!"
return
}
results=eval(results)
if (results.toString().length>=12&&results.toString().match(re6))
results=results.toString().substring(0,12)
result.innerText=results
}

function pn(){
if (result.innerText.charAt(0)!='-')
result.innerText=results='-'+result.innerText
else if (result.innerText.charAt(0)=='-')
result.innerText=results=result.innerText*(-1)
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat7

Калькулятор

(работает как обычный карманный калькулятор, но гораздо нагляднее и к тому же позволяет решать формулы, записывая их словно в тетрадке!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
function addChar(input, character) {
if(input.value == null || input.value == "0")
input.value = character
else
input.value += character
}

function cos(form) {
form.display.value = Math.cos(form.display.value);
}

function sin(form) {
form.display.value = Math.sin(form.display.value);
}

function tan(form) {
form.display.value = Math.tan(form.display.value);
}

function sqrt(form) {
form.display.value = Math.sqrt(form.display.value);
}

function ln(form) {
form.display.value = Math.log(form.display.value);
}

function exp(form) {
form.display.value = Math.exp(form.display.value);
}

function deleteChar(input) {
input.value = input.value.substring(0, input.value.length - 1)
}

function changeSign(input) {
if(input.value.substring(0, 1) == "-")
input.value = input.value.substring(1, input.value.length)
else
input.value = "-" + input.value
}

function compute(form) {
form.display.value = eval(form.display.value)
}

function square(form) {
form.display.value = eval(form.display.value) * eval(form.display.value)
}

function checkNum(str) {
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1)
if (ch < "0" || ch > "9") {
if (ch != "/" && ch != "*" && ch != "+" && ch != "-" && ch != "."
&& ch != "(" && ch!= ")") {
alert("invalid entry!")
return false
}
}
}
return true
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="sci-calc">
<TABLE CELLSPACING="0" CELLPADDING="1" border="1">
<TR>
<TD COLSPAN="5" ALIGN="center"><INPUT NAME="display" VALUE="0" SIZE="28" MAXLENGTH="25"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" exp " ONCLICK="if (checkNum(this.form.display.value)) { exp(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 7 " ONCLICK="addChar(this.form.display, '7')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 8 " ONCLICK="addChar(this.form.display, '8')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 9 " ONCLICK="addChar(this.form.display, '9')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" / " ONCLICK="addChar(this.form.display, '/')"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ln " ONCLICK="if (checkNum(this.form.display.value)) { ln(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 4 " ONCLICK="addChar(this.form.display, '4')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 5 " ONCLICK="addChar(this.form.display, '5')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 6 " ONCLICK="addChar(this.form.display, '6')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" * " ONCLICK="addChar(this.form.display, '*')"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sqrt " ONCLICK="if (checkNum(this.form.display.value)) { sqrt(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 1 " ONCLICK="addChar(this.form.display, '1')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 2 " ONCLICK="addChar(this.form.display, '2')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 3 " ONCLICK="addChar(this.form.display, '3')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" - " ONCLICK="addChar(this.form.display, '-')"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sq " ONCLICK="if (checkNum(this.form.display.value)) { square(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" 0 " ONCLICK="addChar(this.form.display, '0')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" . " ONCLICK="addChar(this.form.display, '.')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" +/- " ONCLICK="changeSign(this.form.display)"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" + " ONCLICK="addChar(this.form.display, '+')"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ( " ONCLICK="addChar(this.form.display, '(')"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE="cos" ONCLICK="if (checkNum(this.form.display.value)) { cos(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" sin" ONCLICK="if (checkNum(this.form.display.value)) { sin(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" tan" ONCLICK="if (checkNum(this.form.display.value)) { tan(this.form) }"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE=" ) " ONCLICK="addChar(this.form.display, ')')"></TD>
</TR>
<TR>
<TD ALIGN="center"><INPUT TYPE="button" VALUE="clear" ONCLICK="this.form.display.value = 0 "></TD>
<TD ALIGN="center" COLSPAN="3"><INPUT TYPE="button" VALUE="backspace" ONCLICK="deleteChar(this.form.display)"></TD>
<TD ALIGN="center"><INPUT TYPE="button" VALUE="enter" NAME="enter" ONCLICK="if (checkNum(this.form.display.value)) { compute(this.form) }"></TD>
</TR>
</TABLE>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator33

Инженерный калькулятор 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function addChar(input, character) {
if(input.value == null || input.value == "0")
input.value = character
else
input.value += character
}
function cos(form) {
form.display.value = Math.cos(form.display.value);}
function sin(form) {
form.display.value = Math.sin(form.display.value);}
function tan(form) {
form.display.value = Math.tan(form.display.value);}
function sqrt(form) {
form.display.value = Math.sqrt(form.display.value);}
function ln(form) {
form.display.value = Math.log(form.display.value);}
function exp(form) {
form.display.value = Math.exp(form.display.value);}
function sqrt(form) {
form.display.value = Math.sqrt(form.display.value);}
function deleteChar(input) {
input.value = input.value.substring(0, input.value.length - 1)
}
function changeSign(input) {
if(input.value.substring(0, 1) == "-")
input.value = input.value.substring(1, input.value.length)
else
input.value = "-" + input.value
}
function compute(form) {
form.display.value = eval(form.display.value)}
function square(form) {
form.display.value = eval(form.display.value) *
eval(form.display.value)}
function checkNum(str) {
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1)
if (ch < "0" || ch > "9") {
if (ch != "/" && ch != "*" && ch != "+" && ch !=
"-" && ch != "."
&& ch != "(" && ch!= ")") {
alert("invalid entry!")
return false
}
}
}
return true
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<table align=center>
<FORM>
<input name="display" value="0" size=25>
<br>
<input style="width:45" type="button" value="exp" onClick="if (checkNum(this.form.display.value)) {
exp(this.form) }">&nbsp;&nbsp;<input style="width:45" type="button" value="7" onClick="addChar(this.form.display, '7')">&nbsp;&nbsp;<input style="width:45" type="button" value="8" onClick="addChar(this.form.display, '8')">&nbsp;&nbsp;<input style="width:45" type="button" value="9" onClick="addChar(this.form.display, '9')">&nbsp;&nbsp;<input style="width:45" type="button" value="/" onClick="addChar(this.form.display, '/')">
<br>
<input style="width:45" type="button" value="ln" onClick="if (checkNum(this.form.display.value)) {
ln(this.form) }">&nbsp;&nbsp;<input style="width:45" type="button" value="4" onClick="addChar(this.form.display, '4')">&nbsp;&nbsp;<input style="width:45" type="button" value="5" onClick="addChar(this.form.display, '5')">&nbsp;&nbsp;<input style="width:45" type="button" value="6" onClick="addChar(this.form.display, '6')">&nbsp;&nbsp;<input style="width:45" type="button" value="*" onClick="addChar(this.form.display, '*')">
<br>
<input style="width:45" type="button" value="sqrt" onClick="if (checkNum(this.form.display.value)) {
sqrt(this.form) }">&nbsp;
<input style="width:45" type="button" value="1" onClick="addChar(this.form.display, '1')">&nbsp;&nbsp;<input style="width:45" type="button" value="2" onClick="addChar(this.form.display, '2')">&nbsp;&nbsp;<input style="width:45" type="button" value="3" onClick="addChar(this.form.display, '3')">&nbsp;&nbsp;<input style="width:45" type="button" value="-" onClick="addChar(this.form.display, '-')">
<br>
<input style="width:45" type="button" value="sq" onClick="if (checkNum(this.form.display.value)) {
square(this.form) }">&nbsp;&nbsp;<input style="width:45" type="button" value="0" onClick="addChar(this.form.display, '0')">&nbsp;&nbsp;<input style="width:45" type="button" value="." onClick="addChar(this.form.display, '.')">&nbsp;&nbsp;<input style="width:45" type="button" value="+/-" onClick="changeSign(this.form.display)">&nbsp;
<input style="width:45" type="button" value="+" onClick="addChar(this.form.display, '+')">
<br>
<input style="width:45" type="button" value="(" onClick="addChar(this.form.display, '(')">&nbsp;&nbsp;<input style="width:45" type="button" value="cos" onClick="if (checkNum(this.form.display.value)) {
cos(this.form) }">&nbsp; <input style="width:45" type="button" value="sin" onClick="if (checkNum(this.form.display.value)) {
sin(this.form) }">&nbsp; <input style="width:45" type="button" value="tan" onClick="if (checkNum(this.form.display.value)) {
tan(this.form) }">&nbsp; <input style="width:45" type="button" value=")" onClick="addChar(this.form.display, ')')">
<br>
<input style="width:70" type="button" value="Clear" onClick="this.form.display.value = 0 ">
<input style="width:109" type="button" value="Back Space" onClick="deleteChar(this.form.display)">
<input style="width:70" type="button" value="Enter" name="enter"
onClick="if (checkNum(this.form.display.value)) {
compute(this.form) }">
</FORM>
</table>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator49

Научный калькулятор (с рисунком)
(к тому же он работает с Cookie, но это не обязательно ; рисунок здесь)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language=javascript>
//<!--
// Javascript scientific calculator (4 March 1996)
// (C) Copyright Rolf Howarth 1996
// rolf@insect.demon.co.uk

var NDIGITS = 16;
var STACKSIZE = 12;

var value = 0; // current value in display
var memory = GetCookie("CalcMemory"); // current value in memory
if (!memory) memory = 0;
var level = 0; // no. of items on stack
var entered = true; // has value on display been 'entered'?
var decimal = 0; // multiplier when entering after decimal point
var fixed = 0; // force trailing zero display when entering decimals
var exponent = false; // currently entering exponent?
var inverse = false; // has the INV key been pressed?

if (location.search)
{
// pass in value through command line
value = location.search.substring(1,location.search.length);
}

function stackItem()
{
this.value = 0;
this.op = "";
}

function array(length)
{
this[0] = 0;
for (i=0; i<length; ++i)
{
this[i] = 0;
this[i] = new stackItem();
}
this.length = length;
}

stack = new array(STACKSIZE);

function push(value,op,prec)
{
if (level==STACKSIZE)
return false;
for (i=level;i>0; --i)
{
stack[i].value = stack[i-1].value;
stack[i].op = stack[i-1].op;
stack[i].prec = stack[i-1].prec;
}
stack[0].value = value;
stack[0].op = op;
stack[0].prec = prec;
++level;
return true;
}

function pop()
{
if (level==0)
return false;
for (i=0;i<level; ++i)
{
stack[i].value = stack[i+1].value;
stack[i].op = stack[i+1].op;
stack[i].prec = stack[i+1].prec;
}
--level;
return true;
}

function format(value)
{
var valStr = "" + value;
if (valStr.indexOf("N")>=0 || (value == 2*value && value == 1+value))
return "Error ";
var i = valStr.indexOf("e")
if (i>=0)
{
var expStr = valStr.substring(i+1,valStr.length);
if (i>11) i=11; // max 11 digits
valStr = valStr.substring(0,i);
if (valStr.indexOf(".")<0) valStr += ".";
valStr += " " + expStr;
}
else
{
var valNeg = false;
if (value < 0)
{ value = -value; valNeg = true; }
var valInt = Math.floor(value);
var valFrac = value - valInt;
var prec = NDIGITS - (""+valInt).length - 1; // how many digits available after period
if (! entered && fixed>0)
prec = fixed;
var mult = " 1000000000000000000".substring(1,prec+2);
var frac = Math.floor(valFrac * mult + 0.5);
valInt = Math.floor(Math.floor(value * mult + .5) / mult);
if (valNeg)
valStr = "-" + valInt;
else
valStr = "" + valInt;
var fracStr = "00000000000000"+frac;
fracStr = fracStr.substring(fracStr.length-prec, fracStr.length);
i = fracStr.length-1;
if (entered || fixed==0)
{
// remove trailing zeros unless fixed during entry.
while (i>=0 && fracStr.charAt(i)=="0")
--i;
fracStr = fracStr.substring(0,i+1);
}
if (i>=0) valStr += "." + fracStr;
// document.result.debugField.value = "prec "+prec+", mult "+mult+", frac "+frac;
}
return valStr;
}

function refresh()
{
var display = format(value);
if (exponent)
{
if (expval<0)
display += " " + expval;
else
display += " +" + expval;
}
if (display.indexOf(".")<0 && display != "Error ")
{
if (entered || decimal>0)
display += '.';
else
display += ' ';
}
display = " " + display;
display = display.substring(display.length-NDIGITS-1,display.length);
document.result.result.value = display;
inverse = false;
}

function clearAll()
{
level = 0;
clear();
}

function clear()
{
exponent = false;
value = 0;
enter();
refresh();
}

function evalx()
{
if (level==0)
return false;
op = stack[0].op;
sval = stack[0].value;
// alert("eval "+sval+op+value);
if (op == "+")
value = sval + value;
else if (op == '-')
value = sval - value;
else if (op == '*')
value = sval * value;
else if (op == '/')
value = sval / value;
else if (op == 'pow')
value = Math.pow(sval,value);
pop();
if (op=='(')
return false;
return true;
}

function openp()
{
enter();
if (!push(0,'(',0))
{
value = "NAN";
}
refresh();
}

function closep()
{
enter();
while (evalx())
;
refresh();
}

function operator(op)
{
enter();
if (op=='+' || op=='-')
prec = 1;
else if (op=='*' || op=='/')
prec = 2;
else if (op=="pow")
prec = 3;
if (level>0 && prec <= stack[0].prec)
evalx();
if (!push(value,op,prec))
{
value = "NAN";
}
refresh();
}

function enter()
{
if (exponent)
value = value * Math.exp(expval * Math.LN10);
entered = true;
exponent = false;
decimal = 0;
fixed = 0;
}

function equals()
{
enter()
while (level>0)
evalx();
refresh();
}

function digit(n)
{
if (entered)
{
value = 0;
digits = 0;
entered = false;
}
if (n==0 && digits==0)
{
refresh();
return;
}
if (exponent)
{
if (expval<0)
n = -n;
if (digits < 3)
{
expval = expval * 10 + n;
++digits;
refresh();
}
return;
}
if (value<0)
n = -n;
if (digits < NDIGITS-1)
{
++digits;
if (decimal>0)
{
decimal = decimal * 10;
value = value + (n/decimal);
++fixed;
}
else
value = value * 10 + n;
}
refresh();
}

function sign()
{
if (exponent)
expval = -expval;
else
value = -value;
refresh();
}

function period()
{
if (entered)
{
value = 0;
digits = 1;
}
entered = false;
if (decimal == 0)
{
decimal = 1;
}
refresh();
}

function exp()
{
if (entered || exponent)
return;
exponent = true;
expval = 0;
digits = 0;
decimal = 0;
refresh();
}

function inv()
{
inverse = !inverse;
}

function func(f)
{
enter();
if (f=="1/x")
value = 1/value;
else if (f=="swap")
{
var tmp = value;
value = stack[0].value;
stack[0].value = tmp;
}
else if (f=='n!')
{
if (value<0 || value>200 || value != Math.round(value))
value = "NAN";
else
{
var n = 1;
var i;
for (i=1;i<=value;++i)
n *= i;
value = n;
}
}
else if (f=="MR")
value = memory;
else if (f=="M+")
{
memory += value;
SetCookie("CalcMemory", memory);
}
else if (f=="Min")
{
memory = value;
SetCookie("CalcMemory", memory);
}
else if (inverse)
{
if (f=="sin")
value = Math.asin(value)*180/Math.PI;
else if (f=="cos")
value = Math.acos(value)*180/Math.PI;
else if (f=="tan")
value = Math.atan(value)*180/Math.PI;
else if (f=="log")
value = Math.exp(value * Math.LN10);
else if (f=="log2")
value = Math.exp(value * Math.LN2);
else if (f=="ln")
value = Math.exp(value);
else if (f=="sqrt")
value = value*value;
else if (f=="pi")
value = Math.E;
}
else
{
if (f=="sin")
value = Math.sin(value/180 * Math.PI);
else if (f=="cos")
value = Math.cos(value/180 * Math.PI);
else if (f=="tan")
value = Math.tan(value/180 * Math.PI);
else if (f=="log")
value = Math.log(value)/Math.LN10;
else if (f=="log2")
value = Math.log(value)/Math.LN2;
else if (f=="ln")
value = Math.log(value);
else if (f=="sqrt")
value = Math.sqrt(value);
else if (f=="pi")
value = Math.PI;
}
refresh();
}

function hex()
{
document.bgColor = document.result.result.value;
}

/////////////
//
// Cookie Functions - Second Helping (21-Jan-96)
// Written by: Bill Dortch, hIdaho Design <bdortch@netw.com>
// The following functions are released to the public domain.
//

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

// Function to create or update a cookie.
// name - String object object containing the cookie name.
// value - String object containing the cookie value. May contain
// any valid string characters.
// [expires] - Date object containing the expiration data of the cookie. If
// omitted or null, expires the cookie at the end of the current session.
// [path] - String object indicating the path for which the cookie is valid.
// If omitted or null, uses the path of the calling document.
// [domain] - String object indicating the domain for which the cookie is
// valid. If omitted or null, uses the domain of the calling document.
// [secure] - Boolean (true/false) value indicating whether cookie transmission
// requires a secure channel (HTTPS).
//
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1); // This cookie is history
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

//
// End of cookie functions
//////////

// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="refresh()">

<center>
<table align=center bgcolor=gray border=2><tr><td align=center>
<FORM name=result>
&nbsp;<INPUT size=18 name=result onFocus="refresh(); this.blur();" style="font-family: MS Sans Serif; text-align:right; color: #00FF00; font-weight: bold; background-color: #000000">
</FORM>
<IMG SRC="scalc.gif" width=159 height=224 usemap="#map" border=0>
<MAP name="map">
<AREA SHAPE=rect HREF="javascript:digit(0)" COORDS="12,191,32,209">
<AREA SHAPE=rect HREF="javascript:period()" COORDS="40,191,60,209">
<AREA SHAPE=rect HREF="javascript:exp()" COORDS="68,191,88,209">
<AREA SHAPE=rect HREF="javascript:sign()" COORDS="96,191,116,209">
<AREA SHAPE=rect HREF="javascript:equals()" COORDS="124,191,144,209">

<AREA SHAPE=rect HREF="javascript:digit(1)" COORDS="12,166,32,184">
<AREA SHAPE=rect HREF="javascript:digit(2)" COORDS="40,166,60,184">
<AREA SHAPE=rect HREF="javascript:digit(3)" COORDS="68,166,88,184">
<AREA SHAPE=rect HREF="javascript:operator('+')" COORDS="96,166,116,184">
<AREA SHAPE=rect HREF="javascript:operator('-')" COORDS="124,166,144,184">

<AREA SHAPE=rect HREF="javascript:digit(4)" COORDS="12,141,32,159">
<AREA SHAPE=rect HREF="javascript:digit(5)" COORDS="40,141,60,159">
<AREA SHAPE=rect HREF="javascript:digit(6)" COORDS="68,141,88,159">
<AREA SHAPE=rect HREF="javascript:operator('*')" COORDS="96,141,116,159">
<AREA SHAPE=rect HREF="javascript:operator('/')" COORDS="124,141,144,159">

<AREA SHAPE=rect HREF="javascript:digit(7)" COORDS="12,116,32,134">
<AREA SHAPE=rect HREF="javascript:digit(8)" COORDS="40,116,60,134">
<AREA SHAPE=rect HREF="javascript:digit(9)" COORDS="68,116,88,134">
<AREA SHAPE=rect HREF="javascript:clear()" COORDS="96,116,116,134">
<AREA SHAPE=rect HREF="javascript:clearAll()" COORDS="124,116,144,134">

<AREA SHAPE=rect HREF="javascript:openp()" COORDS="12,90,32,104">
<AREA SHAPE=rect HREF="javascript:closep()" COORDS="40,90,60,104">
<AREA SHAPE=rect HREF="javascript:func('Min')" COORDS="68,90,88,104">
<AREA SHAPE=rect HREF="javascript:func('MR')" COORDS="96,90,116,104">
<AREA SHAPE=rect HREF="javascript:func('M+')" COORDS="124,90,144,104">

<AREA SHAPE=rect HREF="javascript:operator('pow')" COORDS="12,65,32,79">
<AREA SHAPE=rect HREF="javascript:func('n!')" COORDS="40,65,60,79">
<AREA SHAPE=rect HREF="javascript:func('sqrt')" COORDS="68,65,88,79">
<AREA SHAPE=rect HREF="javascript:func('1/x')" COORDS="96,65,116,79">
<AREA SHAPE=rect HREF="javascript:func('swap')" COORDS="124,65,144,79">

<AREA SHAPE=rect HREF="javascript:inv()" COORDS="12,40,32,54">
<AREA SHAPE=rect HREF="javascript:func('sin')" COORDS="40,40,60,54">
<AREA SHAPE=rect HREF="javascript:func('cos')" COORDS="68,40,88,54">
<AREA SHAPE=rect HREF="javascript:func('tan')" COORDS="96,40,116,54">
<AREA SHAPE=rect HREF="javascript:func('pi')" COORDS="124,40,144,54">

<AREA SHAPE=rect HREF="javascript:func('log')" COORDS="12,15,32,29">
<AREA SHAPE=rect HREF="javascript:func('ln')" COORDS="40,15,60,29">
<AREA SHAPE=rect HREF="javascript:func('log2')" COORDS="68,15,88,29">
<AREA SHAPE=rect HREF="javascript:hex()" COORDS="96,15,116,29">
<AREA SHAPE=rect HREF="javascript:alert('\(C\) Copyright Rolf Howarth 1996')" COORDS="124,15,144,29">
</MAP>
</td></tr></table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


calculator1

Калькулятор на 5 действий

=

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Rick Johnson -->
<!-- Web Site: http://members.tripod.com/~RickJohnson -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function a_plus_b(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=a+b
form.ans.value = c
}
function a_minus_b(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=a-b
form.ans.value=c
}
function a_times_b(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=a*b
form.ans.value=c
}
function a_div_b(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=a/b
form.ans.value = c
}
function a_pow_b(form) {
a=eval(form.a.value)
b=eval(form.b.value)
c=Math.pow(a, b)
form.ans.value = c
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM name="formx"><input type=text size=4 value=12 name="a">
<input type="button" value=" + " onClick="a_plus_b(this.form)">
<input type="button" value=" - " onClick="a_minus_b(this.form)">
<input type="button" value=" x " onClick="a_times_b(this.form)">
<input type="button" value=" / " onClick="a_div_b(this.form)">
<input type="button" value=" ^ " onClick="a_pow_b(this.form)">
<input type="number" size=4 value=3 name="b"> = <input type "number" value=0 name="ans" size=9>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator38

Калькулятор Windows

Calculator

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
<!--
body {font-family: helvetica}
p {font-size: 12pt}
.red {color: red}
.blue {color: blue}
-->
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Steve Dulaney -->
<!-- Web Site: http://www.hmhd.com/steve -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var Memory = 0;
var Number1 = "";
var Number2 = "";
var NewNumber = "blank";
var opvalue = "";

function Display(displaynumber) {
document.calculator.answer.value = displaynumber;
}

function MemoryClear() {
Memory = 0;
document.calculator.mem.value = "";
}

function MemoryRecall(answer) {
if(NewNumber != "blank") {
Number2 += answer;
} else {
Number1 = answer;
}
NewNumber = "blank";
Display(answer);
}

function MemorySubtract(answer) {
Memory = Memory - eval(answer);
}

function MemoryAdd(answer) {
Memory = Memory + eval(answer);
document.calculator.mem.value = " M ";
NewNumber = "blank";
}

function ClearCalc() {
Number1 = "";
Number2 = "";
NewNumber = "blank";
Display("");
}

function Backspace(answer) {
answerlength = answer.length;
answer = answer.substring(0, answerlength - 1);
if (Number2 != "") {
Number2 = answer.toString();
Display(Number2);
} else {
Number1 = answer.toString();
Display(Number1);
}
}

function CECalc() {
Number2 = "";
NewNumber = "yes";
Display("");
}

function CheckNumber(answer) {
if(answer == ".") {
Number = document.calculator.answer.value;
if(Number.indexOf(".") != -1) {
answer = "";
}
}
if(NewNumber == "yes") {
Number2 += answer;
Display(Number2);
}
else {
if(NewNumber == "blank") {
Number1 = answer;
Number2 = "";
NewNumber = "no";
}
else {
Number1 += answer;
}
Display(Number1);
}
}
function AddButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) + parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '+';
Display(Number1);
}
function SubButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) - parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '-';
Display(Number1);
}
function MultButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) * parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '*';
Display(Number1);
}
function DivButton(x) {
if(x == 1) EqualButton();
if(Number2 != "") {
Number1 = parseFloat(Number1) / parseFloat(Number2);
}
NewNumber = "yes";
opvalue = '/';
Display(Number1);
}
function SqrtButton() {
Number1 = Math.sqrt(Number1);
NewNumber = "blank";
Display(Number1);
}
function PercentButton() {
if(NewNumber != "blank") {
Number2 *= .01;
NewNumber = "blank";
Display(Number2);
}
}
function RecipButton() {
Number1 = 1/Number1;
NewNumber = "blank";
Display(Number1);
}
function NegateButton() {
Number1 = parseFloat(-Number1);
NewNumber = "no";
Display(Number1);
}
function EqualButton() {
if(opvalue == '+') AddButton(0);
if(opvalue == '-') SubButton(0);
if(opvalue == '*') MultButton(0);
if(opvalue == '/') DivButton(0);
Number2 = "";
opvalue = "";
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="calculator">
<table bgcolor="#aaaaaa" width=220>
<tr><td>
<table bgcolor="#cccccc" border=1>
<tr><td>
<table border=0 cellpadding=0>
<tr><td bgcolor="#000080"><b style="color:white">Calculator</b></td></tr>
<tr><td>
<table width="100%" border=0>
<tr><td colspan=6><input type="text" name="answer" size=30 maxlength=30 onChange="CheckNumber(this.value)"></td></tr>
<tr><td colspan=6>
<table border=0 cellpadding=0>
<tr><td>
<input type="text" name="mem" size=3 maxlength=3> <input type="button" name="backspace" class="red" value="Backspace" onClick="Backspace(document.calculator.answer.value); return false;"> <input type="button" name="CE" class="red" value=" CE " onClick="CECalc(); return false;"> <input type="reset" name="C" class="red" value=" C " onClick="ClearCalc(); return false;">
</td></tr>
</table>
</td></tr>
<tr><td><input type="button" name="MC" class="red" value=" MC " onClick="MemoryClear(); return false;"></td>
<td><input type="button" name="calc7" class="blue" value=" 7 " onClick="CheckNumber('7'); return false;"></td>
<td><input type="button" name="calc8" class="blue" value=" 8 " onClick="CheckNumber('8'); return false;"></td>
<td><input type="button" name="calc9" class="blue" value=" 9 " onClick="CheckNumber('9'); return false;"></td>
<td><input type="button" name="divide" class="red" value=" / " onClick="DivButton(1); return false;"></td>
<td><input type="button" name="sqrt" class="blue" value="sqrt" onClick="SqrtButton(); return false;"></td></tr>
<tr><td><input type="button" name="MR" class="red" value=" MR " onClick="MemoryRecall(Memory); return false;"></td>
<td><input type="button" name="calc4" class="blue" value=" 4 " onClick="CheckNumber('4'); return false;"></td>
<td><input type="button" name="calc5" class="blue" value=" 5 " onClick="CheckNumber('5'); return false;"></td>
<td><input type="button" name="calc6" class="blue" value=" 6 " onClick="CheckNumber('6'); return false;"></td>
<td><input type="button" name="multiply" class="red" value=" * " onClick="MultButton(1); return false;"></td>
<td><input type="button" name="percent" class="blue" value=" % " onClick="PercentButton(); return false;"></td></tr>
<tr><td><input type="button" name="MS" class="red" value=" MS " onClick="MemorySubtract(document.calculator.answer.value); return false;"></td>
<td><input type="button" name="calc1" class="blue" value=" 1 " onClick="CheckNumber('1'); return false;"></td>
<td><input type="button" name="calc2" class="blue" value=" 2 " onClick="CheckNumber('2'); return false;"></td>
<td><input type="button" name="calc3" class="blue" value=" 3 " onClick="CheckNumber('3'); return false;"></td>
<td><input type="button" name="minus" class="red" value=" - " onClick="SubButton(1); return false;"></td>
<td><input type="button" name="recip" class="blue" value="1/x " onClick="RecipButton(); return false;"></td></tr>
<tr><td><input type="button" name="Mplus" class="red" value=" M+ " onClick="MemoryAdd(document.calculator.answer.value); return false;"></td>
<td><input type="button" name="calc0" class="blue" value=" 0 " onClick="CheckNumber('0'); return false;"></td>
<td><input type="button" name="negate" class="blue" value="+/- " onClick="NegateButton(); return false;"></td>
<td><input type="button" name="dot" class="blue" value=" . " onClick="CheckNumber('.'); return false;"></td>
<td><input type="button" name="plus" class="red" value=" + " onClick="AddButton(1); return false;"></td>
<td><input type="button" name="equal" class="red" value=" = " onClick="EqualButton(); return false;"></td>
</tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator45

Научный калькулятор

ПОКЕКОМП для физиков

Ввод данных | Арифметика | Научный |  | Физич.
9: |  |  |  |
8: |  |  |  |
7: |  |  |  |
6: |  |  |  |
5: |  |  |  |
4: |  |  |  |
3: |  |  |  |
y: |  | * | * |
x: |  |  |  |
* |  |  |  |
* |  |  | * |

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<!-- <SERVICE NAME="geoguide"> -->
</center>

<//>
<// JavaScript Physics Computer --- J.P. Vigneron >
<//>

<SCRIPT>
<!-- protect old browsers against trying to interpret scripts

// if computed is false, digits are appended to first stack element
// otherwise, a push stack must be performed first
var computed = false
var mode = 1.0

//
// This function used to push up stack elements (9th element is lost)
//
function push(form)
{
if( form.stack1.value != "" )
{
form.stack9.value = form.stack8.value
form.stack8.value = form.stack7.value
form.stack7.value = form.stack6.value
form.stack6.value = form.stack5.value
form.stack5.value = form.stack4.value
form.stack4.value = form.stack3.value
form.stack3.value = form.stack2.value
form.stack2.value = form.stack1.value
form.stack1.value = ""
computed = true
}
}

//
// This function used to drop the more recent stack elements
//
function pull(form)
{
form.stack1.value = form.stack2.value
form.stack2.value = form.stack3.value
form.stack3.value = form.stack4.value
form.stack4.value = form.stack5.value
form.stack5.value = form.stack6.value
form.stack6.value = form.stack7.value
form.stack7.value = form.stack8.value
form.stack8.value = form.stack9.value
form.stack9.value = ""
computed = true
}

//
// ============== EDITING INPUT ==========================================================
//

//
// Define a function to add a new character to the display
//
function addChar(form, character)
{
if(computed) { push(form)
computed = false }
if(form.stack1.value == null || form.stack1.value == "0" || form.stack1.value == "")
{ form.stack1.value = character }
else
{ form.stack1.value += character }
}

//
// Define a function to delete the last character in the display
//
function deleteChar(form)
{
if( form.stack1.value.length > 0 )
{
form.stack1.value = form.stack1.value.substring(0,form.stack1.value.length - 1)
computed = false
}
}

//
// Change the sign of the most recent element of the stack
//
function changeSign(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = 0 - parseFloat(form.stack1.value)
computed = false
}
}

//
// ============== STACK MANIPULATION ====================================================
//

//
// Duplicate the most recent element of the stack
//
function dup(form)
{
if( form.stack1.value != "" )
{
push(form)
form.stack1.value = form.stack2.value
computed = true
}
}

//
// Swap the two most recent elements of the stack
//
function swap(form)
{
if( form.stack1.value != "" && form.stack2.value != "")
{
var buffer = parseFloat(form.stack1.value)
form.stack1.value = form.stack2.value
form.stack2.value = buffer
computed = true
}
}

//
// Copy the second most recent elements of the stack as the most recent element
//
function over(form)
{
if( form.stack2.value != "" )
{
push(form)
form.stack1.value = form.stack3.value
computed = true
}
}

//
// Clear the entire stack
//
function clear(form)
{
form.stack1.value = ""
form.stack2.value = ""
form.stack3.value = ""
form.stack4.value = ""
form.stack5.value = ""
form.stack6.value = ""
form.stack7.value = ""
form.stack8.value = ""
form.stack9.value = ""
computed = false
}

//
// Roll up the entire stack
//
function up(form)
{
if( form.stack1.value != "" )
{
var buffer1 = parseFloat(form.stack1.value)
var buffer2 = parseFloat(form.stack1.value)
if( form.stack2.value != "" )
{ buffer2 = parseFloat(form.stack2.value)
form.stack2.value = buffer1
buffer1 = buffer2 }
if( form.stack3.value != "" )
{ buffer2 = parseFloat(form.stack3.value)
form.stack3.value = buffer1
buffer1 = buffer2 }
if( form.stack4.value != "" )
{ buffer2 = parseFloat(form.stack4.value)
form.stack4.value = buffer1
buffer1 = buffer2 }
if( form.stack5.value != "" )
{ buffer2 = parseFloat(form.stack5.value)
form.stack5.value = buffer1
buffer1 = buffer2 }
if( form.stack6.value != "" )
{ buffer2 = parseFloat(form.stack6.value)
form.stack6.value = buffer1
buffer1 = buffer2 }
if( form.stack7.value != "" )
{ buffer2 = parseFloat(form.stack7.value)
form.stack7.value = buffer1
buffer1 = buffer2 }
if( form.stack8.value != "" )
{ buffer2 = parseFloat(form.stack8.value)
form.stack8.value = buffer1
buffer1 = buffer2 }
if( form.stack9.value != "" )
{ buffer2 = parseFloat(form.stack9.value)
form.stack9.value = buffer1
buffer1 = buffer2 }
form.stack1.value = buffer1
computed = true
}
}

//
// Roll down the entire stack
//
function down(form)
{
if( form.stack1.value != "" )
{
var buffer1 = parseFloat(form.stack1.value)
pull(form)
if(form.stack1.value == "") {form.stack1.value=buffer1;return}
if(form.stack2.value == "" && form.stack1.value != "")
{form.stack2.value=buffer1;return}
if(form.stack3.value == "" && form.stack2.value != "")
{form.stack3.value=buffer1;return}
if(form.stack4.value == "" && form.stack3.value != "")
{form.stack4.value=buffer1;return}
if(form.stack5.value == "" && form.stack4.value != "")
{form.stack5.value=buffer1;return}
if(form.stack6.value == "" && form.stack5.value != "")
{form.stack6.value=buffer1;return}
if(form.stack7.value == "" && form.stack6.value != "")
{form.stack7.value=buffer1;return}
if(form.stack8.value == "" && form.stack7.value != "")
{form.stack8.value=buffer1;return}
if(form.stack9.value == "" && form.stack8.value != "")
{form.stack9.value=buffer1;return}
computed = true
}
}

//
// ============== ELEMENTARY OPERATIONS =============================================
//

//
// Add
//
function add(form)
{
if( form.stack1.value != "" && form.stack2.value != "" )
{
form.stack2.value = parseFloat(form.stack1.value)
+ parseFloat(form.stack2.value)
pull(form)
}
}

//
// Substract
//
function sub(form)
{
if( form.stack1.value != "" && form.stack2.value != "" )
{
form.stack2.value = parseFloat(form.stack2.value)
- parseFloat(form.stack1.value)
pull(form)
}
}

//
// Multiply
//
function mult(form)
{
if( form.stack1.value != "" && form.stack2.value != "" )
{
form.stack2.value = parseFloat(form.stack2.value)
* parseFloat(form.stack1.value)
pull(form)
}
}

//
// Divide
//
function div(form)
{
if( form.stack1.value != "" && form.stack2.value != "" )
{
var divisor = parseFloat(form.stack1.value)
if (divisor == 0)
{
form.stack1.value = "Don't divide by zero"
computed = true
}
else
{
form.stack2.value = parseFloat(form.stack2.value) / divisor
pull(form)
}
}
}

//
// Take the second most recent element and take it to the power of the
// most recent element of the stack
//
function power(form)
{
if( form.stack1.value != "" && form.stack2.value != "" )
{
form.stack2.value = Math.exp(Math.log(
parseFloat(form.stack2.value))*
parseFloat(form.stack1.value))
pull(form)
}
}

//
// ============== ELEMENTARY FUNCTIONS =========================================
//

//
// Square the most recent element of the stack
//
function square(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*parseFloat(form.stack1.value)
computed = true
}
}

//
// Square root of the most recent element of the stack
//
function root(form)
{
if( form.stack1.value != "" )
{
if( form.stack1.value >= 0 )
{
form.stack1.value = Math.sqrt(form.stack1.value)
}
else
{
form.stack1.value = "square root error"
}
computed = true
}
}

//
// Multiplicative inverse of the most recent element of the stack
//
function inverse(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = 1/parseFloat(form.stack1.value)
computed = true
}
}

//
// Enter pi (3.1415...)
//
function pi(form)
{
push(form)
form.stack1.value = Math.PI
computed = true
}

//
// Take the factorial of the most recent element of the stack
// (even if non-integer)
//
function fact(form)
{
if( form.stack1.value != "" )
{
if(parseFloat(form.stack1.value)%1 == 0)
{
buf = 1
n = form.stack1.value
for (i=1;i<=n;i++) {buf = buf*i}
form.stack1.value = buf
computed = true
}
else
{
if(form.stack1.value > 35.0)
{
var a0 = 1.0/12.0
var a1 = 1.0/30.0
var a2 = 53.0/210.0
var a3 = 195.0/371.0
var a4 = 22999.0/22737.0
var a5 = 29944523.0/19733142.0
var a6 = 109535241009.0/48264275462.0
z = 1+parseFloat(form.stack1.value)
lgz = (z-0.5)*Math.log(z)+0.5*Math.log(2.0*Math.PI)-z
lgz = lgz + a0/(z+a1/(z+a2/(z+a3/(z+a4/(z+a5/(z+a6/z))))))
form.stack1.value = Math.exp(lgz)
}
else
{
var a0 = 1.0/12.0
var a1 = 1.0/30.0
var a2 = 53.0/210.0
var a3 = 195.0/371.0
var a4 = 22999.0/22737.0
var a5 = 29944523.0/19733142.0
var a6 = 109535241009.0/48264275462.0
z = 36+parseFloat(form.stack1.value)
lgz = (z-0.5)*Math.log(z)+0.5*Math.log(2.0*Math.PI)-z
lgz = lgz + a0/(z+a1/(z+a2/(z+a3/(z+a4/(z+a5/(z+a6/z))))))
buf = Math.exp(lgz)
for (i=35;i>0;i--) {buf = buf/(i+parseFloat(form.stack1.value))}
form.stack1.value = buf
}
}
computed = true
}
}

//
// Take absolute value
//
function absol(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.abs(form.stack1.value)
computed = true
}
}

//
// ============== EXPONENTIAL AND TRIGONOMETRIC FUNCTIONS =============================
//

//
// exp
//
function expon(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.exp(form.stack1.value)
computed = true
}
}

//
// log
//
function logln(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.log(form.stack1.value)
computed = true
}
}

//
// Toggle the computer mode : radians or degrees
//
function toggle(form)
{
if( form.mode.value == " rad " )
{
form.mode.value = " deg "
mode = Math.PI/180.0
}
else
{
form.mode.value = " rad "
mode = 1.0
}
}

//
// sin
//
function sinus(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.sin(form.stack1.value*mode)
computed = true
}
}

//
// asin
//
function asinus(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.asin(form.stack1.value)/mode
computed = true
}
}

//
// cos
//
function cosinus(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.cos(form.stack1.value*mode)
computed = true
}
}

//
// acos
//
function acosinus(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.acos(form.stack1.value)/mode
computed = true
}
}

//
// tan
//
function tangt(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.tan(form.stack1.value*mode)
computed = true
}
}

//
// atan
//
function atangt(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = Math.atan(form.stack1.value)/mode
computed = true
}
}

//
// hyperbolic sine
//
function hypsinus(form)
{
if( form.stack1.value != "" )
{
if( Math.abs(form.stack1.value)<0.1 )
{
var buf = 1.0
z = parseFloat(form.stack1.value)*parseFloat(form.stack1.value)
for (var i=41; i>2; i=i-2) { buf = 1+z*buf/(i*(i-1)) }
form.stack1.value = parseFloat(form.stack1.value)*buf
}
else
{
form.stack1.value = 0.5*(Math.exp(form.stack1.value)-Math.exp(-form.stack1.value))
}
computed = true
}
}

//
// hyperbolic arc sine
//
function hypasinus(form)
{
if( form.stack1.value != "" )
{
var z = parseFloat(form.stack1.value)
if( Math.abs(z)<0.1 )
{
var buf = 1.0/43.0
var z2 = z*z
for (var i=41; i>0; i=i-2) { buf = 1.0/i-i*z2*buf/(i+1) }
form.stack1.value = z*buf
}
else
{
az = Math.abs(z)
if (az > 10.0e15)
{
buf = Math.log(2*az)
}
else
{
buf = Math.log(az+Math.sqrt(1+az*az))
}
if(z<0)
{
form.stack1.value = -buf
}
else
{
form.stack1.value = buf
}
}
computed = true
}
}

//
// hyperbolic arc sine
//
function hypcosinus(form)
{
if( form.stack1.value != "" )
{
if( Math.abs(form.stack1.value)<0.1 )
{
var buf = 1.0
var z = parseFloat(form.stack1.value)*parseFloat(form.stack1.value)
for (var i=40; i>1; i=i-2) { buf = 1+z*buf/(i*(i-1)) }
form.stack1.value = buf
}
else
{
form.stack1.value = 0.5*(Math.exp(form.stack1.value)+Math.exp(-form.stack1.value))
}
computed = true
}
}

//
// hyperbolic arc cosine
//
function hypacosinus(form)
{
if( form.stack1.value != "" )
{
z = parseFloat(form.stack1.value)
if( z<1 )
{
form.stack1.value = "Error"
}
else
{
if (z > 10.0e15)
{
form.stack1.value = Math.log(2*z)
}
else
{
form.stack1.value = Math.log(z+Math.sqrt(z*z-1))
}
}
computed = true
}
}

//
// hyperbolic tangent
//
function hyptangt(form)
{
if( form.stack1.value != "" )
{
if( Math.abs(form.stack1.value)<0.1 )
{
var num = 1.0
var z = parseFloat(form.stack1.value)*parseFloat(form.stack1.value)
for (var i=41; i>2; i=i-2) { num = 1+z*num/(i*(i-1)) }
var denom = 1.0
for (var i=40; i>1; i=i-2) { denom = 1+z*denom/(i*(i-1)) }
form.stack1.value = (num/denom)*parseFloat(form.stack1.value)
}
else
{
if (Math.abs(form.stack1.value)>100)
{
if (form.stack1.value>0)
{
form.stack1.value = 1
}
else
{
form.stack1.value = -1
}
}
else
{
num = Math.exp(form.stack1.value)-Math.exp(-form.stack1.value)
denom = Math.exp(form.stack1.value)+Math.exp(-form.stack1.value)
form.stack1.value = num/denom
}
}
computed = true
}
}

//
// hyperbolic arc tangent
//
function hypatangt(form)
{
if( form.stack1.value != "" )
{
z = parseFloat(form.stack1.value)
if( Math.abs(z)<0.1 )
{
var buf = 1.0/43.0
var z2 = z*z
for (var i=41; i>0; i=i-2) { buf = 1.0/i + z2*buf }
form.stack1.value = z*buf
}
else
{
az = Math.abs(z)
if (az >= 1.0)
{
form.stack1.value = "Error"
}
else
{
buf = 0.5*Math.log((1+az)/(1-az))
if(z<0)
{
form.stack1.value = -buf
}
else
{
form.stack1.value = buf
}
}
}
computed = true
}
}

//
// ============== INTEGER AND FRACTIONAL PARTS =============================
//

//
// integer part
//
function integl(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)-parseFloat(form.stack1.value)%1
computed = true
}
}

//
// fractional part
//
function fractionl(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)%1
computed = true
}
}

//
// ============== PHYSICAL CONSTANTS ======================================
//

function elecCharge(form)
{
push(form)
form.stack1.value = 1.60217733e-19
computed = true
}

function elecMass(form)
{
push(form)
form.stack1.value = 9.10938975E-31
computed = true
}

function elecMM(form)
{
push(form)
form.stack1.value = 9.27401543E-24
computed = true
}

function lightSpeed(form)
{
push(form)
form.stack1.value = 2.99792458E8
computed = true
}

function h(form)
{
push(form)
form.stack1.value = 6.62660755E-34
computed = true
}

function hbar(form)
{
push(form)
form.stack1.value = 1.05457267E-34
computed = true
}

function rbohr(form)
{
push(form)
form.stack1.value = 5.29177249E-11
computed = true
}

function avogadro(form)
{
push(form)
form.stack1.value = 6.02213674E23
computed = true
}

function boltzmann(form)
{
push(form)
form.stack1.value = 1.38065810E-23
computed = true
}

function perfectGas(form)
{
push(form)
form.stack1.value = 6.02213674E23*1.38065810E-23
computed = true
}

function rydberg(form)
{
push(form)
form.stack1.value = 2.17987411E-18
computed = true
}

function hartree(form)
{
push(form)
form.stack1.value = 2*2.17987411E-18
computed = true
}

function eps0(form)
{
push(form)
form.stack1.value = 8.85418782E-12
computed = true
}

function coulomb(form)
{
push(form)
form.stack1.value = 8.98755176E9
computed = true
}

function mu0(form)
{
push(form)
form.stack1.value = 4E-7*3.1415926535897932384E0
computed = true
}

function qpi(form)
{
push(form)
form.stack1.value = 4*3.1415926535897932384E0
computed = true
}

function compton(form)
{
push(form)
form.stack1.value = 2.42631058E-12
computed = true
}

function fine(form)
{
push(form)
form.stack1.value = 7.29735308E-3
computed = true
}

function amu(form)
{
push(form)
form.stack1.value = 1.66054021E-27
computed = true
}

function mp(form)
{
push(form)
form.stack1.value = 1.672614E-27
computed = true
}

function mn(form)
{
push(form)
form.stack1.value = 1.674920E-27
computed = true
}

function G(form)
{
push(form)
form.stack1.value = 6.67259850E-11
computed = true
}

function stefan(form)
{
push(form)
form.stack1.value = 5.66961E-8
computed = true
}

function c1(form)
{
push(form)
form.stack1.value = 4.922579E-24
computed = true
}

function c2(form)
{
push(form)
form.stack1.value = 1.438833E-2
computed = true
}

//
// ============== PHYSICAL UNITS CONVERSION ================================
//

function angpm(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*1.E10
computed = true
}
}
function mpang(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)/1.E10
computed = true
}
}

function evpj(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*6.24150634E18
computed = true
}
}

function jpev(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)/6.24150634E18
computed = true
}
}

function cpj(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*0.23900574E0
computed = true
}
}

function jpc(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)/0.23900574E0
computed = true
}
}

function deg(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*Math.PI/180.0/mode
computed = true
}
}

function min(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*Math.PI/180.0/mode/60.0
computed = true
}
}

function sec(form)
{
if( form.stack1.value != "" )
{
form.stack1.value = parseFloat(form.stack1.value)*Math.PI/180.0/mode/3600.0
computed = true
}
}

<!-- done hiding tags from old browsers -->
</SCRIPT>

<h2>ПОКЕКОМП для физиков</h2>

<CENTER>
<FORM method="post">
<TABLE border=2 bgcolor="#808080">

<TR><TH colspan="4"><font color="#FFFFFF"><b>Ввод данных</b></font></TH> <TH colspan="3"><font color="#FFFFFF"><b>Арифметика</b></font></TH>
<TH colspan="2"><font color="#FFFFFF"><b>Научный</b></font></TH><TH colspan="3"><font color="#FFFFFF"><b>Физич.</b></font></TH></TR>

<TR>
<TD align=center><font color="#FFFFFF"><b>9:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack9" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 7 " onClick="addChar(this.form, '7')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 8 " onClick="addChar(this.form, '8')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 9 " onClick="addChar(this.form, '9')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" exp " onClick="expon(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ln " onClick="logln(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" h " onClick="h(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" hbar " onClick="hbar(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" c " onClick="lightSpeed(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>8:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack8" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 4 " onClick="addChar(this.form, '4')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 5 " onClick="addChar(this.form, '5')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 6 " onClick="addChar(this.form, '6')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" sin " onClick="sinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" asin " onClick="asinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" N " onClick="avogadro(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" k " onClick="boltzmann(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" R " onClick="perfectGas(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>7:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack7" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 1 " onClick="addChar(this.form, '1')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 2 " onClick="addChar(this.form, '2')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 3 " onClick="addChar(this.form, '3')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" cos " onClick="cosinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" acos " onClick="acosinus(this.form)"></b></font></TD>
<TD colspan="2" align=center><font color="#FFFFFF"><b><INPUT type="button" value=" 1/(4*pi*eps0) " onClick="coulomb(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" G " onClick="G(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>6:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack6" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" E " onClick="addChar(this.form, 'E')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 0 " onClick="addChar(this.form, '0')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" . " onClick="addChar(this.form, '.')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" tan " onClick="tangt(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" atan " onClick="atangt(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" eps0 " onClick="eps0(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" mu0 " onClick="mu0(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 4*pi " onClick="qpi(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>5:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack5" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" E- " onClick="addChar(this.form, 'E-')"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" +/- " onClick="changeSign(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" < " onClick="deleteChar(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" sh " onClick="hypsinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ash " onClick="hypasinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" e " onClick="elecCharge(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" m " onClick="elecMass(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" muB " onClick="elecMM(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>4:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack4" value="" size=25></b></font></TD>
<TD align=center colspan="2"><font color="#FFFFFF"><b><INPUT type="button" value=" Enter " onClick="push(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" pi " onClick="pi(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ch " onClick="hypcosinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ach " onClick="hypacosinus(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" a0 " onClick="rbohr(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" Rd " onClick="rydberg(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" Hr " onClick="hartree(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>3:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack3" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" + " onClick="add(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" - " onClick="sub(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ^2 " onClick="square(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" th " onClick="hyptangt(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" ath " onClick="hypatangt(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" alpha " onClick="fine(this.form)"></b></font></TD>
<TD colspan="2" align=center><font color="#FFFFFF"><b><INPUT type="button" value=" compton " onClick="compton(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>y:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack2" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" * " onClick="mult(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" / " onClick="div(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" sqr " onClick="root(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b>*</b></font></TD>
<TD align=center><font color="#FFFFFF"><b>*</b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" amu " onClick="amu(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" mp " onClick="mp(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" mn " onClick="mn(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>x:</b></font></TD><TD colspan=3><font color="#FFFFFF"><b><INPUT name="stack1" value="" size=25></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" 1/x " onClick="inverse(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" x! " onClick="fact(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" abs " onClick="absol(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" int " onClick="integl(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" frac " onClick="fractionl(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" value=" stefan " onClick="stefan(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" c1 " onClick="c1(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" c2 " onClick="c2(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>*</b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" dup " onClick="dup(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" drop " onClick="pull(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" up " onClick="up(this.form)"></b></font></TD>
<TD colspan="3" align=center>
<font color="#FFFFFF"><b>
<INPUT type="button" style="width:40" value=" y**x " onClick="power(this.form)">
<INPUT type="button" style="width:27" value="d" onClick="deg(this.form)">
<INPUT type="button" style="width:27" value="m" onClick="min(this.form)">
<INPUT type="button" style="width:27" value="s" onClick="sec(this.form)">
</b></font>
</TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" mode " onClick="toggle(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT name="mode" style="width:40" value=" rad " size=6></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" A/m " onClick="angpm(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" eV/J " onClick="evpj(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" cal/J " onClick="cpj(this.form)"></b></font></TD>
</TR>
<TR>
<TD align=center><font color="#FFFFFF"><b>*</b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" swap " onClick="swap(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" over " onClick="over(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:55" value=" down " onClick="down(this.form)"></b></font></TD>
<TD colspan="3" align=center><font color="#FFFFFF"><b><INPUT type="button" value=" Clear Stack " onClick="clear(this.form)"></b></font></TD>
<TD align=center></TD>
<TD align=center><font color="#FFFFFF"><b>*</b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" m/A " onClick="mpang(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" J/eV " onClick="jpev(this.form)"></b></font></TD>
<TD align=center><font color="#FFFFFF"><b><INPUT type="button" style="width:40" value=" J/cal " onClick="jpc(this.form)"></b></font></TD>
</TR>
</TABLE>
</CENTER>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator3

Простой полнофункциональный Javascript калькулятор

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM name="Keypad" action="">

<!-- Original: http://www.dummyproof.com/javascripts -->

<TABLE>
<B>
<TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5>
<TR>
<TD colspan=3 align=middle>
<input name="ReadOut" type="Text" size=14 value="0" width=100%>
</TD>
<TD
</TD>
<TD>
<input name="btnClear" type="Button" value=" C " onclick="Clear()">
</TD>
<TD><input name="btnClearEntry" type="Button" value="CE " onclick="ClearEntry()">
</TD>
</TR>
<TR>
<TD>
<input name="btnSeven" type="Button" value=" 7 " onclick="NumPressed(7)">
</TD>
<TD>
<input name="btnEight" type="Button" value=" 8 " onclick="NumPressed(8)">
</TD>
<TD>
<input name="btnNine" type="Button" value=" 9 " onclick="NumPressed(9)">
</TD>
<TD>
</TD>
<TD>
<input name="btnNeg" type="Button" value=" +/- " onclick="Neg()">
</TD>
<TD>
<input name="btnPercent" type="Button" value=" % " onclick="Percent()">
</TD>
</TR>
<TR>
<TD>
<input name="btnFour" type="Button" value=" 4 " onclick="NumPressed(4)">
</TD>
<TD>
<input name="btnFive" type="Button" value=" 5 " onclick="NumPressed(5)">
</TD>
<TD>
<input name="btnSix" type="Button" value=" 6 " onclick="NumPressed(6)">
</TD>
<TD>
</TD>
<TD align=middle><input name="btnPlus" type="Button" value=" + " onclick="Operation('+')">
</TD>
<TD align=middle><input name="btnMinus" type="Button" value=" - " onclick="Operation('-')">
</TD>
</TR>
<TR>
<TD>
<input name="btnOne" type="Button" value=" 1 " onclick="NumPressed(1)">
</TD>
<TD>
<input name="btnTwo" type="Button" value=" 2 " onclick="NumPressed(2)">
</TD>
<TD>
<input name="btnThree" type="Button" value=" 3 " onclick="NumPressed(3)">
</TD>
<TD>
</TD>
<TD align=middle><input name="btnMultiply" type="Button" value=" * " onclick="Operation('*')">
</TD>
<TD align=middle><input name="btnDivide" type="Button" value=" / " onclick="Operation('/')">
</TD>
</TR>
<TR>
<TD>
<input name="btnZero" type="Button" value=" 0 " onclick="NumPressed(0)">
</TD>
<TD>
<input name="btnDecimal" type="Button" value=" . " onclick="Decimal()">
</TD>
<TD colspan=3>
</TD>
<TD>
<input name="btnEquals" type="Button" value=" = " onclick="Operation('=')">
</TD>
</TR>
</TABLE>
</TABLE>
</B>
</FORM>
</CENTER>
<font face="Verdana, Arial, Helvetica" size=2>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var FKeyPad = document.Keypad;
var Accum = 0;
var FlagNewNum = false;
var PendingOp = "";
function NumPressed (Num) {
if (FlagNewNum) {
FKeyPad.ReadOut.value = Num;
FlagNewNum = false;
}
else {
if (FKeyPad.ReadOut.value == "0")
FKeyPad.ReadOut.value = Num;
else
FKeyPad.ReadOut.value += Num;
}
}
function Operation (Op) {
var Readout = FKeyPad.ReadOut.value;
if (FlagNewNum && PendingOp != "=");
else
{
FlagNewNum = true;
if ( '+' == PendingOp )
Accum += parseFloat(Readout);
else if ( '-' == PendingOp )
Accum -= parseFloat(Readout);
else if ( '/' == PendingOp )
Accum /= parseFloat(Readout);
else if ( '*' == PendingOp )
Accum *= parseFloat(Readout);
else
Accum = parseFloat(Readout);
FKeyPad.ReadOut.value = Accum;
PendingOp = Op;
}
}
function Decimal () {
var curReadOut = FKeyPad.ReadOut.value;
if (FlagNewNum) {
curReadOut = "0.";
FlagNewNum = false;
}
else
{
if (curReadOut.indexOf(".") == -1)
curReadOut += ".";
}
FKeyPad.ReadOut.value = curReadOut;
}
function ClearEntry () {
FKeyPad.ReadOut.value = "0";
FlagNewNum = true;
}
function Clear () {
Accum = 0;
PendingOp = "";
ClearEntry();
}
function Neg () {
FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
}
function Percent () {
FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator8

Простейший калькулятор 2
 (после копирования кода отрегулируйте ширину кнопок путем добавления пробелов в значении value для каждой кнопки или определите ширину с помощью style="width:XX" )

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="Calc">
<TABLE BORDER=4>
<TR>
<TD>
<INPUT TYPE="text" NAME="Input" Size="16">
<br>
</TD>
</TR>
<TR>
<TD>
<INPUT TYPE="button" NAME="one" VALUE=" 1 " OnClick="Calc.Input.value += '1'">
<INPUT TYPE="button" NAME="two" VALUE=" 2 " OnCLick="Calc.Input.value += '2'">
<INPUT TYPE="button" NAME="three" VALUE=" 3 " OnClick="Calc.Input.value += '3'">
<INPUT TYPE="button" NAME="plus" VALUE=" + " OnClick="Calc.Input.value += ' + '">
<br>
<INPUT TYPE="button" NAME="four" VALUE=" 4 " OnClick="Calc.Input.value += '4'">
<INPUT TYPE="button" NAME="five" VALUE=" 5 " OnCLick="Calc.Input.value += '5'">
<INPUT TYPE="button" NAME="six" VALUE=" 6 " OnClick="Calc.Input.value += '6'">
<INPUT TYPE="button" NAME="minus" VALUE=" - " OnClick="Calc.Input.value += ' - '">
<br>
<INPUT TYPE="button" NAME="seven" VALUE=" 7 " OnClick="Calc.Input.value += '7'">
<INPUT TYPE="button" NAME="eight" VALUE=" 8 " OnCLick="Calc.Input.value += '8'">
<INPUT TYPE="button" NAME="nine" VALUE=" 9 " OnClick="Calc.Input.value += '9'">
<INPUT TYPE="button" NAME="times" VALUE=" x " OnClick="Calc.Input.value += ' * '">
<br>
<INPUT TYPE="button" NAME="clear" VALUE=" c " OnClick="Calc.Input.value = ''">
<INPUT TYPE="button" NAME="zero" VALUE=" 0 " OnClick="Calc.Input.value += '0'">
<INPUT TYPE="button" NAME="DoIt" VALUE=" = " OnClick="Calc.Input.value = eval(Calc.Input.value)">
<INPUT TYPE="button" NAME="div" VALUE=" / " OnClick="Calc.Input.value += ' / '">
<br>
</TD>
</TR>
</TABLE>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator46

Калькулятор с записной книжкой
Удобен при различных расчетах с необходимостью видеть (помнить) все результаты.

(код скопируйте из источника)
WEB .Sci-CALCulator
Квадратичное уровнение
*X² + *X + = 0
Записная Книжка


Calculator

Обычный калькулятор с использованием карты рисунка
(рисунок, использованный в примере calcbttn.gif; так же, см. комментарий внизу страницы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script LANGUAGE="JavaScript">
/*By Alan Simpson
http://www.coolnerds.com
*/

function pad(anystr) {
document.calc.shownum.value += anystr
}

function calcit() {
document.calc.shownum.value = eval(document.calc.shownum.value)
}

function clearit() {
document.calc.shownum.value = ""
}

function backspace() {
curvalue = document.calc.shownum.value
curlength = curvalue.length
curvalue = curvalue.substring(0,curlength-1)
document.calc.shownum.value = curvalue
}

</script>

<map NAME="calcmap">
<!-- #$-:Image Map file created by Map THIS! -->
<!-- #$-:Map THIS! free image map editor by Todd C. Wilson -->
<!-- #$-:Please do not edit lines starting with "#$" -->
<!-- #$VERSION:1.20 --><!-- #$AUTHOR:Alan Simpson -->
<!-- #$DATE:Sat Mar 16 10:56:04 1996 -->
<!-- #$PATH:C:\JavaScript\ -->
<!-- #$GIF:calcbttn.gif -->
<area SHAPE="RECT" COORDS="10,80,40,106" HREF="javascript:pad('1')">
<area SHAPE="RECT" COORDS="49,80,78,106" HREF="javascript:pad('2')">
<area SHAPE="RECT" COORDS="88,79,117,106" HREF="javascript:pad('3')">
<area SHAPE="RECT" COORDS="128,81,158,105" HREF="javascript:pad('+')">
<area SHAPE="RECT" COORDS="11,115,39,141" HREF="javascript:pad("0")">
<area SHAPE="RECT" COORDS="49,115,78,142" HREF="javascript:pad('.')">
<area SHAPE="RECT" COORDS="89,116,119,141" HREF="javascript:calcit()">
<area SHAPE="RECT" COORDS="128,116,158,142" HREF="javascript:pad('-')">
<area SHAPE="RECT" COORDS="167,80,194,105" HREF="javascript:pad('*')">
<area SHAPE="RECT" COORDS="167,116,196,141" HREF="javascript:pad('/')">
<area SHAPE="RECT" COORDS="11,43,39,71" HREF="javascript:pad('4')">
<area SHAPE="RECT" COORDS="50,45,77,69" HREF="javascript:pad('5')">
<area SHAPE="RECT" COORDS="88,44,117,71" HREF="javascript:pad('6')">
<area SHAPE="RECT" COORDS="127,44,158,71" HREF="javascript:pad(')')">
<area SHAPE="RECT" COORDS="165,43,196,70" HREF="javascript:backspace()">
<area SHAPE="RECT" COORDS="10,7,40,33" HREF="javascript:pad('7')">
<area SHAPE="RECT" COORDS="48,7,81,35" HREF="javascript:pad('8')">
<area SHAPE="RECT" COORDS="87,7,117,34" HREF="javascript:pad('9')">
<area SHAPE="RECT" COORDS="127,7,156,34" HREF="javascript:pad('(')">
<area SHAPE="RECT" COORDS="166,7,195,35" HREF="javascript:clearit()">
</map>
<form NAME="calc">
<table BORDER="1" BGCOLOR="#C0C0C0" width="207">
<tr>
<td WIDTH="208"><center><p>
<input NAME="shownum" VALUE MAXLENGTH="25" SIZE="25"></p></center>
</td>
</tr>
<tr>
<td WIDTH="208">
<img USEMAP="#calcmap" SRC="calcbttn.gif" BORDER="0" HEIGHT="153" WIDTH="206"></p></center>
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Желательно добавить в HEAD следующую функцию:

<script>
function stoperror(){
return true
}
window.onerror=stoperror;
</script>

Тогда при каждом неверном действии не будет появляться сообщение об ошибке на странице и для дальнейшей работы калькулятора не придется перегружать страницу.


Calculator48

Стандартный арифметический калькулятор
Не знаю почему в копирайт указан некий кулсофт, но сделал этот очень аккуратный калькулятор Андрей Васильевич Кубах.

Калькулятор 2.0
Copyright © 1999, Coolsoft

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="start()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


math18

Конвертер в JAVASCRIPT 2
 Более простой, чем в версии 1, но более удобный. Так как не кодирует, а только конвертирует любой HTML код в JavaScript код. Невероятно полезен! Ручную часовую работу выполняет за доли секунды! Одно серьезное "но"! Этот скрипт (как, впрочем, и первый) НЕ ВИДИТ перехода на другую строку. Иными словами, идеальным был бы текст или код HTML написанные в одну строку. Так как такого не бывает, откорректируйте результат конвертирования так, чтобы каждая строка имела вначале +, а в конце ковычку (одинарную или двойную зависит от того, какая стояла в начале этой строки). Длина строки определена в 50 символов. Совет. Не старайтесь сконвертировать JavaScript код в этом конвертере. При такой необходимости обратитесь к другой версии конвертера, который находится в разделе Безопасность этой Библиотеки.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--Hide JavaScript from Java-Impaired Browsers
var ls="";
var dq='"';
var sq="'";
var rr="\r";

function jsPars(){
ls=document.isn.txt.value;
if (ls==""){
alert("Введите какой-нибудь текст");
}
else{
htmlPar();
}
}

function htmlPar(){
document.isn.txt.value="Работа.......";
pos=ls.indexOf(dq);
pos1=ls.indexOf(sq);
if ((pos>-1)&&(pos1>-1)){
reWrt();
}
if (pos>-1){
qt=sq;
}
else{
qt=dq;
}
while (ls.indexOf(rr)>-1){
lc=ls.indexOf(rr);
ls=ls.substring(0,lc)+" "+ls.substring(lc+1,ls.length);
}
nls="<SCRIPT LANGUAGE="+qt+"JavaScript"+qt+">"+rr +"<!-- Hide from JavaScript-Impaired Browsers"+rr +" document.write("+qt+ls.substring(0,36)+qt;

ls=ls.substring(36,ls.length);
lsl=ls.length
pp=50;
if (pp>lsl) {
pp=lsl;
}
while (lsl>0){
nls+="\r +"+qt+ls.substring(0,pp)+qt;
ls=ls.substring(pp,lsl);
lsl=ls.length;
if (pp>lsl){
pp=lsl;
}
}
nls+=");"+rr+"// End Hiding -->"+rr+"</SC" +"RIPT>";
document.isn.txt.value=nls+rr+"<!-- Size: "+nls.length +" bytes --> "+rr;
}

function reWrt(){
pos=-1;
while (ls.indexOf(dq)>-1){
lc=ls.indexOf(dq);
ls=ls.substring(0,lc)+sq+ls.substring(lc+1,ls.length);
}
}

function iA(){
this.length=iA.arguments.length;
for (var i=0;i<this.length;i++){
this[i]=iA.arguments[i];
}
}

// End Hiding -->
</SCRIPT>

<FORM NAME="isn">
<TABLE BORDER=0 width="100%">
<TR><TD>
<DIV ALIGN="center">
<INPUT TYPE="button" NAME="but" VALUE="Конвертировать в JAVASCRIPT код" onClick="jsPars()">
</DIV>
<P>
<TEXTAREA NAME="txt" ROWS=20 STYLE="width:95%" cols="20">
</TEXTAREA>
</td></tr></table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Ecv15

RGB -----> HEX
(конвертер RGB в HEX)

Введите Red (красный), Green (зеленый), и Blue (синий) цвета. (от 0 до 255)

Red:
Green:
Blue:

Hex код:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: John Downey (Genaztek@aol.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function showRGB(f) {
red = f.red.value;
green = f.green.value;
blue = f.blue.value;
var hexarray= new Array(256);
hexarray[0]="00"; hexarray[1]="01"; hexarray[2]="02";
hexarray[3]="03"; hexarray[4]="04"; hexarray[5]="05";
hexarray[6]="06"; hexarray[7]="07"; hexarray[8]="08";
hexarray[9]="09"; hexarray[10]="0A"; hexarray[11]="0B";
hexarray[12]="0C"; hexarray[13]="0D"; hexarray[14]="0E";
hexarray[15]="0F"; hexarray[16]="10"; hexarray[17]="11";
hexarray[18]="12"; hexarray[19]="13"; hexarray[20]="14";
hexarray[21]="15"; hexarray[22]="16"; hexarray[23]="17";
hexarray[24]="18"; hexarray[25]="19"; hexarray[26]="1A";
hexarray[27]="1B"; hexarray[28]="1C"; hexarray[29]="1D";
hexarray[30]="1E"; hexarray[31]="1F"; hexarray[32]="20";
hexarray[33]="21"; hexarray[34]="22"; hexarray[35]="23";
hexarray[36]="24"; hexarray[37]="25"; hexarray[38]="26";
hexarray[39]="27"; hexarray[40]="28"; hexarray[41]="29";
hexarray[42]="2A"; hexarray[43]="2B"; hexarray[44]="2C";
hexarray[45]="2D"; hexarray[46]="2E"; hexarray[47]="2F";
hexarray[48]="30"; hexarray[49]="31"; hexarray[50]="32";
hexarray[51]="33"; hexarray[52]="34"; hexarray[53]="35";
hexarray[54]="36"; hexarray[55]="37"; hexarray[56]="38";
hexarray[57]="39"; hexarray[58]="3A"; hexarray[59]="3B";
hexarray[60]="3C"; hexarray[61]="3D"; hexarray[62]="3E";
hexarray[63]="3F"; hexarray[64]="40"; hexarray[65]="41";
hexarray[66]="42"; hexarray[67]="43"; hexarray[68]="44";
hexarray[69]="45"; hexarray[70]="46"; hexarray[71]="47";
hexarray[72]="48"; hexarray[73]="49"; hexarray[74]="4A";
hexarray[75]="4B"; hexarray[76]="4C"; hexarray[77]="4D";
hexarray[78]="4E"; hexarray[79]="4F"; hexarray[80]="50";
hexarray[81]="51"; hexarray[82]="52"; hexarray[83]="53";
hexarray[84]="54"; hexarray[85]="55"; hexarray[86]="56";
hexarray[87]="57"; hexarray[88]="58"; hexarray[89]="59";
hexarray[90]="5A"; hexarray[91]="5B"; hexarray[92]="5C";
hexarray[93]="5D"; hexarray[94]="5E"; hexarray[95]="6F";
hexarray[96]="60"; hexarray[97]="61"; hexarray[98]="62";
hexarray[99]="63"; hexarray[100]="64"; hexarray[101]="65";
hexarray[102]="66"; hexarray[103]="67"; hexarray[104]="68";
hexarray[105]="69"; hexarray[106]="6A"; hexarray[107]="6B";
hexarray[108]="6C"; hexarray[109]="6D"; hexarray[110]="6E";
hexarray[111]="6F"; hexarray[112]="70"; hexarray[113]="71";
hexarray[114]="72"; hexarray[115]="73"; hexarray[116]="74";
hexarray[117]="75"; hexarray[118]="76"; hexarray[119]="77";
hexarray[120]="78"; hexarray[121]="79"; hexarray[122]="7A";
hexarray[123]="7B"; hexarray[124]="7C"; hexarray[125]="7D";
hexarray[126]="7E"; hexarray[127]="7F"; hexarray[128]="80";
hexarray[129]="81"; hexarray[130]="82"; hexarray[131]="83";
hexarray[132]="84"; hexarray[133]="85"; hexarray[134]="86";
hexarray[135]="87"; hexarray[136]="88"; hexarray[137]="89";
hexarray[138]="8A"; hexarray[139]="8B"; hexarray[140]="8C";
hexarray[141]="8D"; hexarray[142]="8E"; hexarray[143]="8F";
hexarray[144]="90"; hexarray[145]="91"; hexarray[146]="92";
hexarray[147]="93"; hexarray[148]="94"; hexarray[149]="95";
hexarray[150]="96"; hexarray[151]="97"; hexarray[152]="98";
hexarray[153]="99"; hexarray[154]="9A"; hexarray[155]="9B";
hexarray[156]="9C"; hexarray[157]="9D"; hexarray[158]="9E";
hexarray[159]="9F"; hexarray[160]="A0"; hexarray[161]="A1";
hexarray[162]="A2"; hexarray[163]="A3"; hexarray[164]="A4";
hexarray[165]="A5"; hexarray[166]="A6"; hexarray[167]="A7";
hexarray[168]="A8"; hexarray[169]="A9"; hexarray[170]="AA";
hexarray[171]="AB"; hexarray[172]="AC"; hexarray[173]="AD";
hexarray[174]="AE"; hexarray[175]="AF"; hexarray[176]="B0";
hexarray[177]="B1"; hexarray[178]="B2"; hexarray[179]="B3";
hexarray[180]="B4"; hexarray[181]="B5"; hexarray[182]="B6";
hexarray[183]="B7"; hexarray[184]="B8"; hexarray[185]="B9";
hexarray[186]="BA"; hexarray[187]="BB"; hexarray[188]="BC";
hexarray[189]="BD"; hexarray[190]="BE"; hexarray[191]="BF";
hexarray[192]="C0"; hexarray[193]="C1"; hexarray[194]="C2";
hexarray[195]="C3"; hexarray[196]="C4"; hexarray[197]="C5";
hexarray[198]="C6"; hexarray[199]="C7"; hexarray[200]="C8";
hexarray[201]="C9"; hexarray[202]="CA"; hexarray[203]="CB";
hexarray[204]="CC"; hexarray[205]="CD"; hexarray[206]="CE";
hexarray[207]="CF"; hexarray[208]="D0"; hexarray[209]="D1";
hexarray[210]="D2"; hexarray[211]="D3"; hexarray[212]="D4";
hexarray[213]="D5"; hexarray[214]="D6"; hexarray[215]="D7";
hexarray[216]="D8"; hexarray[217]="D9"; hexarray[218]="DA";
hexarray[219]="DB"; hexarray[220]="DC"; hexarray[221]="DD";
hexarray[222]="DE"; hexarray[223]="DF"; hexarray[224]="E0";
hexarray[225]="E1"; hexarray[226]="E2"; hexarray[227]="E3";
hexarray[228]="E4"; hexarray[229]="E5"; hexarray[230]="E6";
hexarray[231]="E7"; hexarray[232]="E8"; hexarray[233]="E9";
hexarray[234]="EA"; hexarray[235]="EB"; hexarray[236]="EC";
hexarray[237]="ED"; hexarray[238]="EE"; hexarray[239]="EF";
hexarray[240]="F0"; hexarray[241]="F1"; hexarray[242]="F2";
hexarray[243]="F3"; hexarray[244]="F4"; hexarray[245]="F5";
hexarray[246]="F6"; hexarray[247]="F7"; hexarray[248]="F8";
hexarray[249]="F9"; hexarray[250]="FA"; hexarray[251]="FB";
hexarray[252]="FC"; hexarray[253]="FD"; hexarray[254]="FE";
hexarray[255]="FF";
hexcode = "#" + hexarray[red] + hexarray[green] + hexarray[blue];
document.bgColor = f.hexval.value = hexcode;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=rgbform>
<tt>
<b><font size="2"><font color="#000000">Введите
</font><font color="#FF0000">Red
</font><font size="3" color="#000000">(красный),
</font><font color="#008000">Green
</font><font size="3" color="#000000"> (зеленый), и
</font><font color="#0000FF">Blue
</font><font size="3" color="#000000"> (синий) цвета. (от 0 до 255)
</font></font></b><font size="3" color="#000000">
<br><br>
Red:&nbsp;&nbsp; <input type="text" name="red" size="4"><br>
Green: <input type="text" name="green" size="4"><br>
Blue:&nbsp; <input type="text" name="blue" size="4"><br><br>
<input type=button value="Показать Hex #" onClick="showRGB(this.form)"> <br>
<br>
Hex код: <input type=text name=hexval size=7>
</tt>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


math19

Конвертер RGR ===>HEX
 C pop-up просмотром

(красный) R:
(зеленый) G:
(синий) B:
HEX:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Hide Me

// -- Convert RGB values to hexidecimal values on the client side --
// Written by Mike Brittain (brittaim@lafayette.edu)
// modif. for IE by EZ  eugenezz@yandex.ru
//	Copyright (c) Eyeful Web Enterprises, 1997
//	All Rights Reserved.
//
// *FREEWARE* - This script may be distributed freely (without charge) as long as the above comments remain intact.

var bgcolor = "#000000";
var RGB = new Array(256);
var k = 0;
var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");

for (i = 0; i < 16; i++) {
for (j = 0; j < 16; j++) {
RGB[k] = hex[i] + hex[j];
k++;
}
}

function dropLeadingZeros(num){
while (num.charAt(0) == "0") {
newTerm = num.substring(1, num.length);
num = newTerm;
}
if (num == "")
num = "0";
return num;
}

function convert(form){
while ((form.red.value > 255) || (form.red.value < 0)) {
alert("Все значения RGB должны быть в пределах от 0 до 255.")
form.red.value = 0;
form.red.focus();
}
while ((form.green.value > 255) || (form.green.value < 0)) {
alert("Все значения RGB должны быть в пределах от 0 до 255.")
form.green.value = 0;
form.green.focus();
}
while ((form.blue.value > 255) || (form.blue.value < 0)) {
alert("Все значения RGB должны быть в пределах от 0 до 255.")
form.blue.value = 0;
form.blue.focus();
}
if (form.red.value == "")
form.red.value = 0;
if (form.green.value == "")
form.green.value = 0;
if (form.blue.value == "")
form.blue.value = 0;
form.red.value = dropLeadingZeros(form.red.value);
form.green.value = dropLeadingZeros(form.green.value);
form.blue.value = dropLeadingZeros(form.blue.value);
rr = RGB[form.red.value]
gg = RGB[form.green.value]
bb = RGB[form.blue.value]
bgcolor = "#" + rr + gg + bb;
form.hex.value = bgcolor;
view();
}

function view(){
var header = "<head><title>Пример цвета RGB</title></head>";
header = header + "<body bgcolor="+bgcolor+">";
var text = "<center><b><font color=white>"+bgcolor+"</font><br><br><font color=black>"+bgcolor+"</font></b></center>"
var endheader = "</body>";
props = "menubars=no,location=no,toolbars=no, scrollbars=auto,"+"width=75,height=75,
      top=50,left=50,resizable=no";
self.name = "main";

newcolor = window.open("","",props);
with (newcolor.document) {
open();
write(header + text + endheader);
close();
}
}
// End Hide -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM METHOD=post>
<TABLE BORDER=2 bgcolor="#808080">
<TR>
<TD ALIGN=right>
<font size="3" color="#FFFFFF">
<BR>(красный) <B>R:</B>
<INPUT TYPE=text NAME="red" SIZE=3 MAXLENGTH=3 onFocus="this.select()">
<BR>(зеленый) <B>G:</B>
<INPUT TYPE=text NAME="green" SIZE=3 MAXLENGTH=3 onFocus="this.select()">
<BR>(синий)&nbsp;&nbsp; <B>B:</B> <INPUT TYPE=text NAME="blue" SIZE=3 MAXLENGTH=3 onFocus="this.select()">
</font>
</TD>
<font size="3" color="#000000">
<TD VALIGN=bottom ALIGN=center>
<INPUT TYPE=button NAME=button1 VALUE="Конвертировать" onClick="convert(this.form);">
</TD>
</TR>
<TR>
<TD COLSPAN=2 ALIGN=right>
<HR NOSHADE SIZE=1><B></B>
</font>
<B>
<font size="3" color="#FFFFFF">
HEX:
</font>
</B>
<font size="3" color="#FFFFFF">
<INPUT TYPE=text NAME="hex" SIZE=12 MAXLENGTH=12 onFocus="this.select()">
</font>
</TD>
</TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Ecv11

Азбука Морзе
(конвертер адаптирован для латинских букв)

Напечатайте фразу латинскими буквами

*При необходимости, конвертер легко адаптировать для кириллицы - замените латинские буквы (выделенны белым) на "русские" и соотнесите их с элементами азбуки Морзе (выделены желтым), то есть расположите так, чтобы их порядковые номера совпадали.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nic Wolfe (Nic@TimelapseProductions.com) -->
<!-- Web Site: http://fineline.xs.mw -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function translate(form) {
letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .,?:-!";
morse = new Array(
".-","-...","-.-.","-..",".","..-.",
"--.","....","..",".---","-.-",".-..",
"--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-",
"-.--","--..",".-","-...","-.-.","-..",
".","..-.","--.","....","..",".---",
"-.-",".-..","--","-.","---",".--.",
"--.-",".-.","...","-","..-","...-",
".--","-..-","-.--","--.."," ",".-.-.-",
"--..--","..--..","---...","-....-","!");

form.output.value = "";
var input = form.input.value;
output = "";
for(count = 0; count < input.length; count++) {
daChar = input.charAt(count);
for (i = 0; i < letters.length; i++) {
if (daChar == letters.charAt(i)) {
output += morse[i];
break;
}
}
}
form.output.value = output;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table>
<tr>
<td align=center>
Напечатайте фразу латинскими буквами<br>
<textarea name=input cols=50 rows=4 wrap=physical></textarea>
</td>
</tr>
<tr>
<td align=center>
<input type=button value="Перевести!" onClick="javascript:translate(this.form)">
</td>
</tr>
<tr>
<td align=center>
<textarea name=output cols=50 rows=4 wrap=physical></textarea>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Game61

СЕМАФОР
К сожалению, я понятия не имею о морской семафорной азбуке (по-моему даже название переврал). Так что адаптировать на русский язык очень затрудняюсь. Для тех, кто все же решит это сделать, в таблице белым цветом выделены элементы, которые следует заменить в скрипте на кириллицу.

Введите текст на английском... ...затем нажмите "Старт"

Зациклить Быстрее! (2.5 знака в секунду)

Кстати, скрипт может работать некорректно с ранними версиями IE

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
function init() {
men = new Array(123347,623347,323547,123341,623341,323541,126343,
626343,326543,125343,625343,325543,325843,326843,
323841,325543,326543,323541,625343,626343,623341,
125343,126343,123341,123347,623347,323847)
chr = new Array("", "\\", "O", " ", "|", "/", "_",")","(")
j = 0; part = ''
document.f.txt.value = ''
string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ " //
      ПОСЛЕ Z ОБЯЗАТЕЛЬНО НУЖЕН ПРОБЕЛ
}
function init1() {
document.f.display.value = ""
clearTimeout(tim)
init()
}
function build() {
t = " "
if((j == word.length) && (document.f.cycle.checked)) {j = 0; part = ""}
if(j < word.length) {
let = word.substring(j, j+1)
if(((let >= "A") && (let <=
      "Z")) || let == " ") {
if(part.length < 35) t = t + "\n"
part = part + let
t = t + part + "\n\n        "
s = string.indexOf(let)
str = men[s]; str = "" + str
for(i = 0; i < 3; i++)  t = t + chr[str.substring(i, i+1)]
t = t + "\n        "
for(i = 3; i < 6; i++) t = t + chr[str.substring(i, i+1)]
t = t + "\n      "
if((s == 5) || (s == 7) || (s == 9) || (s == 25)) t = t + "( \\";
else t = t + "/ \\"
j++;
document.f.display.value = t; d = (document.f.speed.checked)? 350 : 500
tim = setTimeout("build()", d)
}
}
}
function begin() {
word = document.f.txt.value.toUpperCase()
if(word.length > 50) word = word.substring(0, 64)
word = "  " + word + " "
build()
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad = "init()">

<center><form name = "f">
<textarea rows=6 cols=35 name="display" wrap="virtual">
Enter some text in the slot below and press Start

Выше дан текст для примера. Скопируйте и вставьте в поле формы</textarea><p>Введите
текст на английском...<input type="text" size=30 name="txt">
...затем нажмите &quot;Старт&quot;<p>
<input type="button" value="Старт" OnClick="begin()">
<input type="button" value="Стоп" name="res" OnClick="init1()">
<input type="checkbox" name="cycle">Зациклить
<input type="checkbox" name="speed">Быстрее! (2.5 знака в
секунду)
</center>
<hr>
Кстати, скрипт может работать некорректно
с ранними версиями IE
</form>
<center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator41

Конвертер
метрическая система <=====> не метрическая система

Очень удобный маленький конвертер! С самыми распространенными на бытовом уровне единицами измерения.

=

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
function array(x) {
for(var i = 0; i < x ; i++) {
this[i] = 0;
}
}
// By G4VWL
function calculate() {
var factor = new array(10);
factor[0] = 0.405; factor[1] = 0.394; factor[2] = 4.546;
factor[3] = 2.471; factor[4] = 2.54; factor[5] = 2.205;
factor[6] = 0.621; factor[7] = 0.22; factor[8] = 1.609;
factor[9] = 0.454;

var units = new array(10);
units[0] = "Гектары"; units[1] = "Дюймы"; units[2] = "Литры";
units[3] = "Акры"; units[4] = "Сантиметры";units[5] = "Фунты";
units[6] = "Мили"; units[7] = "Галлоны"; units[8] ="Километры";
units[9] = "Киллограммы";

var from = document.converter.FromUnits.selectedIndex;
var InValue = document.converter.input.value;
if(InValue == "") return;
if((InValue != 0) && (parseFloat(InValue) == 0)) {
clear();
return;
}
document.converter.result.value = parseFloat(InValue) * factor[from];
document.converter.OutUnits.value = units[from];
}
function reset() {
document.converter.result.value = "";
document.converter.OutUnits.value = "";
}
function clear() {
document.converter.input.value = "";
reset();
}
function help() {
t="Enter a value in the first box, \n Select a unit to convert from";
t=t+"\n and press 'Calculate'";
alert(t);
return;
}
//--->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="converter">
<Table bgcolor=gray border=2><tr><td>
<input type = "text" name="input" size=10 onFocus = "clear()">
<select name="FromUnits" onFocus = "reset()">
<option> Акры
<option> Сантиметры
<option> Галлоны (UK)
<option> Гектары
<option> Дюймы
<option selected> Килограммы
<option> Километры
<option> Литры
<option> Мили
<option> Фунты (вес)
</select>
</font>
<b>
<font size = "+2" color="#FFFFFF"> = </font>
</b>
<font size = "+2" color="#FFFFFF"> </font>
<font size="3" color="#000000">
<input type = "text" name = "result" size = 10>
<input type = "text" name = "OutUnits" size = 12>
<input type = "button" value = "Считать" onClick = "calculate()">
<input type = "button" value = "Help!" onClick = "help()">
</td></tr></table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator44

Калькулятор валют (конвертер)
Насколько Вы понимаете, для использования этого калькулятора необходимо знать текущее соотношение курсов валют разных стран. В этом калькуляторе заложены данные на март 1999 года.

Калькулятор валют
Из | В |
VAN |  | NAAR

austria | Austria
belgium | Belgium
Finland | Finland
france | France
germany | Germany
ireland | Ireland
italy | Italy
luxembourg | Luxembourg
netherlands | Netherlands
Portugal | Portugal
spain | Spain
EURO | EURO

Austria | austria
Belgium | belgium
Finland | Finland
France | france
Germany | germany
Ireland | ireland
Italy | italy
Luxembourg | luxembourg
Netherlands | netherlands
Portugal | Portugal
Spain | spain
EURO | EURO
Кликните здесь для дополнительной информа ции

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--
The Online Euro Calculator was made by Daan Wentink.
Your welcome to grab the code and the flags to put the
calculator on your site. Please include all code.
Any comments are welcome!

E-mail: 	dwentink@hotmail.com
WebSite: 	http://members.xoom.com/cool_design/
http://members.xoom.com/two_faces/

-->
<script LANGUAGE="JavaScript">
<!--
var euro=1
var belgium=40.3399
var germany=1.95583
var finland=5.94573
var france=6.55957
var ireland=0.787564
var italy=1936.27
var luxembourg=40.3399
var netherlands=2.20371
var austria=13.7603
var portugal=200.482
var spain=166.386
curkoers1=netherlands
curkoers2=euro

function calculate() {
afrond=Math.round((curkoers2/curkoers1)*document. euroform.koers1.value*100)
uitkomst=''+afrond/100+''
loc=uitkomst.indexOf(".");
if (loc>0) {uitkomst=uitkomst+"00"; uitkomst=uitkomst.substring(0,loc+3);}
document.euroform.koers2.value=uitkomst;
}
function changefrom(land) {
eval("curkoers1="+land);
document.images["koersvan"].src=land+".gif"
calculate();
}
function changeto(land) {
eval("curkoers2="+land);
document.images["koersnaar"].src=land+".gif"
calculate();
}
function showinfo() {
code='<html><head><title>Info about the Oonline Euro Calculator</title></head>
      <body bgcolor="#000080" text="#ddeeff" link="#ffff00" vlink="#ffff00" alink="#ffffff"><table width=100% height=100% cellspacing=0 cellpadding=0 border=0><tr><td valign=top><font face="arial" size="2">'
code=code+"March 5, 1999<P>Click on the flags from the crountries from which or to which you wish to calculate. For example: If you want to know how much 1 Euro is worth in the Netherlands in the list on the right, type '1' in the first textbox, click in the left list on the EURO-sign, click on the flag next to 'Netherlands'. <P>"
code=code+'The Online Euro Calculator was made by Daan Wentink.<P>Your welcome to grab the code and the flags to put the calculator on your site.
      But please include this information with it. Any comments are welcome!<P>E-mail: <a href="mailto:dwentink@hotmail.com"
      style="text-decoration:none  ">dwentink@hotmail.com</a>
      <BR>WebSite: <a href="http://members.xoom.com/cool_design/" target="_blank" style="text-decoration:none">Cool Design Award WebSite</a></font></td></tr>'
code=code+'<tr><td align=center valign=bottom><font face="arial" size="2"><b><font size=3>&lt;</font><a href="javascript:window.close();" style="text-decoration:none;">OK</a><font size=3>&gt;</font></b></font>
      </td></tr></table></body>
      </html>'
info=window.open("","info","width=450,height=350,  status=no,menubar=no,
      scrollbars=yes,resizable=yes, left=100,top=100");
info.document.open();
info.document.write(code);
info.document.close();
}

//-->
</script>
<style>
<!--
#toblue a:hover{
background-color:blue;
color:white;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table BORDER="1" BGCOLOR="#000080" CELLSPACING="0" CELLPADDING="2">
<tr>
<td ALIGN="center" COLSPAN="2"><font face="Arial" color="#FFFFFF" size="3"><strong><big>Калькулятор
валют</big></strong></font></td>
</tr>
<tr>
<td ALIGN="center" COLSPAN="2"><form NAME="euroform">
<table BORDER="0" CELLSPACING="0" WIDTH="100%">
<tr>
<td VALIGN="middle"><font face="Arial" color="#FFFFFF" size="3"><strong><small>Из</small> </strong></font></td>
<font size="3" color="#000000">
<td VALIGN="middle"></td>
<td VALIGN="middle"></td>
</font>
<td VALIGN="middle"><font face="Arial" color="#FFFFFF" size="3"><strong><small>В&nbsp; </small></strong></font></td>
<font size="3" color="#000000">
<td VALIGN="middle"></td>
</tr>
<tr>
<td VALIGN="middle"><font color="#FFFFFF"><img SRC="netherlands.gif" WIDTH="33"
HEIGHT="21" ALT="VAN" NAME="koersvan"></font></td>
<td VALIGN="middle"><font color="#FFFFFF"><input TYPE="text" NAME="koers1" SIZE="12"></font></td>
<td VALIGN="middle"><font color="#FFFFFF"><input TYPE="button" VALUE="&gt;&gt;"
NAME="bereken" ONCLICK="calculate()"></font></td>
<td VALIGN="middle"><font color="#FFFFFF"><input TYPE="text" NAME="koers2" SIZE="12"></font></td>
<td VALIGN="middle"><font color="#FFFFFF"><img SRC="euro.gif" WIDTH="33" HEIGHT="21"
ALT="NAAR" NAME="koersnaar"></font></td>
</tr>
</table>
</form>
</font>
</td>
</tr>
<tr>
<td><table BORDER="0" CELLSPACING="0">
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('austria');"><img
SRC="austria.gif" WIDTH="33" HEIGHT="21" ALT="austria" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Austria</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('belgium');"><img
SRC="belgium.gif" WIDTH="33" HEIGHT="21" ALT="belgium" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Belgium</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('finland');"><img
SRC="finland.gif" WIDTH="33" HEIGHT="21" ALT="Finland" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Finland</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('france');"><img SRC="france.gif"
WIDTH="33" HEIGHT="21" ALT="france" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">France</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('germany');"><img
SRC="germany.gif" WIDTH="33" HEIGHT="21" ALT="germany" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Germany</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('ireland');"><img
SRC="ireland.gif" WIDTH="33" HEIGHT="21" ALT="ireland" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Ireland</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('italy');"><img
SRC="italy.gif" WIDTH="33" HEIGHT="21" ALT="italy" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Italy</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('luxembourg');"><img
SRC="luxembourg.gif" WIDTH="33" HEIGHT="21" ALT="luxembourg" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Luxembourg</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('netherlands');"><img
SRC="netherlands.gif" WIDTH="33" HEIGHT="21" ALT="netherlands" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Netherlands</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('portugal');"><img
SRC="portugal.gif" WIDTH="33" HEIGHT="21" ALT="Portugal" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Portugal</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('spain');"><img
SRC="spain.gif"
WIDTH="33" HEIGHT="21" ALT="spain" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">Spain</font></td>
</tr>
<tr>
<td><font color="#FFFFFF"><a HREF="javascript:changefrom('euro');"><img
SRC="euro.gif"
WIDTH="33" HEIGHT="21" ALT="EURO" BORDER="0"></a></font></td>
<td><font face="Arial" color="#FFFFFF">EURO</font></td>
</tr>
</table>
</td>
<td ALIGN="right"><table BORDER="0" CELLSPACING="0">
<tr>
<td><font face="Arial" color="#FFFFFF">Austria</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('austria');"><img
SRC="austria.gif"
WIDTH="33" HEIGHT="21" ALT="austria" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Belgium</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('belgium');"><img
SRC="belgium.gif"
WIDTH="33" HEIGHT="21" ALT="belgium" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Finland</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('finland');"><img
SRC="finland.gif"
WIDTH="33" HEIGHT="21" ALT="Finland" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">France</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('france');"><img
SRC="france.gif"
WIDTH="33" HEIGHT="21" ALT="france" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Germany</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('germany');"><img
SRC="germany.gif"
WIDTH="33" HEIGHT="21" ALT="germany" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Ireland</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('ireland');"><img
SRC="ireland.gif"
WIDTH="33" HEIGHT="21" ALT="ireland" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Italy</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('italy');"><img
SRC="italy.gif"
WIDTH="33" HEIGHT="21" ALT="italy" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Luxembourg</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('luxembourg');"><img
SRC="luxembourg.gif" WIDTH="33" HEIGHT="21" ALT="luxembourg" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Netherlands</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('netherlands');"><img
SRC="netherlands.gif" WIDTH="33" HEIGHT="21" ALT="netherlands" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Portugal</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('portugal');"><img
SRC="portugal.gif" WIDTH="33" HEIGHT="21" ALT="Portugal" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">Spain</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('spain');"><img
SRC="spain.gif"
WIDTH="33" HEIGHT="21" ALT="spain" BORDER="0"></a></font></td>
</tr>
<tr>
<td><font face="Arial" color="#FFFFFF">EURO</font></td>
<td><font color="#FFFFFF"><a HREF="javascript:changeto('euro');"><img
SRC="euro.gif"
WIDTH="33" HEIGHT="21" ALT="EURO" BORDER="0"></a></font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td COLSPAN="2" align="center"><font face="Arial" color="#FFFFFF" size="3"><a
HREF="javascript:showinfo();" STYLE="color: rgb(255,255,0); text-decoration: none"><small>Кликните
здесь для дополнительной информа</small></a><small><a style="color: rgb(255,255,0); text-decoration: none">ц</a></small><a style="color: rgb(255,255,0); text-decoration: none"><small>ии</small></a></font></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: calculator.zip


Ecv4

Градусы <---> Радианы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Sam Tyler (sykicphyst@aol.com) -->
<!-- Web Site: http://members.aol.com/sykicphyst/hell/hellhouse.html -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function ra_de() {
var pi = Math.PI;
var ra_de = ((eval(document.forms[0].RADE.value))*(180/pi));
document.forms[0].RADE.value = ra_de;
}
function de_ra() {
var pi = Math.PI;
var de_ra = ((eval(document.forms[0].RADE.value))*(pi/180));
document.forms[0].RADE.value = de_ra;
}
function resetRADE() {
document.forms[0].RADE.value="0";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<INPUT TYPE=Button VALUE="Радианы в градусы" onClick="ra_de()"><INPUT TYPE=Button VALUE="Градусы в радианы" onClick="de_ra()"><br>
<INPUT NAME="RADE" TYPE="Text" VALUE="0" SIZE=25></FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv14

Давление
(конвертер единиц измерения)

Давление
Введите величину давления: Выберите "Из" какой системы "В" какую переведить, нажмите "Конвертировать":
Из: | megadynes/ sq cm | kg/ sq cm | lb/ sq in | atmos- pheres | Hg* Meters | Hg* Inches | H2O* Meters | H20* Inches | H20* Feet
В: | megadynes/ sq cm | kg/ sq cm | lb/ sq in | atmos- pheres | Hg* Meters | Hg* Inches | H2O* Meters | H2O* Inches | H20* Feet
*Standard columns of Mercury at 0o C, g = 980.665 cm/sec/sec Standard columns of Water at 60o F, g = 32.1756 ft/sec/sec

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Cut-N-Paste JavaScript Copyright 1996 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
/* Please don't ask about this work-around. It works... We're sure arrays
will be better supported soon. */
var isn09 = new initArray("4b","5b","8b","8b");
isn09[0] = "~01~11.0197~214.5~30.9869~40.7501~529.53~610.21~7401.8~833.49~9";
isn09[1] = "~00.9807~11~214.22~30.9678~40.7356~528.96~610.01~7394.1~832.84~9";
isn09[2] = "~00.06895~10.07031~21~30.06805~40.05171~52.036~60.7037~727.7~82.309~9";
isn09[3] = "~01.0133~11.0332~214.7~31~40.76~529.92~610.34~7407.1~833.93~9";
isn09[4] = "~01.3332~11.3595~219.34~31.316~41~539.37~613.61~7535.7~844.64~9";
isn09[5] = "~00.03386~10.03453~20.4912~30.03342~40.0254~51~60.3456~713.61~81.134~9";
isn09[6] = "~00.09798~10.09991~21.421~30.0967~40.07349~52.893~61~739.37~83.281~9";
isn09[7] = "~00.002489~10.002538~20.03609~30.002456~40.001867~50.07349~60.02540~71~80.083333~9";
isn09[8] = "~00.02986~10.03045~20.4331~30.02947~40.0224~50.8819~60.3048~712~81~9";
function preCon() {
// First, get the variables checked by the user
for (var i = 0; i < 9; i++) {
if (document.isnform09.prei[i].checked) {
prei = i;
preinm = document.isnform09.prei[i].value;
}
}
for (var i = 0; i < 9; i++) {
if (document.isnform09.preo[i].checked) {
preo = i;
preonm = document.isnform09.preo[i].value;
}
}
// Now grab the numeric input by user and parse to be sure numeric
useri = document.isnform09.preinp.value;
if (useri == 0) {
useri = 1;
document.isnform09.preinp.value = useri;
}
mulstr = isn09[prei];
picker = "~" + preo;
ps = mulstr.indexOf(picker);
preo++;
picker = "~" + preo;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
// Correct for binary/floating point conversion error
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + preinm + " = " + picker + " " + preonm
document.isnform09.preout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=10 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform09">
</font>
<font color="blue" size="3"><b>Давление</b></font></TD></TR>
<TR><TD COLSPAN=10 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину давления:
<INPUT TYPE="text" NAME="preinp" SIZE=30 VALUE="" onChange="preCon();"><BR>Выберите
&quot;Из&quot; какой системы &quot;В&quot; какую
переведить, нажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">И</font><font color="#FF0000">з</font></b><font color="#FF0000"><B>:</B></font></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">megadynes/<BR>sq cm<BR><INPUT TYPE="radio" NAME="prei" VALUE="megadynes/sq cm" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">kg/<BR>sq cm<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="kg/sq cm" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">lb/<BR>sq in<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="lb/sq in" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">atmos-<BR>pheres<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="atmospheres" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hg*<BR>Meters<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="Std Hg Col Meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hg*<BR>Inches<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="Std Hg Col Inches" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H2O*<BR>Meters<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="Std H20 Col Meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H20*<BR>Inches<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="Std H20 Col Inches" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H20*<BR>Feet<BR>
<INPUT TYPE="radio" NAME="prei" VALUE="Std H20 Col Feet" onClick = "">
</font>
</TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2" color="#FF0000"><b>В:</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">megadynes/<BR>sq cm<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="megadynes/sq cm" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">kg/<BR>sq cm<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="kg/sq cm" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">lb/<BR>sq in<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="lb/sq in" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">atmos-<BR>pheres<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="atmospheres" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hg*<BR>Meters<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="Std Hg Col Meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hg*<BR>Inches<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="Std Hg Col Inches" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H2O*<BR>Meters<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="Std H20 Col Meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H2O*<BR>Inches<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="Std H20 Col Inches" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">H20*<BR>Feet<BR>
<INPUT TYPE="radio" NAME="preo" VALUE="Std H20 Col Feet" onClick = "">
</font>
</TD></TR>
<font size="3" color="#000000">
<TR><TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="preCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="preout" SIZE=60 VALUE="" onClick="preCon();"><BR>*Standard columns of Mercury at 0<SUP>o</SUP> C, <I>g</i> = 980.665 cm/sec/sec<BR> Standard columns of Water at 60<SUP>o</SUP> F, <I>g</I> = 32.1756 ft/sec/sec
</FONT></TD></TR>
</TABLE></FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv8

Длина (расстояние)

Длина (расстояние)
Введите величину расстояния: Выберите "Из" какой системы "В" какую переводить, нажмите "Конвертировать":
Из: | Centimeters | Inches | Feet | Yards | Meters | Chains | Kilometers | Miles
В: | Centimeters | Inches | Feet | Yards | Meters | Chains | Kilometers | Miles

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste JavaScript

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var isn01 = new initArray("4b","5b","8b","8b");
isn01[0] = "~01~10.3937~20.03281~30.01094~40.01~50.0004971~60.00001~70.000006214~8";
isn01[1] = "~02.540~11~20.08333~30.02778~40.0254~50.001263~60.0000254~70.00001578~8";
isn01[2] = "~030.48~112~21~30.3333~40.3048~50.01515~60.0003048~70.0001894~8";
isn01[3] = "~091.44~136~23~31~40.9144~50.04545~60.0009144~70.0005682~8";
isn01[4] = "~0100~139.37~23.281~31.0936~41~50.04971~60.001~70.0006214~8";
isn01[5] = "~02012~1792~266~322~420.12~51~60.0212~70.0125~8";
isn01[6] = "~0100000~139370~23281~31093.6~41000~549.71~61~70.6214~8";
isn01[7] = "~0160934~163360~25280~31760~41609~580~61.609~71~8";
function lenCon() {
for (var i = 0; i < 8; i++) {
if (document.isnform01.leni[i].checked) {
leni = i;
leninm = document.isnform01.leni[i].value;
}
}
for (var i = 0; i < 8; i++) {
if (document.isnform01.leno[i].checked) {
leno = i;
lenonm = document.isnform01.leno[i].value;
}
}
useri = document.isnform01.leninp.value;
if (useri == 0) {
useri = 1;
document.isnform01.leninp.value = useri;
}
mulstr = isn01[leni];
picker = "~" + leno;
ps = mulstr.indexOf(picker);
leno++;
picker = "~" + leno;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {

ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + leninm + " = " + picker + " " + lenonm
document.isnform01.lenout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 height="193">
<TR><TD COLSPAN=9 ALIGN=CENTER height="19"><FORM NAME="isnform01">
</font>
<font color="blue" size="3"><b>Длина (расстояние)</b></font></TD></TR>
<TR><TD COLSPAN=9 VALIGN=TOP height="38"><font color="#000000" size="2">Введите
величину расстояния:
<INPUT TYPE="text" NAME="leninp" SIZE=30 VALUE="" onChange="lenCon();"><BR>
Выберите &quot;Из&quot;
какой системы &quot;В&quot; какую переводить,
нажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER height="29"><font size="2"><b><font color="red">Из</font><font color="#000000"><FONT COLOR="red">:</FONT></font></b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Centimeters<BR><INPUT TYPE="radio" NAME="leni" VALUE="Centimeters" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Inches<BR><INPUT TYPE="radio" NAME="leni" VALUE="Inches" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Feet<BR><INPUT TYPE="radio" NAME="leni" VALUE="Feet" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Yards<BR><INPUT TYPE="radio" NAME="leni" VALUE="Yards" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Meters<BR><INPUT TYPE="radio" NAME="leni" VALUE="Meters" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Chains<BR><INPUT TYPE="radio" NAME="leni" VALUE="Chains" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Kilometers<BR><INPUT TYPE="radio" NAME="leni" VALUE="Kilometers" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Miles<BR><INPUT TYPE="radio" NAME="leni" VALUE="Miles" onClick = ""></font></TD></TR>
<TR><TD ALIGN=CENTER height="29"><font size="2"><b><font color="red">В</font><font color="#000000"><FONT COLOR="red">:</font></font></b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Centimeters<BR><INPUT TYPE="radio" NAME="leno" VALUE="Centimeters" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Inches<BR><INPUT TYPE="radio" NAME="leno" VALUE="Inches" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Feet<BR><INPUT TYPE="radio" NAME="leno" VALUE="Feet" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Yards<BR><INPUT TYPE="radio" NAME="leno" VALUE="Yards" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Meters<BR><INPUT TYPE="radio" NAME="leno" VALUE="Meters" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Chains<BR><INPUT TYPE="radio" NAME="leno" VALUE="Chains" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Kilometers<BR><INPUT TYPE="radio" NAME="leno" VALUE="Kilometers" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP height="29"><font size="2">Miles<BR><INPUT TYPE="radio" NAME="leno" VALUE="Miles" onClick = ""></font></TD></TR>
<TR><TD COLSPAN=9 ALIGN=CENTER VALIGN=TOP height="48"><FONT SIZE=1><INPUT TYPE="button" VALUE="Конвертировать" onClick="lenCon();"> <INPUT TYPE="reset" VALUE="Сброс"><BR><INPUT TYPE="text" NAME="lenout" SIZE=60 VALUE="" onClick="lenCon();">
</FONT></TD></TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv5

Енергия
(конвертер единиц измерения)

Енергия
Введите величину энергии: Выбирите "Из" какой системы "В" какую переводить, нажмите "Конвертировать":
Из: | Joules | Kg-meters | Ft-lbs | Kw-hrs | Metric Hp-hrs | US Hp-hrs | Liter-atm | K-cal | Btu
В: | Joules | Kg-meters | Ft-lbs | Kw-hrs | Metric Hp-hrs | US Hp-hrs | Liter-atm | K-cal | Btu

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste JavaScript

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var isn10 = new initArray("4b","5b","8b","8b");
isn10[0] = "~01~10.10197~20.7376~32.778e-7~43.777e-7~53.725e-7~60.009869~70.0002388~80.0009478~9";
isn10[1] = "~09.80665~11~27.233~32.724e-6~43.7037e-6~53.653e-6~60.09678~70.002342~80.009295~9";
isn10[2] = "~01.356~10.1383~21~33.766e-7~45.1206e-7~55.0505e-7~60.01338~70.0003238~80.001285~9";
isn10[3] = "~03.6e6~13.671e5~22.655e6~31~41.3596~51.341~635528~7859.9~83412~9";
isn10[4] = "~02.648e6~12.7e5~21.9529e6~30.7355~41~50.9863~626131~7632.4~82510~9";
isn10[5] = "~02.6845e6~12.7375e5~21.98e6~30.7457~41.0139~51~626493~7641.2~82544~9";
isn10[6] = "~0101.333~110.333~274.74~32.815e-5~43.827e-5~53.775e-5~61~70.0242~80.09604~9";
isn10[7] = "~04187~1426.9~23088~30.001163~40.001581~50.001560~641.32~71~83.968~9";
isn10[8] = "~01055~1107.6~2778.2~32.931e-4~43.985e-4~53.93e-4~610.41~70.252~81~9";
function eneCon() {
for (var i = 0; i < 9; i++) {
if (document.isnform10.enei[i].checked) {
enei = i;
eneinm = document.isnform10.enei[i].value;
}
}
for (var i = 0; i < 9; i++) {
if (document.isnform10.eneo[i].checked) {
eneo = i;
eneonm = document.isnform10.eneo[i].value;
}
}
useri = document.isnform10.eneinp.value;
if (useri == 0) {
useri = 1;
document.isnform10.eneinp.value = useri;
}
mulstr = isn10[enei];
picker = "~" + eneo;
ps = mulstr.indexOf(picker);
eneo++;
picker = "~" + eneo;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + eneinm + " = " + picker + " " + eneonm
document.isnform10.eneout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486>
<TR><TD COLSPAN=10 ALIGN=CENTER><FORM NAME="isnform10">
</font>
<font color="blue" size="3"><b>Енергия</b></font></TD></TR>
<TR><TD COLSPAN=10 VALIGN=TOP><font size="2"><font color="#000000">Введите
величину энергии</font><font size="3" color="#000000">:
<INPUT TYPE="text" NAME="eneinp" SIZE=30 VALUE="" onChange="eneCon();"><BR>Выбирите
&quot;Из&quot; какой системы &quot;В&quot; какую
переводить, нажмите &quot;Конвертировать&quot;:</font></font></TD></TR>
<TR><TD ALIGN=CENTER><font size="2"><b><font color="red">Из</font><FONT COLOR="red">:</FONT></b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Joules<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Joules" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Kg-meters<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Kg-meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Ft-lbs<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Ft-lbs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Kw-hrs<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Kw-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Metric Hp-hrs<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Metric Hp-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">US Hp-hrs<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="US Hp-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Liter-atm<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Liter-atm" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">K-cal<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="K-cal" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Btu<BR>
<INPUT TYPE="radio" NAME="enei" VALUE="Btu" onClick = "">
</font>
</TD></TR>
<TR><TD ALIGN=CENTER><font size="2"><b><font color="red">В</font><font color="#000000">:
</font>
</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Joules<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Joules" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Kg-meters<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Kg-meters" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Ft-lbs<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Ft-lbs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Kw-hrs<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Kw-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Metric Hp-hrs<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Metric Hp-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">US Hp-hrs<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="US Hp-hrs" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Liter-atm<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Liter-atm" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">K-cal<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="K-cal" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP><font size="2" color="#000000">Btu<BR>
<INPUT TYPE="radio" NAME="eneo" VALUE="Btu" onClick = "">
</font>
</TD></TR>
<font size="3" color="#000000">
<TR><TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="eneCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR><INPUT TYPE="text" NAME="eneout" SIZE=60 VALUE="" onClick="eneCon();">
</FONT></TD></TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv9

Масса
(конвертер единиц измерения)

Масса
Введите величину массы: Выберите "Из" какой системы "В" какую переводить, нажмите "Конвертировать:
Из: | Kilograms Э | Grains Э | Troy Ounces | Avoirdupois Ounces* | Troy Pounds | Avoirdupois Pounds* | Short Tons | Long Tons | Metric Tons
В: | Kilograms Э | Grains Э | Troy Ounces | Avoirdupois Ounces* | Troy Pounds | Avoirdupois Pounds* | Short Tons | Long Tons | Metric Tons
* Also known as Apothecary Ounces and Pounds

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
/* Please don't ask about this work-around. It works... We're sure arrays
will be better supported soon. */
var isn06 = new initArray("4b","5b","8b","8b");
isn06[0] = "~01~115432~232.15~335.27~42.6792~52.205~60.001102~70.0009842~80.001~9";
isn06[1] = "~06.48e-5~11~20.002083~30.002286~40.0001736~50.0001429~67.143e-8~76.378e-8~86.48e-8~9";
isn06[2] = "~00.0311~1480~21~31.09714~40.083333~50.06857~63.429e-5~73.061e-5~83.11e-5~9";
isn06[3] = "~00.02835~1437.5~20.9115~31~40.07595~50.0625~63.125e-5~72.79e-5~82.835e-5~9";
isn06[4] = "~00.3732~15760~212~313.17~41~50.8229~64.114e-4~73.673e-4~83.732e-4~9";
isn06[5] = "~00.4536~17000~214.58~316~41.215~51~60.0005~74.464e-4~84.536e-4~9";
isn06[6] = "~0907.2~114000000~229167~332000~42431~52000~61~70.8929~80.9072~9";
isn06[7] = "~01016~115680000~232667~335840~42722~52240~61.12~71~81.016~9";
isn06[8] = "~01000~115432356~232151~335274~42679~52205~61.102~70.9842~81~9";
function masCon() {
for (var i = 0; i < 9; i++) {
if (document.isnform06.masi[i].checked) {
masi = i;
masinm = document.isnform06.masi[i].value;
}
}
for (var i = 0; i < 9; i++) {
if (document.isnform06.maso[i].checked) {
maso = i;
masonm = document.isnform06.maso[i].value;
}
}
useri = document.isnform06.masinp.value;
if (useri == 0) {
useri = 1;
document.isnform06.masinp.value = useri;
}
mulstr = isn06[masi];
picker = "~" + maso;
ps = mulstr.indexOf(picker);
maso++;
picker = "~" + maso;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + masinm + " = " + picker + " " + masonm
document.isnform06.masout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=10 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform06">
</font>
<font color="blue" size="3"><b>Масса</b></font></TD></TR>
<TR><TD COLSPAN=10 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину массы:
<INPUT TYPE="text" NAME="masinp" SIZE=30 VALUE="" onChange="masCon();"><BR>Выберите
&quot;Из&quot; какой системы &quot;В&quot; какую
переводить, нажмите &quot;Конвертировать:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>Из:</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Kilograms<BR>Э<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Kilograms" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Grains<BR>Э<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Grains" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Troy Ounces<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Troy Ounces" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Avoirdupois Ounces*<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Avoirdupois Ounces" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Troy Pounds<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Troy Pounds" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Avoirdupois Pounds*<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Avoirdupois Pounds" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Short Tons<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Short Tons" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Long Tons<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Long Tons" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Metric Tons<BR>
<INPUT TYPE="radio" NAME="masi" VALUE="Metric Tons" onClick = ""></font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>В:</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Kilograms<BR>Э<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Kilograms" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Grains<BR>Э<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Grains" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Troy Ounces<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Troy Ounces" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Avoirdupois Ounces*<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Avoirdupois Ounces" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Troy Pounds<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Troy Pounds" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Avoirdupois Pounds*<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Avoirdupois Pounds" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Short Tons<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Short Tons" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Long Tons<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Long Tons" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Metric Tons<BR>
<INPUT TYPE="radio" NAME="maso" VALUE="Metric Tons" onClick = ""></font></TD></TR>
<font size="3" color="#000000">
<TR><TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="masCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="masout" SIZE=60 VALUE="" onClick="masCon();"><BR>
* Also known as Apothecary Ounces and Pounds
</FONT></TD></TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv10

Метрология
(конвертер единиц измерения)

Метрологические эквиваленты
Введите величину: Выберите "Из" какой системы "В" какую переводить, ннажмите "Конвертировать":
Из: | Angstrom Units | Surface Microinch | Surface Microns | Light Bands* | Precision tenths | Close Tol. thousandths | MeTRic Milimeters | U.S. Inches
В: | AngsTRom Units | Surface Microinches | Surface Microns | Light Bands* | Precision tenths | Close Tol. thousandths | MeTRic Milimeters | U.S. Inches
* Monochromatic helium count

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste Javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
/* Please don't ask about this work-around. It works... We're sure arrays
will be better supported soon. */
var isn02 = new initArray("4b","5b","8b","8b");
isn02[0] = "~01~10.003937~20.0001~30.0003404~40.00003937~50.000003937~60.0000001~70.000000003937~8";
isn02[1] = "~0254~11~20.0254~30.086~40.01~50.001~60.0000254~70.000001~8";
isn02[2] = "~010~139.37~21~33.404~40.3937~50.03937~60.001~70.00003937~8";
isn02[3] = "~02937.5~111.566~20.29375~31~40.11566~50.011566~60.00029375~70.000011566~8";
isn02[4] = "~025400~1100~22.54~38.646~41~50.1~60.00254~70.0001~8";
isn02[5] = "~0254000~11000~225.4~386.46~410~51~60.0254~70.001~8";
isn02[6] = "~010000000~139370~21000~33404~4393.7~539.37~61~70.03937~8";
isn02[7] = "~0254000000~11000000~225400~386460~410000~51000~625.4~71~8";
function metCon() {
// First, get the variables checked by the user
for (var i = 0; i < 8; i++) {
if (document.isnform02.meti[i].checked) {
meti = i;
metinm = document.isnform02.meti[i].value;
}
}
for (var i = 0; i < 8; i++) {
if (document.isnform02.meto[i].checked) {
meto = i;
metonm = document.isnform02.meto[i].value;
}
}
// Now grab the number input by user and parse to be sure numeric
useri = document.isnform02.metinp.value;
if (useri == 0) {
useri = 1;
document.isnform02.metinp.value = useri;
}
mulstr = isn02[meti];
picker = "~" + meto;
ps = mulstr.indexOf(picker);
meto++;
picker = "~" + meto;
ps1 = mulstr.indexOf(picker);
mulsTR = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
// Correct for binary/floating point conversion error
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + metinm + " = " + picker + " " + metonm
document.isnform02.metout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=9 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform02">
</font>
<font color="blue" size="3"><b>Метрологические
эквиваленты</b></font></TD></TR>
<TR><TD COLSPAN=9 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину:
<INPUT TYPE="text" NAME="metinp" SIZE=30 VALUE="" onChange="metCon();"><BR>Выберите
&quot;Из&quot; какой системы &quot;В&quot; какую
переводить, ннажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>Из:</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Angstrom Units<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Angstrom Units" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Surface Microinch<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Surface Microinch" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Surface Microns<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Surface Microns" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Light Bands*<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Light Bands" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Precision tenths<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Precision tenths" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Close Tol. thousandths<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="Close Tol. thousandths" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">MeTRic Milimeters<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="MeTRic Milimeters" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">U.S. Inches<BR>
<INPUT TYPE="radio" NAME="meti" VALUE="U.S. Inches" onClick = ""></font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>В:</b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">AngsTRom Units<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="AngsTRom Units" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Surface Microinches<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="Surface Microinches" CHECKED onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Surface Microns<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="Surface Microns" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Light Bands*<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="Light Bands" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Precision tenths<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="Precision tenths" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Close Tol. thousandths<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="Close Tol. thousandths" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">MeTRic Milimeters<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="MeTRic Milimeters" onClick = ""></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">U.S. Inches<BR>
<INPUT TYPE="radio" NAME="meto" VALUE="U.S. Inches" onClick = ""></font></TD></TR>
<font size="3" color="#000000">
<TR><TD COLSPAN=9 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="metCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="metout" SIZE=60 VALUE="" onClick="lenCon();"><BR>* Monochromatic helium count
</FONT></TD></TR>
</TABLE></FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv3

Конвертер систем счисления

Двоичная:
3:
4:
8:
10:
16:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike Maloney -->
<!-- Web Site: http://nfg.natfuel.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
function CKparseInt(n, r) {
for (var i = 0; i < n.length; ++i)
if (n.charAt(i) >= r) {
alert("Невозможная цифра для данной системы счисления");
return 0;
}
if (isNaN(M = parseInt(n, r)))
alert ("Введите какую-нибудь цифру!");
return M;
}
// decimal to any other base 2 to 16
function DecimaltoAnother(A, radix) {
s = "";
while (A >= radix) {
s += hex[A % radix]; // remainder
A = Math.floor(A / radix); // quotient, rounded down
}
return transpose(s += hex[A]);
}
// string reversal
function transpose(s) {
N = s.length;
for (i = 0,t = ""; i < N; i++)
t += s.substring(N-i-1, N-i); // s.substring(from, to)
return t;
}
// convert item.value using radix
function EvalAny(item, r) {
M = CKparseInt(item.value, r); // check this one
for (var i = 0, MyForm = document.forms[0]; i < MyForm.length; ++i) // re-evaluate all
MyForm.elements[i].value = DecimaltoAnother(M, MyForm.elements[i].name.substr(1,3));
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<p><br>
<form method="post">
<table border=0 align=center>
<tr>
<td align=right><p>Двоичная:</p></td>
<td><input name="b002" value="0" onChange="EvalAny(this, 2)" size=27></input></td>
</tr>
<tr>
<td align=right>3:</td>
<td><input name="t003" value="0" onChange="EvalAny(this, 3)" size=21></input></td>
</tr>
<tr><td align=right>4:</td>
<td><input name="q005" value="0" onChange="EvalAny(this, 5)" size=16></input></td>
</tr>
<tr>
<td align=right>8:</td>
<td><input name="o008" value="0" onChange="EvalAny(this, 8)" size=12></input></td>
</tr>
<tr>
<td align=right>10:</td>
<td><input name="d010" value="0" onChange="EvalAny(this, 10)" size=11></input></td>
</tr>
<tr>
<td align=right>16:</td>
<td><input name="h016" value="0" onChange="EvalAny(this, 16)" size=8></input></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Mat5

Калькулятор - переводчик в разные системы счисления

(конвертирует число, записанное в любой системе счисления в любую другую систему счисления)

Конвертируемое число
В какой системе оно записано (16 - если в шеснадцатиричной, 10 - десятичной, 2 - двоичной и т.д.)
В какую систему переводить (16 - если в шеснадцатиричную, 10 - десятичную, 2 - двоичную и т.д.)

Результат конвертирования

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">

// script by Lars Peter Thomsen
//For this script and more
//Visit http://wsabstract.com

function convert() {
input=(document.formcon.Input.value);
origin=(document.formcon.Origin.value);
dest=(document.formcon.Destination.value);
base="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
c=0; Result="";
for (t=1; t<=input.length; t++) {
b=base.indexOf(input.substring(t-1,t));
n=b*(Math.pow (origin, input.length-t));
c+=n;
}

a=100;
while (c < Math.pow (dest, a)) { a--; }

while (a>-1) {
e=Math.pow (dest, a);
a--;
d=((c-(c%e))/e)+1;
c=c%e; Ciffer=base.substring(d-1, d); Result = Result + Ciffer;
}
document.formcon.output.value=Result;
}
</script>

<form name="formcon">
<input type="text" name="Input" size="8">
</font>
<font size="2" face="Arial">Конвертируемое число</font>
<font size="4" color="#FF0000">
<br>
<input type="text" name="Origin" size="2">
</font>
<font size="2" face="Arial">В какой системе оно записано
(16 - если в шеснадцатиричной, 10 - десятичной, 2
- двоичной и т.д.)</font>
<font size="4" color="#FF0000">
<br>
<input type="text" name="Destination" size="2">
</font>
<font face="Arial" size="2">В какую систему переводить
(16 - если в шеснадцатиричной, 10 - десятичной, 2
- двоичной и т.д.)</font>
<font size="4" color="#FF0000">
<br>
<input type="button"
onClick="convert(this.form.Input.value,this.form.Origin.value,this.form.Destination.value)" value="Считать!" style="font-size: 8pt; font-family: Arial"><br>
<input type="text" name="output" size="8">
</font>
<font size="2" face="Arial">Результат конвертирования</font>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Math20

Конвертер систем счисления универсальный 2

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">
<!-- hiding content from old browsers

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.
// Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http://www.geocities.com/~yehuda/

// Simulate the "power of" (^) operator
/////////////////////////////////////////

function power(op1, op2) {
var result = 1
for (var i = 1; i <= op2; i++) {
result *= op1
}
return result
}

// Simulate the div (integral division)
// operator
/////////////////////////////////////////

function div(op1, op2) {
return Math.round(op1 / op2 - op1 % op2 / op2)
}

// Returns a digit (maximum hexadecimal)
// based on its decimal value
/////////////////////////////////////////

function getDigit(val) {
if (val == 10) return "A"
if (val == 11) return "B"
if (val == 12) return "C"
if (val == 13) return "D"
if (val == 14) return "E"
if (val == 15) return "F"
return val
// the return statement terminates the function,
// so there is no need for else statements
}

// Returns the decimal value of a digit
// (maximum hexadecimal)
/////////////////////////////////////////

function getValue(dig) {
if (dig == "A") return 10
if (dig == "B") return 11
if (dig == "C") return 12
if (dig == "D") return 13
if (dig == "E") return 14
if (dig == "F") return 15
return dig
// the return statement terminates the function,
// so there is no need for else statements
}

// Convert from decimal to specified base
/////////////////////////////////////////

function toBase(num, base) {
var newNum = (num == 0) ? "0" : ""
while (num >= 1) {
newNum = getDigit(num % base) + newNum
num = div(num, base)
}
return newNum
}

// Convert from specified base to decimal
/////////////////////////////////////////

function toDec(num, base) {
if (base == 8)
return parseInt("0" + num)
if (base == 16)
return parseInt("0x" + num)
num = "" + num // convert to string by casting
var numLength = num.length
// the length property returns the length of a string
var newNum = 0 // initialization
// (must be 0 so the sum is not affected)
var curDigit = ""
var contributedValueValue = 0
for (var i = numLength - 1; i >= 0; --i) {
curDigit = num.charAt(i)
contributedValue = getValue(curDigit)
contributedValue *= power(base, numLength - (i + 1))
newNum += parseInt(contributedValue)
}
return newNum
}

// Main function that accepts input and
// calls appropriate functions
/////////////////////////////////////////

function convert(num, base1, base2) {
if (typeof num == "string")
num = num.toUpperCase()
if (base1 == base2)
return num
if (base1 == 10)
return toBase(num, base2)
if (base2 == 10)
return toDec(num, base1)
return toBase(toDec(num, base1), base2)
}

// Create a conversion table
/////////////////////////////////////////

function drawTable(lastNum) {
with (document) {
lastNum = parseInt(lastNum)
write("<TABLE BORDER=3>")
write("<TR><TD COLSPAN=8><CENTER><FONT COLOR=purple SIZE=+4>")
write("Base Converter</FONT></CENTER></TD></TR>")
write("<TR>")
for (var k = 2; k <= 16; k = k + 2) {
write("<TD><CENTER> Base " + k + " </CENTER></TD>")
}
write("</TR>")
for (var i = 0; i <= lastNum; ++i) {
write("<TR>")
for (var j = 2; j <= 16; j = j + 2) {
write("<TD>" + toBase(i, j) + "</TD>")
}
write("</TR>")
}
write("</TABLE>")
}
}

// Gets table's input
/////////////////////////////////////////

function getTableAttributes() {
var message = "Введите число, которое будет конвертировано последним в таблице"
var lastNum = parseInt(prompt(message, 15))
if (lastNum != 0)
drawTable(lastNum)
}

// Convert individual numbers, until the
// user selects cancel on the first
// prompt of the loop
/////////////////////////////////////////

function calcNum() {
while(1) {
var number = prompt("Введите число в любой системе счисления:", 0)
if (number == null)
break
var base1 = prompt("Введите систему счисления для числа, которое Вы ввели:", 10)
if (base1 == null)
continue
base1 = parseInt(base1)
var base2 = prompt("Введите систему счисления, в которую следует
 конвертировать введенное Вами число:", 16)
if (base2 == null)
continue
base2 = parseInt(base2)
var outputString = number + " (base " + base1 + ") = "
outputString += convert(number, base1, base2)
outputString += " (base " + base2 + ")"
alert(outputString)
}
}

// Ask user for conversion device
// (T-table, I-individual values)
/////////////////////////////////////////

function mainInput() {
var message = "Введите (T) для построения таблицы или (V) для "
message += "конвертирования отдельного числа"
var chosenDevice = prompt(message, "T")
if (chosenDevice == "T" || chosenDevice == "t")
getTableAttributes()
else
if (chosenDevice == "V" || chosenDevice == "v")
calcNum()
else
alert("Всего наилучшего!")
}

mainInput()

// end hiding content -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Ecv2

Площадь
(конвертер единиц измерения)

Площадь
Введите величину площади: Выберите "Из" какого измерения "В" какое переводить, нажмите "Конвертировать":
Из: | Square Meters | Square Inches | Square Feet | Square Yards | Square Rods | Square Chains | Roods | Acres | Square Miles
В: | Square Meters | Square Inches | Square Feet | Square Yards | Square Rods | Square Chains | Roods | Acres | Square Miles

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste JavaScript

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!--Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++)
{this[i] = initArray.arguments[i];
}
}
var isn04 = new initArray("4b","5b","8b","8b");
isn04[0] = "~01~11550~210.76~31.196~40.0395~50.002471~60.0009884~70.0002471~80.0000003861~9";
isn04[1] = "~00.0006452~11~20.006944~30.0007716~40.00002551~50.000001594~60.0000006377~70.0000001594~82.291e-10~9";
isn04[2] = "~00.09290~1144~21~30.1111~40.003673~50.0002296~60.00009183~70.00002296~83.587e-8~9";
isn04[3] = "~00.8361~11296~29~31~40.03306~50.002066~60.0008264~70.0002066~83.228e-7~9";
isn04[4] = "~025.29~139204~2272.25~330.25~41~50.0625~60.025~70.00625~89.766e-6~9";
isn04[5] = "~0404.7~1627264~24356~3484~416~51~60.4~70.1~80.00015625~9";
isn04[6] = "~01012~11568160~210890~31210~440~52.5~61~70.25~80.000390625~9";
isn04[7] = "~04047~16272640~243560~34840~4160~510~64~71~80.0015625~9";
isn04[8] = "~02589988~14013355318~227878400~33097600~4102400~56400~62560~7640~81~9";
function areCon() {
for (var i = 0; i < 9; i++) {
if (document.isnform04.arei[i].checked) {
arei = i;
areinm = document.isnform04.arei[i].value;
}
}
for (var i = 0; i < 9; i++) {
if (document.isnform04.areo[i].checked) {
areo = i;
areonm = document.isnform04.areo[i].value;
}
}
useri = document.isnform04.areinp.value;
if (useri == 0) {
useri = 1;
document.isnform04.areinp.value = useri;
}
mulstr = isn04[arei];
picker = "~" + areo;
ps = mulstr.indexOf(picker);
areo++;
picker = "~" + areo;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + areinm + " = " + picker + " " + areonm
document.isnform04.areout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=9 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform04">
</font>
<font color="blue" size="3"><b>Площадь</b></font></TD></TR>
<TR><TD COLSPAN=10 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину площади:
<INPUT TYPE="text" NAME="areinp" SIZE=30 VALUE="" onChange="areCon();"><BR>Выберите
&quot;Из&quot; какого измерения &quot;В&quot; какое
переводить, нажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">Из</font><font color="#FF0000">:</font></b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Meters<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Meters" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Inches<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Inches" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Feet<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Feet" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Yards<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Yards" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Rods<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Rods" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Chains<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Chains" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Roods<BR> <BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Roods" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Acres<BR> <BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Acres" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Miles<BR>
<INPUT TYPE="radio" NAME="arei" VALUE="Square Miles" onClick = "">
</font>
</TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">В</font><font color="#FF0000">:</font></b></font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Meters<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Meters" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Inches<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Inches" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Feet<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Feet" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Yards<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Yards" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Rods<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Rods" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Chains<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Chains" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Roods<BR> <BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Roods" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Acres<BR> <BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Acres" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Square Miles<BR>
<INPUT TYPE="radio" NAME="areo" VALUE="Square Miles" onClick = "">
</font>
</TD></TR>
<font size="3" color="#000000">
<TR>
<TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC">
<FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="areCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="areout" SIZE=60 VALUE="" onClick="areCon();">
</FONT></TD></TR>
</FORM></TABLE>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Calculator43

Размер файла (конвертер)
Очень практичный скрипт! Введите любое значение, выберите единицу измерения и скрипт покажет вам размер файла в БАЙТАХ, КИЛОБАЙТАХ, МЕГОБАЙТАХ и ГИГОБАЙТАХ, причем без всяких округлений!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="bandwidth">

<p><input type="text" name="original" size="20" value=1024> <select size="1" name="units">
<option value="Bytes">Байты</option>
<option value="Kb">Килобайты</option>
<option value="Mb">Мегобайты</option>
<option value="Gb">Гигобайты</option>
</select> <input type="button" value="Считать" name="B1" onClick="calculate()"></p>
</form>

<p>

<script>

/*
Bandwidth calculator (credit must stay enclosed)
By Wsabstract.com
For this and over 400+ JavaScripts,
Visit http://www.wsabstract.com
*/

var bytevalue=0
function calculate(){
var invalue=document.bandwidth.original.value
var selectunit=document.bandwidth.units.options[document.bandwidth.units.selectedIndex].value
if (selectunit=="Bytes")
bytevalue=invalue
else if (selectunit=="Kb")
bytevalue=invalue*1024
else if (selectunit=="Mb")
bytevalue=invalue*1024*1024
else if (selectunit=="Gb")
bytevalue=invalue*1024*1024*1024

alert (invalue+" "+selectunit+" равно:\n\n- "+bytevalue+" Байт\n- "+Math.round(bytevalue/1024)+" Кб\n- "+Math.round(bytevalue/1024/1024)+" Мб\n- "+Math.round(bytevalue/1024/1024/1024)+" Гб\n")
}

</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Ecv13

Сила
(конвертер единиц измерения)

Сила
Введите величину силы: Выберите "Из" какой системы "В" какую переводить, нажмите "Конвертировать":
Из: | Hp | Metric hp | Kw | Poncelets | Kg-m/sec | Ft-lb/sec | Kcal/sec | Btu/sec
В: | Hp | Metric Hp | Kw | Poncelets | Kg-m/sec | Ft-lb/sec | Kcal/sec | Btu/sec

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="JavaScript">
<!-- Original: Cut-N-Paste Javasript

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
/* Please don't ask about this work-around. It works... We're sure arrays
will be better supported soon. */
var isn11 = new initArray("4b","5b","8b","8b");
isn11[0] = "~01~10.7457~21.014~30.7604~476.04~5550~60.1781~70.7068~8";
isn11[1] = "~01.3410~11~21.360~31.020~4102.0~5737.6~60.2388~70.9478~8";
isn11[2] = "~00.9863~10.7355~21~30.75~475~5542.5~60.1757~70.6971~8";
isn11[3] = "~01.315~10.9807~21.333~31~4100~5723.3~60.2342~70.9295~8";
isn11[4] = "~00.01315~10.009807~20.01333~30.01~41~57.233~60.002342~70.009295~8";
isn11[5] = "~00.00181818~10.001356~20.00184~30.00138~40.1383~51~60.0003238~70.001285~8";
isn11[6] = "~05.615~14.187~25.692~34.269~4426.9~53088~61~73.968~8";
isn11[7] = "~01.415~11.055~21.434~31.076~4107.6~5778.2~60.2520~71~8";
function powerCon() {
for (var i = 0; i < 8; i++) {
if (document.isnform11.poweri[i].checked) {
powi = i;
powinm = document.isnform11.poweri[i].value;
}
}
for (var i = 0; i < 8; i++) {
if (document.isnform11.powero[i].checked) {
powo = i;
powonm = document.isnform11.powero[i].value;
}
}
useri = document.isnform11.powerin.value;
mulstr = isn11[powi];
picker = "~" + powo;
ps = mulstr.indexOf(picker);
powo++;
picker = "~" + powo;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + powinm + " = " + picker + " " + powonm
document.isnform11.powerout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM NAME="isnform11">
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=9 ALIGN=CENTER bgcolor="#CCCCCC"><font color="blue" size="3"><b>Сила</b></font></TD></TR>
<TR><TD COLSPAN=9 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину силы:
<INPUT TYPE="text" NAME="powerin" SIZE=30 VALUE=""
onChange="powerCon();"><BR>Выберите &quot;Из&quot; какой
системы &quot;В&quot; какую переводить,
нажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">Из</font></b><font color="#000000"><B>:</B>
</font>
</font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hp<BR><INPUT TYPE="radio"
NAME="poweri" VALUE="Hp" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Metric hp<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Metric hp" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kw<BR><INPUT TYPE="radio"
NAME="poweri" VALUE="Kw" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Poncelets<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Poncelets" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kg-m/sec<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Kg-m/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Ft-lb/sec<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Ft-lb/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kcal/sec<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Kcal/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Btu/sec<BR><INPUT
TYPE="radio" NAME="poweri" VALUE="Btu/sec" onClick = "">
</font>
</TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">В</font></b><font color="#000000"><B>:</B>
</font>
</font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Hp<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Hp" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Metric Hp<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Metric Hp" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kw<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Kw" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Poncelets<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Poncelets" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kg-m/sec<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Kg-m/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Ft-lb/sec<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Ft-lb/sec" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Kcal/sec<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Kcal/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Btu/sec<BR><INPUT
TYPE="radio" NAME="powero" VALUE="Btu/sec" onClick = "">
</font>
</TD></TR>
<font size="3" color="#000000">
<TR><TD COLSPAN=9 VALIGN=TOP bgcolor="#CCCCCC">
<p align="center"><FONT SIZE=1><INPUT TYPE="text"
NAME="powerout" SIZE=30 VALUE="" onClick="powerCon();"></FONT></font>
<BR> <INPUT TYPE="button"
VALUE="Конвертировать" onClick="powerCon();"><INPUT
TYPE="reset" VALUE="Сброс"></p>
</TD></TR>
</TABLE></FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv19

Скорость
 (конвертер единиц измерения)

Скорость
Введите величину скорости: Выберите "Из" какой системы "В" какую переводить, нажмите "Конвертировать":
Из: | cm/sec | m/sec | m/min | km/hr | ft/sec | ft/min | mi/hr | Knots
В: | cm/sec | m/sec | m/min | km/hr | ft/sec | ft/min | mi/hr | Knots

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var isn07 = new initArray("4b","5b","8b","8b");
isn07[0] = "~01~10.01~20.6~30.036~40.03281~51.9685~60.02237~70.01944~8";
isn07[1] = "~0100~11~260~33.6~43.281~5196.85~62.237~71.944~8";
isn07[2] = "~01.66667~10.016667~21~30.06~40.05468~53.281~60.03728~70.03240~8";
isn07[3] = "~027.78~10.2778~216.6667~31~40.9113~554.68~60.6214~70.53996~8";
isn07[4] = "~030.48~10.3048~218.29~31.097~41~560~60.68181818~70.59248~8";
isn07[5] = "~00.5080~10.00508~20.3048~30.01829~40.016667~51~60.01136~70.00987~8";
isn07[6] = "~044.7~10.447~226.82~31.609~41.467~588~61~70.86898~8";
isn07[7] = "~051.44~10.5144~230.87~31.852~41.688~5101.3~61.151~71~8";
function velCon() {
for (var i = 0; i < 8; i++) {
if (document.isnform07.veli[i].checked) {
veli = i;
velinm = document.isnform07.veli[i].value;
}
}
for (var i = 0; i < 8; i++) {
if (document.isnform07.velo[i].checked) {
velo = i;
velonm = document.isnform07.velo[i].value;
}
}
useri = document.isnform07.velinp.value;
if (useri == 0) {
useri = 1;
document.isnform07.velinp.value = useri;
}
mulstr = isn07[veli];
picker = "~" + velo;
ps = mulstr.indexOf(picker);
velo++;
picker = "~" + velo;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + velinm + " = " + picker + " " + velonm
document.isnform07.velout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<tr><TD COLSPAN=10 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform07">
</font>
<font color="blue" size="3"><b>Скорость</b></font></TD></tr>
<tr><TD COLSPAN=10 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину скорости:
<INPUT TYPE="text" NAME="velinp" SIZE=30 VALUE="" onChange="velCon();"><BR>
Выберите &quot;Из&quot; какой системы &quot;В&quot;
какую переводить, нажмите &quot;Конвертировать&quot;:</font></TD></tr>
<tr><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">Из</font></b><font color="#000000"><B>:</B>
</font>
</font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">cm/sec<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="cm/sec" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">m/sec<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="m/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">m/min<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="m/min" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">km/hr<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="km/hr" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">ft/sec<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="ft/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">ft/min<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="ft/min" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">mi/hr<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="mi/hr" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Knots<BR>
<INPUT TYPE="radio" NAME="veli" VALUE="Knots" onClick = "">
</font>
</TD>
<tr><TD ALIGN=CENTER bgcolor="#CCCCCC"><font size="2"><b><font color="red">В</font></b><font color="#000000"><B>:</B>
</font>
</font></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">cm/sec<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="cm/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">m/sec<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="m/sec" CHECKED onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">m/min<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="m/min" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">km/hr<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="km/hr" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">ft/sec<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="ft/sec" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">ft/min<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="ft/min" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">mi/hr<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="mi/hr" onClick = "">
</font>
</TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><font size="2" color="#000000">Knots<BR>
<INPUT TYPE="radio" NAME="velo" VALUE="Knots" onClick = "">
</font>
</TD>
<font size="3" color="#000000">
<tr><TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="velCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="velout" SIZE=60 VALUE="" onClick="velCon();">
</FONT></TD></tr>
</TABLE></FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv12

Телефонный номер
(конвертер из буквенно-цифрового номера в цифровой)

Буквенно-цифровой #:
Конвертированный #:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function convert(input) {
var inputlength = input.length;
input = input.toLowerCase();
var phonenumber = "";
for (i = 0; i < inputlength; i++) {
var character = input.charAt(i);

switch(character) {
case '0': phonenumber+="0";break;
case '1': phonenumber+="1";break;
case '2': phonenumber+="2";break;
case '3': phonenumber+="3";break;
case '4': phonenumber+="4";break;
case '5': phonenumber+="5";break;
case '6': phonenumber+="6";break;
case '7': phonenumber+="7";break;
case '8': phonenumber+="8";break;
case '9': phonenumber+="9";break;
case '-': phonenumber+="-";break;
case 'a': case 'b': case 'c': phonenumber+="2";break;
case 'd': case 'e': case 'f': phonenumber+="3";break;
case 'g': case 'h': case 'i': phonenumber+="4";break;
case 'j': case 'k': case 'l': phonenumber+="5";break;
case 'm': case 'n': case 'o': phonenumber+="6";break;
case 'p': case 'q': case 'r': case 's': phonenumber+="7";break;
case 't': case 'u': case 'v': phonenumber+="8";break;
case 'w': case 'x': case 'y': case 'z': phonenumber+="9";break;
}
}
document.myform.number.value = phonenumber;
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=myform>
<table border=0>
<tr>
<td>Буквенно-цифровой #:</td>
<td><input type=text size=20 maxlength=20 name=alphabet value="1800Flowers"></td>
</tr>
<tr>
<td>Конвертированный #:</td>
<td><input type="text" size=20 maxlength=20 name="number"></td>
</tr>
<tr>
<td align=center colspan=2><input type=button value="Конвертировать" onClick="return convert(document.myform.alphabet.value)"></td>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv1

Ускорение
(конвертер единиц измерения)

Ускорение
Введите величину ускорения: Выберите "ИЗ" какого измерения "В" какое переводить, нажмите "Конвертировать":
Из: | cm/sec/sec | m/sec/sec | m/hr/sec | km/hr/sec | ft/hr/sec | ft/sec/sec | ft/min/min | mi/hr/sec | knots/sec
В: | cm/sec/sec | m/sec/sec | m/hr/sec | km/hr/sec | ft/hr/sec | ft/sec/sec | ft/min/min | mi/hr/sec | knots/sec

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste JavaScript

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var isn08 = new initArray("4b","5b","8b","8b");
isn08[0] = "~01~10.01~236~30.036~4118.11~50.03281~6118.11~70.02237~80.01944~9";
isn08[1] = "~0100~11~23600~33.6~411811~53.281~611811~72.237~81.944~9";
isn08[2] = "~00.02778~10.0002778~21~30.001~43.281~50.0009113~63.281~70.0006214~80.00054~9";
isn08[3] = "~027.78~10.2778~21000~31~43281~50.9113~63281~70.6214~80.54~9";
isn08[4] = "~00.008467~10.00008467~20.3048~30.0003048~41~50.0002778~61~70.0001894~80.0001646~9";
isn08[5] = "~030.48~10.3048~21097~31.097~43600~51~63600~70.6818~80.4572~9";
isn08[6] = "~00.008467~10.00008467~20.3048~30.0003048~41~50.0002778~61~70.0001894~80.0001646~9";
isn08[7] = "~044.7~10.447~21609~31.609~45280~51.467~65280~71~80.8690~9";
isn08[8] = "~051.44~10.5144~21852~31.852~46076~51.688~66076~71.151~81~9";
function accCon() {
for (var i = 0; i < 9; i++) {
if (document.isnform08.acci[i].checked) {
acci = i;
accinm = document.isnform08.acci[i].value;
}
}
for (var i = 0; i < 9; i++) {
if (document.isnform08.acco[i].checked) {
acco = i;
acconm = document.isnform08.acco[i].value;
}
}
useri = document.isnform08.accinp.value;
if (useri == 0) {
useri = 1;
document.isnform08.accinp.value = useri;
}
mulstr = isn08[acci];
picker = "~" + acco;
ps = mulstr.indexOf(picker);
acco++;
picker = "~" + acco;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
}
}
}
picker = useri + " " + accinm + " = " + picker + " " + acconm
document.isnform08.accout.value = picker;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE BORDER=1 WIDTH=486 bgcolor="#CCCCCC">
<TR><TD COLSPAN=10 ALIGN=CENTER bgcolor="#CCCCCC"><FORM NAME="isnform08">
</font>
<font color="blue" size="3"><b>Ускорение</b></font></TD></TR>
<TR><TD COLSPAN=10 VALIGN=TOP bgcolor="#CCCCCC"><font color="#000000" size="2">Введите
величину ускорения:
<INPUT TYPE="text" NAME="accinp" SIZE=30 VALUE="" onChange="accCon();"><BR>Выберите
&quot;ИЗ&quot; какого измерения &quot;В&quot; какое
переводить, нажмите &quot;Конвертировать&quot;:</font></TD></TR>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>Из:</b></font></TD>
<font size="3" color="#000000">
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>cm/sec/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="cm/sec/sec" CHECKED onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>m/sec/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="m/sec/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>m/hr/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="m/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>km/hr/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="km/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/hr/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="ft/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/sec/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="ft/sec/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/min/min<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="ft/min/min" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>mi/hr/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="mi/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>knots/sec<BR>
<INPUT TYPE="radio" NAME="acci" VALUE="knots/sec" onClick = ""></TD></TR>
</font>
<TR><TD ALIGN=CENTER bgcolor="#CCCCCC"><font color="red" size="2"><b>В:</b></font></TD>
<font size="3" color="#000000">
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>cm/sec/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="cm/sec/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>m/sec/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="m/sec/sec" CHECKED onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>m/hr/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="m/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>km/hr/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="km/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/hr/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="ft/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/sec/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="ft/sec/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>ft/min/min<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="ft/min/min" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>mi/hr/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="mi/hr/sec" onClick = ""></TD>
<TD ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>knots/sec<BR>
<INPUT TYPE="radio" NAME="acco" VALUE="knots/sec" onClick = ""></TD>
</TR>
<TR>
<TD COLSPAN=10 ALIGN=CENTER VALIGN=TOP bgcolor="#CCCCCC"><FONT SIZE=1>
<INPUT TYPE="button" VALUE="Конвертировать" onClick="accCon();">
<INPUT TYPE="reset" VALUE="Сброс"><BR>
<INPUT TYPE="text" NAME="accout" SIZE=60 VALUE="" onClick="accCon();">
</FONT></TD>
</TR>
</FORM>
</TABLE>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv16

Цельсий <---> Фаренгейт
(конвертер единиц измерения)

Введите значение в любое из полей и кликните в любом месте страницы.

F:
C:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center">Введите значение в любое из полей
и кликните в любом месте страницы.
<form>

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

F:
<input type="text" name="F" value="32"
onChange="C.value = 100/(212-32) * (this.value - 32 )"><br>
C:
<input type="text" name="C" value="0"
onChange="F.value = (212-32)/100 * this.value + 32 "><br>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv17

Цельсий <---> Фаренгейт 2
(конвертер единиц измерения)

Введите значение температуры и определите систему измерения для введенной величины путем велючения радиокнопки. В поле "Равно" появится значение этой температуры для другой системы измерения
Фаренгейт Цельсий

Равно:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

function displayTemp(){
if (document.forms[0].elements[1].checked){
var tempVal = document.forms[0].yourInput.value
var finalC = (tempVal-32)*5/9
var finalTemp = Math.round(finalC) + " градус(ов) по Цельсию"
}
if (document.forms[0].elements[2].checked){
var tempVal = document.forms[0].yourInput.value

var finalF = (tempVal*9/5)+32
var finalTemp = Math.round(finalF) + " градус(ов) по Фаренгейту"
}
document.forms[1].result.value = finalTemp;
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<INPUT TYPE="text" name="yourInput" size=8 value="0" onChange="displayTemp();">
<INPUT TYPE="radio" Name="F" Size=1 onclick="displayTemp();">Фаренгейт
<INPUT TYPE="radio" Name="F" Size=1 onclick="displayTemp();">Цльсий
</FORM>
<P>
<FORM name=buttons>
<Br>
Равно:<P>
<INPUT TYPE="text" Name="result" Size=30 Value="">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv20

Число ----> текстом
(конвертирует число, записанное цифрами, в число, записанное текстом)

Введите число от 0 до 999,999,999 (без точек и запятых)
Число:
Текст:
(Текст на английском языке. Адаптируйте при необходимости)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: jc491403@altavista.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var n = "";
function validate(input) {
if (input.length == 0) {
alert ('Введите число.');
document.myform.textver.value = "";
return true;
}
else convert(input);
}
function d1(x) { // single digit terms
switch(x) {
case '0': n= ""; break;
case '1': n= " One "; break;
case '2': n= " Two "; break;
case '3': n= " Three "; break;
case '4': n= " Four "; break;
case '5': n= " Five "; break;
case '6': n= " Six "; break;
case '7': n= " Seven "; break;
case '8': n= " Eight "; break;
case '9': n= " Nine "; break;
default: n = "Not a Number";
}
return n;
}
function d2(x) { // 10x digit terms
switch(x) {
case '0': n= ""; break;
case '1': n= ""; break;
case '2': n= " Twenty "; break;
case '3': n= " Thirty "; break;
case '4': n= " Forty "; break;
case '5': n= " Fifty "; break;
case '6': n= " Sixty "; break;
case '7': n= " Seventy "; break;
case '8': n= " Eighty "; break;
case '9': n= " Ninety "; break;
default: n = "Not a Number";
}
return n;
}
function d3(x) { // teen digit terms
switch(x) {
case '0': n= " Ten "; break;
case '1': n= " Eleven "; break;
case '2': n= " Twelve "; break;
case '3': n= " Thirteen "; break;
case '4': n= " Fourteen "; break;
case '5': n= " Fifteen "; break;
case '6': n= " Sixteen "; break;
case '7': n= " Seventeen "; break;
case '8': n= " Eighteen "; break;
case '9': n= " Nineteen "; break;
default: n= "Not a Number";
}
return n;
}
function convert(input) {
var inputlength = input.length;
var x = 0;
var teen1 = "";
var teen2 = "";
var teen3 = "";
var numName = "";
var invalidNum = "";
var a1 = ""; // for insertion of million, thousand, hundred
var a2 = "";
var a3 = "";
var a4 = "";
var a5 = "";
digit = new Array(inputlength); // stores output
for (i = 0; i < inputlength; i++) {
// puts digits into array
digit[inputlength - i] = input.charAt(i)};
store = new Array(9); // store output
for (i = 0; i < inputlength; i++) {
x= inputlength - i;
switch (x) { // assign text to each digit
case x=9: d1(digit[x]); store[x] = n; break;
case x=8: if (digit[x] == "1") {teen3 = "yes"}
else {teen3 = ""}; d2(digit[x]); store[x] = n; break;
case x=7: if (teen3 == "yes") {teen3 = ""; d3(digit[x])}
else {d1(digit[x])}; store[x] = n; break;
case x=6: d1(digit[x]); store[x] = n; break;
case x=5: if (digit[x] == "1") {teen2 = "yes"}
else {teen2 = ""}; d2(digit[x]); store[x] = n; break;
case x=4: if (teen2 == "yes") {teen2 = ""; d3(digit[x])}
else {d1(digit[x])}; store[x] = n; break;
case x=3: d1(digit[x]); store[x] = n; break;
case x=2: if (digit[x] == "1") {teen1 = "yes"}
else {teen1 = ""}; d2(digit[x]); store[x] = n; break;
case x=1: if (teen1 == "yes") {teen1 = "";d3(digit[x])}
else {d1(digit[x])}; store[x] = n; break;
}
if (store[x] == "Not a Number"){invalidNum = "yes"};
switch (inputlength){
case 1: store[2] = "";
case 2: store[3] = "";
case 3: store[4] = "";
case 4: store[5] = "";
case 5: store[6] = "";
case 6: store[7] = "";
case 7: store[8] = "";
case 8: store[9] = "";
}
if (store[9] != "") { a1 =" Hundred, "} else {a1 = ""};
if ((store[9] != "")||(store[8] != "")||(store[7] != ""))
{ a2 =" Million, "} else {a2 = ""};
if (store[6] != "") { a3 =" Hundred "} else {a3 = ""};
if ((store[6] != "")||(store[5] != "")||(store[4] != ""))
{ a4 =" Thousand, "} else {a4 = ""};
if (store[3] != "") { a5 =" Hundred "} else {a5 = ""};
}
// add up text, cancel if invalid input found
if (invalidNum == "yes"){numName = "неверный ввод"}
else {
numName = store[9] + a1 + store[8] + store[7]
+ a2 + store[6] + a3 + store[5] + store[4]
+ a4 + store[3] + a5 + store[2] + store[1];
}
store[1] = ""; store[2] = ""; store[3] = "";
store[4] = ""; store[5] = ""; store[6] = "";
store[7] = ""; store[8] = ""; store[9] = "";
if (numName == ""){numName = "Zero"};
document.myform.textver.value = numName;
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Введите число от 0 до 999,999,999 (без точек и
запятых)

<form name="myform">
<table border=0>
<tr>
<td>Число:</td>
<td><input name="numver" size=9 maxlength=9> <input onclick="return validate(document.myform.numver.value)" type="button" value="Написать текстом!"></td>
</tr>
<tr>
<td>Текст:</td>
<td><textarea name="textver" maxlength=50 rows="6" cols="35"></textarea></td>
</tr>
</font>
<tr>
<td align=middle colspan=2><font color="#000000" size="2">(Текст на
английском языке. Адаптируйте при
необходимости)</font></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv6

Частота
(герцы в биты)

Введите данные в любое поле:

Hertz:
Beats per minute:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Original: Charles Lucy (lucy@harmonics.com) -->
<!-- Web Site: http://www.harmonics.com/lucy -->
<center>
<form>
<table border=0>
<tr>
<td>
Hertz:
</td>
<td>
<input type=text name=F value="440" onChange="C.value = 0.234375 * this.value">
</td>
</tr>
<tr>
<td>
Beats per minute:
</td>
<td>
<input type=text name=C value="103.13" onChange="F.value = 4.2666667 * this.value">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv18

Часы <---> часы + мин + сек
(конвертер Часы в часы + мин + сек и наоборот)

Время: | часы минуты секунды
Часы: |

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ryan Sokol -->
<!-- Modified: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->

<!-- Begin
function checkInt(str) {
if (!str) return 0;
var ok = "";
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1);
if (ch < "0" || "9" < ch) {
alert("Должны быть введены только цифры!\n\n"
+ "Сделайте необходимые исправления "
+ "и повторите попытку.");
return parseFloat(ok);
return parseInt(ok);
}
else ok += ch;
}
return parseInt(str);
}

function checkDecimal(str) {
if (!str) return 0;
var ok = "";
for (var i = 0; i < str.length; i++) {
var ch = str.substring(i, i+1);
if ((ch < "0" || "9" < ch) && ch != '.') {
alert("Должны быть введены только цифры!\n\n"
+ "Сделайте необходимые исправления "
+ "и повторите попытку.");
return parseFloat(ok);
}
else ok += ch;
}
return str;
}

function makeHours(form) {
hour = (checkInt(form.hour.value)); // validates input
min = (checkInt(form.min.value)); // sets invalid input to 0
sec = (checkInt(form.sec.value));
return (hour + min/60 + sec/3600);
}

function makeTime(form) {
num = (checkDecimal(form.hourtotal.value)); // validates input
if (num) {
form.hour.value = parseInt(num);
num -= parseInt(num); num *= 60;
form.min.value = parseInt(num);
num -= parseInt(num); num *= 60;
form.sec.value = parseInt(num);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="timeconverter">
<table border=1 bgcolor="#CCCCCC">
<tr>
<td bgcolor="#CCCCCC">Время:</td>
<td bgcolor="#CCCCCC">
<input type=text name=hour size=3 maxlength=3> часы<br>
<input type=text name=min size=3 maxlength=3> минуты<br>
<input type=text name=sec size=3 maxlength=3> секунды
</td>
</tr>

<tr>
<td bgcolor="#CCCCCC">Часы:</td>
<td bgcolor="#CCCCCC">
<input type=text name=hourtotal size=10>
</td>
</tr>

<tr>
<td colspan=2 align=center bgcolor="#CCCCCC">
<input type=button nametoHours value="часы + мин + сек в: Часы" onClick="this.form.hourtotal.value=makeHours(this.form);">
<br>
<input type=button name=toTime value="Часы в: часы + мин + сек" onClick="makeTime(this.form);">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Ecv7

Японское произношение
(не вводите имя кириллицей - Ваш компьютер может "повиснуть"!)

Введите Ваше имя латинскими буквами:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Momoko Sakura -->
<!-- Modified By: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function isvowel(v) {
if ((v == "a") || (v == "e") || (v == "i") || (v == "o") || (v == "u")) {
return true;
}
else {
return false;
}
}
function toJapanese(inp) {
name1 = inp;
otp = "";
cnt = 0;
k = "";
l = "";
inp = inp.toLowerCase();
while (cnt <= inp.length - 1) {
k = inp.charAt(cnt);
if ((cnt + 1) > (inp.length - 1)) {
l = "u";
}
else {
l = inp.charAt(cnt+1);
}
if ((k == " ") || (k == "-") || (k == "'")) {
otp = otp + k;
cnt += 1;
}
if ((l == "y") && (!isvowel(k))) {
l = "i";
}
if (k == "x") {
if (cnt == 0) {
k = "z";
}
else {
k = "k";
}
}
if (k == "g") {
if ((l == "e") || (l == "i") || (l == "y")) {
k = "j";
}
else {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + k + "u";
cnt += 1;
}
}
}
if (k == "j") {
if ((l == "a") || (l == "u") || (l == "o")) {
otp = otp + k + l;
cnt +=2;
}
if ((l == "e") || (l == "i")) {
otp = otp + "ji";
cnt += 2;
}
}
if (k == "y") {
if ((l == "a") || (l == "u") || (l == "o")) {
otp = otp + k + l;
cnt += 2;
}
else {
k = "i";
}
}
if (k == "m") {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
if ((l == "b") || (l == "m") || (l == "p")) {
otp = otp + "n";
cnt += 1;
}
else {
otp = otp + "mu";
cnt += 1;
}
}
}
if (isvowel(k) || ((k == "n") && (!isvowel(l)))) {
otp = otp + k;
cnt = cnt + 1;
}
if (k == "q") {
k = "k";
}
if (k == "v") {
k = "b";
}
if (k == "l") {
k = "r";}
if (k == "c") {
if (l == "h") {
otp = otp + "chi";
cnt += 3;
}
else {
if ((l == "e") || (l == "i") || (l == "y")) {
k = "s";
}
else {
k = "k";
}
}
}
if (k == "w") {
if ((l == "a") || (l == "o")) {
otp = otp + k + l;
cnt += 2;
}
else {
if ((l == "i") || (l=="e")) {
otp = otp + "u" + l;
cnt += 2;
}
else {
k = "b";
}
}
}
if ((k == "b") || (k == "k") || (k == "r")) {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + k + "u";
cnt += 1;
}
}
if (k == "d") {
if ((l == "i") || (l == "a") || (l == "e")) {
otp = otp + "de";
cnt += 2;
}
if ((l == "u") || (l == "o")) {
otp = otp + "do";
cnt += 2;
}
if (!isvowel(l)) {
otp = otp + "de";
cnt += 1;
}
}
if (k == "f") {
otp = otp + "fu";
cnt += 1;
if (isvowel(l)) {
cnt += 1;
}
}
if (k == "h") {
if (l == "u") {
otp = otp + "fu";
cnt += 2;
}
else {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + "fu";
cnt += 1;
}
}
}
if (k == "z") {
if (l == "i") {
k = "j";
}
else {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + "zu";
cnt += 1;
}
}
}
if (k == "n") {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
}
if (k == "p") {
if (l == "h") {
otp = otp + "fu";
cnt += 2;
}
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + "pu";
cnt += 1;
}
}
if (k == "s") {
if ((l == "i") || (l == "h")) {
otp = otp + "shi";
cnt += 2;
if (l == "h") {
cnt += 1;
}
}
else {
if (isvowel(l)) {
otp = otp + k + l;
cnt += 2;
}
else {
otp = otp + "su";
cnt += 1;
}
}
}
if (k == "t") {
if ((l == "a") || (l == "e") || (l == "o")) {
otp = otp + k + l;
cnt += 2;
}
if ((l == "u") || ((!isvowel(l)) && (!(l == "h")))) {
otp = otp + "tsu";
cnt += 1;
if (l == "u") {
cnt += 1;
}
if ((l == "s") && (inp.charAt(cnt + 1) == "u")) {
cnt += 2;
}
}
if (l == "i") {
otp = otp + "chi";
cnt += 2;
}
if (l == "h") {
otp = otp + "fu";
cnt += 3;
}
}
}
name2 = "" + otp.charAt(0).toUpperCase();
for (j = 1; j <= otp.length - 1; j++) {
name2 += otp.charAt(j);
}
alert(name1 + " произносится по японски как: \"" + name2 + "\"");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Введите Ваше имя латинскими буквами: <input type=text name="personname" size=15>
<input type=button value="Показать имя по-японски!" onClick="toJapanese(this.form.personname.value);">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Mat2

СHmod калькулятор

Используется вебмастерами для установления ограничения доступа к файлам или директориям. Для некоторых FTP программ (или TELNET) необходимо введение 3-значной цифры, определяющей уровни доступа к файлам (директориям). Для получения этой цифры используется предложенный калькулятор

Chmod
Permission | Owner | Group | Other
Read |  |  |
Write |  |  |
Execute |  |  |

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
// Chmod calculator. This is useful when setting permissions on cgi files using FTP
// Copyright Peter Crouch 2000. All rights reserved.
// Visit http://www.perlbay.com for other thing written by me
//Visit http://wsabstract.com for this script and more

function calculator(user, number){
// Owner
if (user == "owner" && number == "4"){var box = eval("document.chmod.owner4")}
if (user == "owner" && number == "2"){var box = eval("document.chmod.owner2")}
if (user == "owner" && number == "1"){var box = eval("document.chmod.owner1")}
// Group
if (user == "group" && number == "4"){var box = eval("document.chmod.group4")}
if (user == "group" && number == "2"){var box = eval("document.chmod.group2")}
if (user == "group" && number == "1"){var box = eval("document.chmod.group1")}
// Other
if (user == "other" && number == "4"){var box = eval("document.chmod.other4")}
if (user == "other" && number == "2"){var box = eval("document.chmod.other2")}
if (user == "other" && number == "1"){var box = eval("document.chmod.other1")}
if (box.checked == true){
if (user == "owner"){
document.chmod.h_owner.value += ("+number")
var a= (document.chmod.h_owner.value)
var b= eval(a)
document.chmod.h_owner.value=b
document.chmod.t_owner.value=b
}if (user == "group"){
document.chmod.h_group.value += ("+number")
var a= (document.chmod.h_group.value)
var b= eval(a)
document.chmod.h_group.value=b
document.chmod.t_group.value=b
}if (user == "other"){
document.chmod.h_other.value += ("+number")
var a= (document.chmod.h_other.value)
var b= eval(a)
document.chmod.h_other.value=b
document.chmod.t_other.value=b
}
}
if (box.checked == false){
if (user == "owner"){
if (document.chmod.h_owner.value == ""){
document.chmod.t_owner.value=""
}else {
var a=(document.chmod.h_owner.value);
b=a-(number);
c=eval(b);
document.chmod.h_owner.value=c
document.chmod.t_owner.value=c
}}if (user == "group"){
if (document.chmod.h_group.value == ""){
document.chmod.t_group.value=""
}else {
var a=(document.chmod.h_group.value);
b=a-(number);
c=eval(b);
document.chmod.h_group.value=c
document.chmod.t_group.value=c
}}if (user == "other"){
if (document.chmod.h_other.value == ""){
document.chmod.t_other.value=""
}else {
var a=(document.chmod.h_other.value);
b=a-(number);
c=eval(b);
document.chmod.h_other.value=c
document.chmod.t_other.value=c
}}
}}
</script>

<form name="chmod">
<input name="h_owner" type="hidden" value="">
<input name="h_group" type="hidden" value="">
<input name="h_other" type="hidden" value="">
<table bgcolor="#000000" cellpadding="5" cellspacing="1">
<tr bgcolor="#ffffff">
<td colspan="4"><font face="verdana" size="3"><b>Chmod</b></font></td>
</tr><tr bgcolor="#ffffff" align="center">
<td><font face="verdana" size="-1"><b>Permission</b></font></td>
<td><font face="verdana" size="-1"><b>Owner</b></font></td>
<td><font face="verdana" size="-1"><b>Group</b></font></td>
<td><font face="verdana" size="-1"><b>Other</b></font></td>
</tr><tr bgcolor="#ffffff" align="center">
<td><font face="verdana" size="-1"><b>Read</b></font></td>
<td><input type="checkbox" name="owner4" value="4" onclick="calculator('owner', 4)"></td>
<td><input type="checkbox" name="group4" value="4" onclick="calculator('group', 4)"></td>
<td><input type="checkbox" name="other4" value="4" onclick="calculator('other', 4)"></td>
</tr><tr bgcolor="#ffffff" align="center">
<td><font face="verdana" size="-1"><b>Write</b></font></td>
<td><input type="checkbox" name="owner2" value="2" onclick="calculator('owner', 2)"></td>
<td><input type="checkbox" name="group2" value="2" onclick="calculator('group', 2)"></td>
<td><input type="checkbox" name="other2" value="2" onclick="calculator('other', 2)"></td>
</tr><tr bgcolor="#ffffff" align="center">
<td><font face="verdana" size="-1"><b>Execute</b></font></td>
<td><input type="checkbox" name="owner1" value="1" onclick="calculator('owner', 1)"></td>
<td><input type="checkbox" name="group1" value="1" onclick="calculator('group', 1)"></td>
<td><input type="checkbox" name="other1" value="1" onclick="calculator('other', 1)"></td>
</tr><tr bgcolor="#ffffff" align="center">
<td><font face="verdana" size="-1"><b></b></font></td>
<td><input type="text" name="t_owner" value="" size="1"></td>
<td><input type="text" name="t_group" value="" size="1"></td>
<td><input type="text" name="t_other" value="" size="1"></td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat4

GPA калькулятор

Ну, если Вы можете перевести все Ваши средние баллы за год за каждый класс в американские A, A-,B,B- и т.д., то Вы запросто посчитаете Ваш GPA. Хотя, что Вам с ним делать....

 | Grade | Credits
Class 1 |  |
Class 2 |  |
Class 3 |  |
Class 4 |  |
Class 5 |  |
Class 6 |  |
Class 7 |  |
Class 8 |  |

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM Name="GPACalcForm">
<TABLE BORDER=5 BGCOLOR=#C0C0C0 CELLPADDING="5"
CELLSPACING="2">
<TH></TH>
<TH>Grade</TH>
<TH>Credits</TH>
<TR>
<TD>Class 1</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR1" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR1" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 2</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR2" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR2" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 3</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR3" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR3" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 4</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR4" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR4" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 5</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR5" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR5" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 6</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR6" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR6" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 7</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR7" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR7" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR>
<TD>Class 8</TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="GR8" ALIGN=TOP
MAXLENGTH=5></TD>
<TD><INPUT TYPE=TEXT SIZE=5 NAME="CR8" ALIGN=TOP
MAXLENGTH=5></TD>
</TR>
<TR ALIGN=CENTER>
<TD COLSPAN=3><INPUT TYPE="BUTTON" VALUE="Считать"
NAME="CalcButton"
OnClick="gpacalc()"></TD>
</TR>
</TABLE>
</FORM>
<BR>
<P>

<P>
</CENTER>

<BR>

<SCRIPT LANGUAGE="JavaScript">

<!--
function gpacalc()
{
//define valid grades and their values
var gr = new Array(9);
var cr = new Array(9);
var ingr = new Array(5);
var incr = new Array(5);

// define valid grades and their values
var grcount = 11;
gr[0] = "A+";
cr[0] = 5;
gr[1] = "A";
cr[1] = 4;
gr[2] = "A-";
cr[2] = 3.66;
gr[3] = "B+";
cr[3] = 3.33;
gr[4] = "B";
cr[4] = 3;
gr[5] = "B-";
cr[5] = 2.66;
gr[6] = "C+";
cr[6] = 2.33;
gr[7] = "C";
cr[7] = 2;
gr[8] = "C-";
cr[8] = 1.66;
gr[9] = "D";
cr[9] = 1;
gr[10] = "F";
cr[10] = 0;
// retrieve user input
ingr[0] = document.GPACalcForm.GR1.value;
ingr[1] = document.GPACalcForm.GR2.value;
ingr[2] = document.GPACalcForm.GR3.value;
ingr[3] = document.GPACalcForm.GR4.value;
ingr[4] = document.GPACalcForm.GR5.value;
ingr[5] = document.GPACalcForm.GR6.value;
ingr[6] = document.GPACalcForm.GR7.value;
ingr[7] = document.GPACalcForm.GR8.value;
incr[0] = document.GPACalcForm.CR1.value;
incr[1] = document.GPACalcForm.CR2.value;
incr[2] = document.GPACalcForm.CR3.value;
incr[3] = document.GPACalcForm.CR4.value;
incr[4] = document.GPACalcForm.CR5.value;
incr[5] = document.GPACalcForm.CR6.value;
ingr[6] = document.GPACalcForm.GR7.value;
ingr[7] = document.GPACalcForm.GR8.value;

// Calculate GPA
var allgr =0;
var allcr = 0;
var gpa = 0;
for (var x = 0; x < 5 + 3; x++)
{
if (ingr[x] == "") break;
// if (isNaN(parseInt(incr[x]))) alert("Error- You did not enter a numeric credits value for Class If the class is worth 0 credits then enter the number 0 in the field.");
var validgrcheck = 0;
for (var xx = 0; xx < grcount; xx++)
{
if (ingr[x] == gr[xx])
{
allgr = allgr + (parseInt(incr[x],10) * cr[xx]);
allcr = allcr + parseInt(incr[x],10);
validgrcheck = 1;
break;
}
}
if (validgrcheck == 0)
{
alert("Error- Could not recognize the grade entered for Class " + eval(x + 1) + ". Please use standard college grades in the form of A A- B+ ...F.");
return 0;
}
}

// this if-check prevents a divide by zero error
if (allcr == 0)
{
alert("Error- You did not enter any credit values! GPA = N/A");
return 0;
}

gpa = allgr / allcr;

alert("GPA = " + eval(gpa));

return 0;
}

//-->

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator7

Атмосферные данные

Отметьте систему: English Metric

Вводные данные

Altitude
Speed
Reference Length

Результат

Temperature
Density
Pressure
Speed of Sound
Viscosity
Mach Number
Dynamic Pressure
Critical Cp
Vacuum Cp
Reynolds Number
Laminar Cf
Turbulent Cf

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ilan Kroo kroo@leland.stanford.edu

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setEUnits() {
var str = document.forms[1].hunits.value;
if ( str== "ft") {
alert("Уже в Английской системе мер!.");
return;
}
document.forms[1].hunits.value = "ft"
document.forms[1].vunits.value = "ft/sec"
document.forms[1].lunits.value = "ft"
document.forms[2].tunits.value = "deg R"
document.forms[2].runits.value = "sl/ft^3"
document.forms[2].punits.value = "lb/ft^2"
document.forms[2].sunits.value = "ft/sec"
document.forms[2].muunits.value = "lb sec/ft^2"
document.forms[2].qunits.value = "lb/ft^2"
var h = document.forms[1].alt.value;
var v =document.forms[1].speed.value;
var rl = document.forms[1].rlength.value;
var tempVal = document.forms[2].temp.value
var rhoVal = document.forms[2].rho.value
var pVal = document.forms[2].press.value
var soundVal = document.forms[2].ssound.value
var viscVal = document.forms[2].visc.value
var machVal = document.forms[2].mach.value
var qVal =document.forms[2].q.value
var cpstarVal = document.forms[2].cpstar.value
var cpminVal = document.forms[2].cpmin.value
var reynolds = document.forms[2].reno.value
var cflam = document.forms[2].cfl.value
var cfturb = document.forms[2].cft.value
document.forms[1].alt.value = h*3.2808
document.forms[1].speed.value = v*3.2808
document.forms[1].rlength.value = rl*3.2808
document.forms[2].temp.value =tempVal*1.8
document.forms[2].rho.value = rhoVal * .068521 * .028317
document.forms[2].press.value = pVal * .020885
document.forms[2].ssound.value = soundVal*3.2808
document.forms[2].visc.value = viscVal*.22481*.092903
document.forms[2].mach.value = machVal
document.forms[2].q.value = qVal * .020885
document.forms[2].cpstar.value = cpstarVal
document.forms[2].cpmin.value = cpminVal
document.forms[2].reno.value = reynolds
document.forms[2].cfl.value = cflam
document.forms[2].cft.value = cfturb
roundAll();
}
function setMUnits() {
var str = document.forms[1].hunits.value;
if ( str== "m") {
alert("Уже в метрической системе!");
return;
}
Compute();
document.forms[1].hunits.value = "m"
document.forms[1].vunits.value = "m/sec"
document.forms[1].lunits.value = "m"
document.forms[2].tunits.value = "deg K"
document.forms[2].runits.value = "kg/m^3"
document.forms[2].punits.value = "N/m^2"
document.forms[2].sunits.value = "m/sec"
document.forms[2].muunits.value = "N sec/m^2"
document.forms[2].qunits.value = "N/m^2"
var h = document.forms[1].alt.value;
var v = document.forms[1].speed.value;
var rl = document.forms[1].rlength.value;
var tempVal = document.forms[2].temp.value
var rhoVal = document.forms[2].rho.value
var pVal = document.forms[2].press.value
var soundVal = document.forms[2].ssound.value
var viscVal = document.forms[2].visc.value
var machVal = document.forms[2].mach.value
var qVal =document.forms[2].q.value
var cpstarVal = document.forms[2].cpstar.value
var cpminVal = document.forms[2].cpmin.value
var reynolds = document.forms[2].reno.value
var cflam = document.forms[2].cfl.value
var cfturb = document.forms[2].cft.value
document.forms[1].alt.value = h/3.2808
document.forms[1].speed.value = v/3.2808
document.forms[1].rlength.value = rl/3.2808
document.forms[2].temp.value =tempVal/1.8
document.forms[2].rho.value = rhoVal / .068521 / .028317
document.forms[2].press.value = pVal / .020885
document.forms[2].ssound.value = soundVal/3.2808
document.forms[2].visc.value = viscVal/.22481/.092903
document.forms[2].mach.value = machVal
document.forms[2].q.value = qVal / .020885
document.forms[2].cpstar.value = cpstarVal
document.forms[2].cpmin.value = cpminVal
document.forms[2].reno.value = reynolds
document.forms[2].cfl.value = cflam
document.forms[2].cft.value = cfturb
roundAll();
}
function ResetForm() {
document.forms[1].alt.value = "0.0"
document.forms[1].speed.value = "1.0"
document.forms[1].rlength.value = "1.0"
}
function Compute() {
// First set to English Units
var origUnits = "english";
var str = document.forms[1].hunits.value;
if ( str== "m") {
origUnits = "metric";
setEUnits();
}
var h = document.forms[1].alt.value;
var v =document.forms[1].speed.value;
var rl = document.forms[1].rlength.value;
var TEMPSL = 518.67;
var RHOSL = 0.00237689;
var PRESSSL = 2116.22;
var saTheta = 1.0
var saSigma = 1.0
var saDelta = 1.0
if ( h<232940 ){
saTheta = 1.434843 - h/337634;
saSigma = Math.pow( 0.79899-h/606330, 11.20114 );
saDelta = Math.pow( 0.838263-h/577922, 12.20114 );
}
if ( h<167323 ){
saTheta = 0.939268;
saSigma = 0.00116533 * Math.exp( (h-154200)/-25992 );
saDelta = 0.00109456 * Math.exp( (h-154200)/-25992 );
}
if ( h<154199 ){
saTheta = 0.482561 + h/337634;
saSigma = Math.pow( 0.857003+h/190115, -13.20114 );
saDelta = Math.pow( 0.898309+h/181373, -12.20114 );
}
if ( h<104987 ){
saTheta = 0.682457 + h/945374;
saSigma = Math.pow( 0.978261+h/659515, -35.16319 );
saDelta = Math.pow( 0.988626+h/652600, -34.16319 );
}
if ( h<65617 ){
saTheta = 0.751865;
saSigma = 0.297076 * Math.exp( (36089-h)/20806 );
saDelta = 0.223361 * Math.exp( (36089-h)/20806 );
}
if ( h<36089 ){
saTheta = 1.0 - h/145442;
saSigma = Math.pow( 1.0-h/145442, 4.255876 );
saDelta = Math.pow( 1.0-h/145442, 5.255876 );
}
var tempVal = TEMPSL * saTheta;
var rhoVal = RHOSL * saSigma;
var pVal = PRESSSL * saDelta;
var viscVal = 0.0226968*Math.pow( tempVal, 1.5 ) / ((tempVal)+198.72) / 1000000.0;
var soundVal = Math.sqrt( 1.4*1716.56*(tempVal) );
var machVal = v/soundVal
var qVal = 0.7*pVal*machVal*machVal
var reynolds = v*rl*rhoVal/viscVal
var cfturb = 0.455/Math.pow((Math.log(reynolds)/Math.log(10)),2.58)
var cflam = 1.328/Math.sqrt(reynolds)
document.forms[2].temp.value = tempVal
document.forms[2].rho.value = rhoVal
document.forms[2].press.value = pVal
document.forms[2].ssound.value = soundVal
document.forms[2].visc.value = viscVal
document.forms[2].mach.value = machVal
document.forms[2].q.value = qVal
document.forms[2].cpstar.value = (Math.pow((1/1.2 + machVal*machVal/6.0),3.5)-1)/(0.7*machVal*machVal)
document.forms[2].cpmin.value = -1.0/(0.7*machVal*machVal)
document.forms[2].reno.value = reynolds
document.forms[2].cfl.value = cflam
document.forms[2].cft.value = cfturb
if (origUnits == "metric") {
setMUnits();
}
roundAll();
}
// Rounding
function roundAll(){
document.forms[1].alt.value = truncNum(document.forms[1].alt.value,9)
document.forms[1].speed.value = truncNum(document.forms[1].speed.value,7)
document.forms[1].rlength.value = truncNum(document.forms[1].rlength.value,7)
document.forms[2].temp.value =truncNum(document.forms[2].temp.value,7)
document.forms[2].rho.value = truncNum(document.forms[2].rho.value,7)
document.forms[2].press.value = truncNum(document.forms[2].press.value,7)
document.forms[2].ssound.value = truncNum(document.forms[2].ssound.value ,8)
document.forms[2].visc.value = truncNum(document.forms[2].visc.value,10)
document.forms[2].mach.value = truncNum(document.forms[2].mach.value,6)
document.forms[2].q.value = truncNum(document.forms[2].q.value,7)
document.forms[2].cpstar.value = truncNum(document.forms[2].cpstar.value,6)
document.forms[2].cpmin.value = truncNum(document.forms[2].cpmin.value,6)
document.forms[2].reno.value = truncNum(document.forms[2].reno.value,9)
document.forms[2].cfl.value = truncNum(document.forms[2].cfl.value,7)
document.forms[2].cft.value = truncNum(document.forms[2].cft.value,7)
return;
}
function truncNum(inputVal, rsize) {
var instr = " " + inputVal
var inputlength = instr.length
if (inputlength<=rsize+1) return instr.substring(1, inputlength);
var epos = strpos(instr, "e")
if ( epos > rsize+1) {
var instr1 = instr.substring(1,rsize+1) + instr.substring(epos,inputlength);
return instr1;
}
var rounded = instr.substring(1, rsize+1);
return rounded;
}
function strpos(str, ch) {
for (var i = 0; i < str.length; i++)
if (str.substring(i, i+1) == ch) return i;
return -1;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table align=center bgcolor="#CCCCCC" border="1">
<tr>
<td>
<br>
<FORM name = "units">
Отметьте систему:
<INPUT TYPE="radio" VALUE="radio" NAME="unitbut" CHECKED="true" onClick="setEUnits()">English
<INPUT TYPE="radio" VALUE="radio" NAME="unitbut" onClick="setMUnits()">Metric
</FORM>
<p>
<HR>
<H3>Вводные данные</H3>
<FORM name="inputs">
<table>
<tr>
<td>Altitude</td>
<td><INPUT NAME="alt" TYPE=text VALUE="0.0" SIZE=15></td>
<td><INPUT NAME="hunits" TYPE=text SIZE=6 VALUE="ft"></td>
</tr>
<tr>
<td>Speed</td>
<td><INPUT NAME="speed" TYPE="text" VALUE="1.0" SIZE="15"></td>
<td><INPUT NAME="vunits" TYPE="text" SIZE="6" VALUE="ft/sec"></td>
</tr>
<tr>
<td>Reference Length</td>
<td><INPUT NAME="rlength" TYPE="text" VALUE="1.0" SIZE="15"></td>
<td><INPUT NAME="lunits" TYPE="text" SIZE="6" VALUE="ft"></td>
</tr>
</table>
<BR>
<BR>
<INPUT NAME="name" TYPE="button" VALUE="Рассчитать" onClick="Compute()">
<INPUT NAME="name" TYPE="button" VALUE="Сброс" onClick="ResetForm()">
</FORM>
<HR SIZE="4">
<H3>Результат</H3>
<FORM name = "results">
<table>
<tr>
<td>Temperature</td>
<td><INPUT NAME="temp" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="tunits" TYPE="text" SIZE="8" VALUE="ѓR"></td>
</tr>
<tr>
<td>Density</td>
<td><INPUT NAME="rho" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="runits" TYPE="text" SIZE="8" VALUE="sl/ft^3"></td>
</tr>
<tr>
<td>Pressure</td>
<td><INPUT NAME="press" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="punits" TYPE="text" SIZE="8" VALUE="lb/ft^2"></td>
</tr>
<tr><td>Speed of Sound</td>
<td><INPUT NAME="ssound" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="sunits" TYPE="text" SIZE="8" VALUE="ft/sec"></td>
</tr>
<tr>
<td>Viscosity</td>
<td><INPUT NAME="visc" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="muunits" TYPE="text" SIZE="11" VALUE="lb sec/ft^2"></td>
<tr>
<td>Mach Number</td>
<td><INPUT NAME="mach" TYPE="text" SIZE="15"></td>
</tr>
<tr>
<td>Dynamic Pressure</td>
<td><INPUT NAME="q" TYPE="text" SIZE="15"></td>
<td><INPUT NAME="qunits" TYPE="text" SIZE="8" VALUE="lb/ft^2"></td>
</tr>
<tr>
<td>Critical Cp</td>
<td><INPUT NAME="cpstar" TYPE="text" SIZE="15"></td>
</tr>
<tr>
<td>Vacuum Cp</td>
<td><INPUT NAME="cpmin" TYPE="text" SIZE="15"></td>
<tr>
<td>Reynolds Number</td>
<td><INPUT NAME="reno" TYPE="text" SIZE="15"></td>
</tr>
<tr>
<td>Laminar Cf</td>
<td><INPUT NAME="cfl" TYPE="text" SIZE="15"></td>
</tr>
<tr>
<td>Turbulent Cf</td>
<td><INPUT NAME="cft" TYPE="text" SIZE="15"></td>
</tr>
</table>
</FORM>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator9

"Вес и рост" калькулятор

К сожалению (к счастью?), вся информация, которой Вас снабдил этот скрипт, обоснована исключительно научно и с ней придется считаться, хотите Вы того или нет.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Tomer and Yehuda Shiran

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getHeight(sex, age, height) {
height = Math.round(height)
var height5 = 0
var height50 = 0
if (age == 2) {
height50 = 87
height5 = 82
} else
if (age == 3) {
height50 = 95
height5 = 90
} else
if (age == 4) {
height50 = 102
height5 = 95
} else
if (age == 5) {
height50 = 109
height5 = 101
} else
if (age == 6) {
height50 = 114
height5 = 107
} else
if (age == 7) {
height50 = 120
height5 = 112
} else
if (age == 8) {
height50 = 126
height5 = 118
} else
if (age == 9) {
height50 = 131
height5 = 121
} else
if (age == 10) {
height50 = 137
height5 = 127
} else
if (age == 11) {
height50 = 143
height5 = 131
} else
if (sex == "f") {
if (age == 12) {
height50 = 150
height5 = 140
} else
if (age == 13) {
height50 = 157
height5 = 145
} else
if (age == 14) {
height50 = 160
height5 = 148
} else
if (age == 15) {
height50 = 162
height5 = 150
} else
if (age == 16) {
height50 = 162
height5 = 151
} else
if (age == 17) {
height50 = 163
height5 = 153
} else
if (age == 18) {
height50 = 164
height5 = 154
}
} else
if (age == 12) {
height50 = 150
height5 = 137
} else
if (age == 13) {
height50 = 156
height5 = 142
} else
if (age == 14) {
height50 = 162
height5 = 148
} else
if (age == 15) {
height50 = 168
height5 = 155
} else
if (age == 16) {
height50 = 174
height5 = 160
} else
if (age == 17) {
height50 = 175
height5 = 165
} else
if (age == 18) {
height50 = 176
height5 = 165
}
var percent = (height - height5) * (50 - 5) / (height50 - height5) + 5
return percent
}
function getWeight(sex, age, weight) {
weight = Math.round(weight)
var weight5 = 0
var weight50 = 0
if (age == 2) {
weight50 = 12
weight5 = 10
} else
if (age == 3) {
weight50 =14
weight5 = 12
} else
if (age == 4) {
weight50 = 16
weight5 = 14
} else
if (age == 5) {
weight50 = 18
weight5 = 15
} else
if (age == 6) {
weight50 = 20
weight5 = 17
} else
if (age == 7) {
weight50 = 22
weight5 = 18
} else
if (age == 8) {
weight50 = 25
weight5 = 20
} else
if (age == 9) {
weight50 = 29
weight5 = 22
} else
if (sex == "f") {
if (age == 10) {
weight50 = 32
weight5 = 25
} else
if (age == 11) {
weight50 = 37
weight5 = 27
} else
if (age == 12) {
weight50 = 41
weight5 = 30
} else
if (age == 13) {
weight50 = 46
weight5 = 34
} else
if (age == 14) {
weight50 = 50
weight5 = 38
} else
if (age == 15) {
weight50 = 53
weight5 = 40
} else
if (age == 16) {
weight50 = 56
weight5 = 43
} else
if (age == 17) {
weight50 = 57
weight5 = 45
} else
if (age == 18) {
weight50 = 57
weight5 = 46
}
} else
if (age == 10) {
weight50 = 24
weight5 = 31
} else
if (age == 11) {
weight50 = 35
weight5 = 27
} else
if (age == 12) {
weight50 = 40
weight5 = 30
} else
if (age == 13) {
weight50 = 46
weight5 = 35
} else
if (age == 14) {
weight50 = 51
weight5 = 38
} else
if (age == 15) {
weight50 = 57
weight5 = 44
} else
if (age == 16) {
weight50 = 62
weight5 = 48
} else
if (age == 17) {
weight50 = 67
weight5 = 53
} else
if (age == 18) {
weight50 = 69
weight5 = 55
}
var percent = (weight - weight5) * (50 - 5) / (weight50 - weight5) + 5
return percent
}
function printResult(height, weight, sex, age) {
var heightAdj = ""
var weightAdj = ""
var ageAdj = ""
var sexAdj = ""
var gradeAdj = ""
var grade = 0
var propWeight = weight / height
if (height > 70) {
heightAdj = "высокая"
grade += 2
} else
if (height < 30) {
heightAdj = "низкая"
grade += 1
} else {
heightAdj = "нормального роста"
grade += 3
}
if (propWeight > 2) {
weightAdj = "тучная"
grade += 1
} else
if (propWeight < 0.5) {
weightAdj = "стройная"
grade += 2
} else {
weightAdj = "нормального веса"
grade += 3
}
ageAdj = ageInput + "-летняя"
if (grade >= 5)
gradeAdj = "хорошо выглядящая"
else
if (grade <= 2)
gradeAdj = "не очень хорошо выглядящая"
else
gradeAdj = "прекрасно выглядящий(ая)"
sexAdj = (sex == "f") ? "особь женского пола \:\)" : "особь мужского пола \:\)"
var finalMessage = "Вы " + heightAdj + ", "
finalMessage += weightAdj + ", " + gradeAdj + " "
finalMessage += ageAdj + " " + sexAdj + "."
alert(finalMessage)
if (confirm("Вам интерсны научные результаты рассчета?")) {
scMessage = "height = " + Math.round(height)
scMessage +="%\rweight = " + Math.round(weight)
scMessage += "%\rweight/height = " + propWeight
alert(scMessage)
} else
if (grade <= 4)
alert("Отличная мысль!")
var notice = "Спасибо за использование \"JavaScript вес "
notice += "и рост калькулятора\". Все вычисления сделаны "
notice += "в соответствии с разделом \"child-development "
notice += "graph\" \"Комптонской Энциклопедии\". Приносим свои извинения в случае "
notice += "если Вы были оскорблены комментариями -- это "
notice += "не входило в наши намерения. Мы ипользовали их для "
notice += "демонстрации JavaScript scripting технологии."
alert(notice)
}
function convertInput() {
weightInput *= 0.45359
heightInput *= 2.54
}
var sex = prompt("Введите Ваш пол ((m)мужской или (f)женский, буквы должны быть латинскими):", "")
var ageInput = parseInt(prompt("Введите Выш возраст (минимум = 2):", ""))
ageInput = Math.round(ageInput)
var systemMessage = "Хотите использовать метрическую систему(m) "
systemMessage += "или английскую(е)?"
var system = prompt(systemMessage, "m")
var heightUnit = (system == "m") ? "сантиметрах" : "inches"
var weightUnit = (system == "m") ? "килограммах" : "pounds"
var heightInput = prompt("Введите Ваш рост в " + heightUnit + ":", "")
heightInput = parseInt(heightInput)
var weightInput = prompt("Введите Ваш вес в " + weightUnit + ":", "")
weightInput = parseInt(weightInput)
if (system == "e")
convertInput()
if (ageInput > 18)
var age = 18
else
if (ageInput < 2)
var age = 2
else
var age = ageInput
var heightPer = getHeight(sex, age, heightInput)
var weightPer = getWeight(sex, age, weightInput)
heightPer = (heightPer < 1) ? 1 : heightPer
heightPer = (heightPer > 99) ? 99 : heightPer
weightPer = (weightPer < 1) ? 1 : weightPer
weightPer = (weightPer > 99) ? 99 : weightPer
printResult(heightPer, weightPer, sex, age)
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator23

Високосный год
Весьма наглядно и не требует комментариев. Одно только замечание - не вводите для получения списка огромные цифры если не хотите, чтобы Ваш компьютер "повис" от натуги, и это не шутка!

Введите год:
Год: является

Високосные годы за период:
С: года
По: год

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Anthony Louie -->
<!-- Modified By: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkYear(year) {
return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
}
function leap(form) {
year = form.year.value;
var Check1 = parseFloat(year);
for (var i = 0; i < year.length; i++) {
var sLetterCheck1 = year.substring(i, i+1);
if (sLetterCheck1 < "0" || sLetterCheck1 > "9") {
alert("Шутите, да?.");
form.year.focus();
form.year.select();
return;
}
}
if (year < 1582) {
form.result.value = "";
alert("Год должен быть больше 1581.");
form.year.focus();
form.year.select();
return;
}
checkYear(year);
if (!checkYear(year)) form.result.value = "не високосным.";
else form.result.value = "високосным годом.";
}
function MakeArray(n) {
if (n <= 0) {
this.length = 0;
return this;
}
this.length = n;
for (var i = 1; i <= n; i++) {
this[i] = 0;
}
return this;
}
var listArray = new MakeArray(160);
var index = 0;
function list(form) {
startyear = form.startyear.value;
endyear = form.endyear.value;
var Check1 = parseFloat(startyear);
var Check2 = parseFloat(endyear);
for (var i = 0; i < startyear.length; i++) {
var sLetterCheck1 = startyear.substring(i, i+1);
if (sLetterCheck1 < "0" || sLetterCheck1 > "9") {
alert("Опять шутите, да?.");
form.startyear.focus();
form.startyear.select();
return;
}
}
for (var i = 0; i < endyear.length; i++) {
var sLetterCheck2 = endyear.substring(i, i+1);
if (sLetterCheck2 < "0" || sLetterCheck2 > "9") {
alert("Все еще шутите, да?.");
form.endyear.focus();
form.endyear.select();
return;
}
}
if (startyear < 1582) {
form.yearlist.value = "";
alert("Начальный год должен быть больше 1581.");
form.startyear.focus();
form.startyear.select();
return;
}
else if (endyear <= startyear) {
form.yearlist.value = "";
alert("Начальный год должен быть меньше конечного.");
form.endyear.focus();
form.endyear.select();
return;
}
else {
index = 0;
for (var i=startyear; i <=endyear; i++) {
if (checkYear(i)) {
listArray[index] = i;
index++;
}
}
}
var allYears;
allYears = "";
for( i = 0; i < index; i++ ) {
allYears += listArray[i] + "\r" + "\n";
form.yearlist.value = allYears;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<TABLE>
<tr>
<td bgcolor="#CCCCCC">
<form>
Введите год:<br>
Год: <input type=text name=year size=4> является <input type=text name=result size=20>

<br>
<br>

<input type=button value="Проверить" onClick="leap(this.form);">

<p>

Високосные годы за период:<br>
С:&nbsp;&nbsp;&nbsp;<input type=text name=startyear size=4> года<br>
По: <input type="text" name="endyear" size=4> год<br>
<br>
<input type=button name=listyears value="Список високосных годов" onClick="list(this.form);">
<br>
<textarea name=yearlist rows=10 cols=11></textarea>

</form>
</td>
</tr>
</TABLE>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator20

Возраст в Собачьих годах
Cовершенно бесполезный скрипт, но "ужасно популярный" - повстречался мне во всех! архивах, которые я просмотрел! Конвертирует Ваш возраст в возраст собаки, которая сумела бы столько прожить (Ваш возраст * 7). Скрипт пригодится только начинающим изучать JavaScript.

Ваш возраст:

Ваш возраст в Собачьих годах:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function fido (form) {
form.dogyears.value = form.humanyears.value*7;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<TABLE bgcolor="#CCCCCC">
<tr>
<td bgcolor="#CCCCCC">
<FORM>
Ваш возраст:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE ="text" NAME="humanyears" SIZE=15 >
<BR><P>
<INPUT TYPE ="button" VALUE="Посчитать" ONCLICK="fido(this.form)">
<BR><P>Ваш возраст в Собачьих годах:
<INPUT TYPE="text" NAME="dogyears" SIZE=15 >
<BR>
</FORM>
</td>
</tr>
</TABLE>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator25

Возрастание (убывание) в процентах

Введите 2 числа для определения возрастания (убывания) в процентах:

с до

Процент возрастания (убывания):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Joey Mornin (jmornin@gateway.net) -->
<!-- Modified with permission by Ronnie T. Moore -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function findIncrease(form) {
var num1 = form.num1.value;
var num2 = form.num2.value;
return ((num2 - num1) / num1 * 100 + "%");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=increaseform>
Введите 2 числа для определения возрастания
(убывания) в процентах:<p>с <input type=text name=num1 size=4>
до <input type=text name=num2 size=4>
<input type=button value="Решить" onClick="this.form.answer.value = findIncrease(this.form);"><p>Процент
возрастания (убывания): <input type=text name=answer size=6>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat8

Время загрузки файла

Примитивный по смыслу калькулятор, выполняющий фактически одно! математическое действие. Но выглядит симпатично и может быть помещен на страницу с Вашими download файлами.

Размер файла? | Загрузка займет....
Скорость Вашего модема .... | Часы | Минуты | Секунды
9.6 Kb |  |  |
14.4 Kb |  |  |
28.8 Kb |  |  |
56 Kb |  |  |
ISDN (64 Kb) |  |  |
ISDN (128 Kb) |  |  |

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

function MakeArray(n) {

this.length = n;

for (var i = 1; i <= n; i++) {

this[i] = 0 }

return this

}

speedVar = new MakeArray(11);

speedVar[1] = "1.1719"
speedVar[2] = "1.7578"
speedVar[3] = "3.5156"
speedVar[4] = "6.8359"
speedVar[5] = "7.8125"
speedVar[6] = "16.6250"
speedVar[7] = "187.9883"
speedVar[8] = "1220.7031"
speedVar[9] = "3295.8984"
speedVar[10] = "5493.1641"
speedVar[11] = "18920.8984"

function compute(form, mult){

for (i=1; i < 12; i++){

if (form.size.value== null||form.size.value.length==0){

form.size.value=0;}

if (form[i+"hour"].value== null||form[i+"hour"].value.length==0){

form[i+"hour"].value=0;}

if (form[i+"minute"].value== null||form[i+"minute"].value.length==0){

form[i+"minute"].value=0;}

if (form[i+"second"].value== null||form[i+"second"].value.length==0){

form[i+"second"].value=0;}

if (mult != 0 && form.size.value != 0){

with (Math){

var speed = speedVar[i];

var TotalTime = ((form.size.value*mult)/speed);

var TotalHours = floor((TotalTime/3600));

var TotalHoursMod = (TotalTime%3600);

var TotalMin = floor(TotalHoursMod/60);

var TotalMinMod = (TotalHoursMod%60);

var TotalSec = floor(TotalMinMod);

form[i+"hour"].value=TotalHours;

form[i+"minute"].value=TotalMin;

form[i+"second"].value=TotalSec;

}

}

}

return;

}

// End -->

</SCRIPT>

</font>

<FORM>

<TABLE BORDER="4">

<TR>

<TD><font size="1" face="Arial">Размер файла?</font>
<font size="4" color="#FF0000">

<INPUT TYPE="TEXT" NAME="size" SIZE="10">
<INPUT TYPE="BUTTON" OnClick="compute(this.form, 1)" VALUE="KB">
<INPUT TYPE="BUTTON" OnClick="compute(this.form, 1024)" VALUE="MB">

</font>

</TD>

<TD colspan=3>
<p align="center"><b>Загрузка займет....</b></p>

</TD>

</TR>

<TR>

<TH><font face="Arial" size="1">Скорость Вашего модема ....</font></TH>

<TH>
<p align="center"><font size="2">Часы</font></p>
</TH>

<TH>
<p align="center"><font size="2">Минуты</font></p>
</TH>

<TH>
<p align="center"><font size="2">Секунды</font></p>
</TH>

</TR>

<TR>

<TD BGCOLOR="#ffffff"><font size="3">9.6 Kb</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="1hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="1minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="1second" SIZE="6"></TD>

</TR>

</font>

<TR>

<TD BGCOLOR="#ffffff"><font size="3">14.4 Kb</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="2hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="2minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="2second" SIZE="6"></TD>

</TR>

</font>

<TR>

<TD BGCOLOR="#ffffff"><font size="3">28.8 Kb</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="3hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="3minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="3second" SIZE="6"></TD>

</TR>

</font>

<TR>

<TD BGCOLOR="#ffffff"><font size="3">56 Kb</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="4hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="4minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="4second" SIZE="6"></TD>

</TR>

</font>

<TR>

<TD BGCOLOR="#ffffff"><font size="3">ISDN (64 Kb)</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="5hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="5minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="5second" SIZE="6"></TD>

</TR>

</font>

<TR>

<TD BGCOLOR="#ffffff"><font size= "3">ISDN (128 Kb)</font></TD>
<font size="4" color="#FF0000">
<TD align="center"><INPUT TYPE="TEXT" NAME="6hour" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="6minute" SIZE="6"> </TD>
<TD align="center"><INPUT TYPE="TEXT" NAME="6second" SIZE="6"></TD>

</TR>

<TR>

<TD BGCOLOR="#ffffff"></TD>

<TD><INPUT TYPE="HIDDEN" NAME="7hour" SIZE="6"> </TD>
<TD><INPUT TYPE="HIDDEN" NAME="7minute" SIZE="6"> </TD>
<TD><INPUT TYPE="HIDDEN" NAME="7second" SIZE="6"></TD>

</TR>

<INPUT TYPE="HIDDEN" NAME="8hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="8minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="8second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="9second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="10second" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11hour" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11minute" SIZE="6">
<INPUT TYPE="HIDDEN" NAME="11second" SIZE="6">

</TABLE>

</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator14

Расчет времени, расстояния и скорости

Время в зависимости от расстояния и скорости

Введите расстояние:
Введите скорость:
Время: Часы Минуты Секунды

Расстояние в зависимости от скорости и времени

Введите скорость:
Введите время: Часы Минуты Секунды
Расстояние :

Скорость в зависимости от расстояния и времени

Введите расстояние:
Введите время: Часы Минуты Секунды
Скорость:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Gary Nicholson (nicholsongary@hotmail.com) -->
<!-- Web Site: http://homepages.ihug.co.nz/~gazzanic/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function calculatetime(form) {
// get conversion factors from selected options
var i = form.distunits.selectedIndex;
var distunitsvalue = form.distunits.options[i].value;
var j = form.speedunits.selectedIndex;
var speedunitsvalue = form.speedunits.options[j].value;
// calculate time in seconds
form.secondvalue.value = (form.distvalue.value * distunitsvalue) / (form.speedvalue.value * speedunitsvalue);
// convert to hours, minutes, seconds
form.hourvalue.value = parseInt(form.secondvalue.value / 3600);
form.secondvalue.value = form.secondvalue.value - (form.hourvalue.value * 3600);
form.minutevalue.value = parseInt(form.secondvalue.value / 60);
form.secondvalue.value = parseInt(form.secondvalue.value - (form.minutevalue.value * 60));
return true;
}
function calculatedistance(form) {
// get conversion factors from selected options
var i = form.distunits.selectedIndex;
var distunitsvalue = form.distunits.options[i].value;
var j = form.speedunits.selectedIndex;
var speedunitsvalue = form.speedunits.options[j].value;
// convert time to seconds
var temp = ((parseFloat(form.hourvalue.value) * 3600) + (parseFloat(form.minutevalue.value) * 60) + parseFloat(form.secondvalue.value));
// calculated distance
form.distvalue.value = ((form.speedvalue.value * speedunitsvalue) * temp) / distunitsvalue;
return true;
}
function calculatespeed(form) {
// get conversion factors from selected options
var i = form.distunits.selectedIndex;
var distunitsvalue = form.distunits.options[i].value;
var j = form.speedunits.selectedIndex;
var speedunitsvalue = form.speedunits.options[j].value;
// convert time to seconds
var temp = ((parseFloat(form.hourvalue.value) * 3600) + (parseFloat(form.minutevalue.value) * 60) + parseFloat(form.secondvalue.value));
// calculate speed
form.speedvalue.value = ((form.distvalue.value * distunitsvalue) / (temp * speedunitsvalue));
return true;
}
function clearcell(cell) {
cell.value = "";
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table bgcolor="#CCCCCC">
<BR>
<h4>Время в зависимости от расстояния и
скорости</h4>
<form>
<table>
<tr>
<td>Введите расстояние:</td>
<td><input type=text name=distvalue size=15 value="1" onfocus="clearcell(distvalue)"></td>
<td><select name=distunits>
<option value=1>Метры
<option value=0.001>Миллиметры
<option value=0.01>Сантиметры
<option value=1000>Километры
<option value=0.0254>Дюймы
<option value=0.3048>Футы
<option value=0.9144>Ярды
<option value=1.8288>Морская сажень
<option value=1609.344>Обычные мили
<option value=1852>Морские мили
<option value=9460000000000000>Световой год
</select>
</td>
</tr>
<tr>
<td>Введите скорость:</td>
<td><input type=text name=speedvalue size=15 value="1" onfocus="clearcell(speedvalue)"></td>
<td><select name=speedunits>
<option value=1>Метров в секунду
<option value=0.277777777777777777777777777777777777> Километров в
час
<option value=0.3048>Футов в секунду
<option value=0.00508>Футов в минуту
<option value=0.01524>Ярдов в минуту
<option value=0.44704>Миль в час
<option value=0.514444444444>Узлов
</select></td>
</tr>
</table>
<table>
<tr>
<td>Время:</td>
<td><input type=text name=hourvalue size=5 value="" readonly></td>
<td>Часы</td>
<td><input type=text name=minutevalue size=5 value="" readonly></td>
<td>Минуты</td>
<td><input type=text name=secondvalue size=5 value="" readonly></td>
<td>Секунды</td>
</tr>
</table>
<input type=button value="Вычислить" onClick='calculatetime(this.form)'>
</form>
<hr>
<h4>Расстояние в зависимости от скорости и
времени</h4>
<form>
<table>
<tr>
<td>Введите скорость:</td>
<td><input type=text name=speedvalue size=15 value="1" onfocus="clearcell(speedvalue)"></td>
<td><select name=speedunits>
<option value=1>Метров в секунду
<option value=0.277777777777777777777777777777777777> Километров в
час
<option value=0.3048>Футов в секунду
<option value=0.00508>Футов в минуту
<option value=0.01524>Ярдов в минуту
<option value=0.44704>Миль в час
<option value=0.514444444444>Узлов
</select></td>
</tr>
</table>
<table>
<tr>
<td>Введите время:</td>
<td><input type=text name=hourvalue size=5 value="0" onfocus="clearcell(hourvalue)"></td>
<td>Часы</td>
<td><input type=text name=minutevalue size=5 value="0" onfocus="clearcell(minutevalue)"></td>
<td>Минуты</td>
<td><input type=text name=secondvalue size=5 value="0" onfocus="clearcell(secondvalue)"></td>
<td>Секунды</td>
</tr>
</table>
<table>
<tr>
<td>Расстояние :</td>
<td><input type=text name=distvalue size=15 value="" readonly></td>
<td><select name=distunits>
<option value=1>Метры
<option value=0.001>Миллиметры
<option value=0.01>Сантиметры
<option value=1000>Километры
<option value=0.0254>Дюймы
<option value=0.3048>Футы
<option value=0.9144>Ярды
<option value=1.8288>Морская сажень
<option value=1609.344>Обычные мили
<option value=1852>Морские мили
<option value=9460000000000000>Световой год
</select>
</td>
</tr>
</table>
<input type=button value="Вычислить" onClick="calculatedistance(this.form)">
</form>
<hr>
<h4>Скорость в зависимости от расстояния и времени</h4>
<form>
<table>
<tr>
<td>Введите расстояние:</td>
<td><input type=text name=distvalue size=15 value="1" onfocus="clearcell(distvalue)"></td>
<td><select name=distunits>
<option value=1>Метры
<option value=0.001>Миллиметры
<option value=0.01>Сантиметры
<option value=1000>Километры
<option value=0.0254>Дюймы
<option value=0.3048>Футы
<option value=0.9144>Ярды
<option value=1.8288>Морская сажень
<option value=1609.344>Обычные мили
<option value=1852>Морские мили
<option value=9460000000000000>Световой год
</select>
</td>
</tr>
</table>
<table>
<tr>
<td>Введите время:</td>
<td><input type=text name=hourvalue size=5 value="0" onfocus="clearcell(hourvalue)"></td>
<td>Часы</td>
<td><input type=text name=minutevalue size=5 value="0" onfocus="clearcell(minutevalue)"></td>
<td>Минуты</td>
<td><input type=text name=secondvalue size=5 value="0" onfocus="clearcell(secondvalue)"></td>
<td>Секунды</td>
</tr>
</table>
<table>
<tr>
<td>Скорость:&nbsp;</td>
<td><input type=text name=speedvalue size=15 value="1" readonly></td>
<td><select name=speedunits>
<option value=1>Метров в секунду
<option value=0.277777777777777777777777777777777777> Километров в
час
<option value=0.3048>Футов в секунду
<option value=0.00508>Футов в минуту
<option value=0.01524>Ярдов в минуту
<option value=0.44704>Миль в час
<option value=0.514444444444>Узлов
</select></td>
</table>
<input type=button value="Вычислить" onClick="calculatespeed(this.form)">
</form>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator22

Генератор ландшафта
Генерирует ландшафт с помощью по-разному раскрашенных цифр и букв; чем выше местность, тем светлее буква (цифра), при этом буквой "S" обозначен уровень ниже уровня моря

Для изменения ландшафта перезагрузите страницу (нажмите "refresh")

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mark Washburn (mawcowboyusa@netscape.net) -->
<!-- Web Site: http://sites.netscape.net/mawcowboyusa/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var WIDTH = 1;
var XA = 0;
var XB = 17;
var YA = 0;
var YB = 17;
var Z1 = 0;
var Z2 = 0;
var Z3 = 0;
var Z4 = 0;
var XADD = 10; // move x axis left on screen
var YADD = -8; // lower y axis view
var LEVEL_UNDEFINED = 99999;
var LEVEL_WATER = -1;

picType = new Array();
pic = new Array();

var steep;
var sealevel;
var buf = "";
var buf2 = "";
var pic0;

function ZColor ( z0) {
var t1;
if ( z0 == LEVEL_WATER ) {
return '<TT><FONT COLOR="#000099">' + "S" + "</FONT></TT>";
}
if ( z0 == LEVEL_UNDEFINED ) {
return '<TT><FONT COLOR="#000099">' + "S" + "</FONT></TT>";
}

t1 = z0 % 10;
if ( t1 == 0 ) {
return '<TT><FONT COLOR="#330000">' + "0" + "</FONT></TT>";
}
if ( t1 == 1 ) {
return '<TT><FONT COLOR="#663300">' + "1" + "</FONT></TT>";
}
if ( t1 == 2 ) {
return '<TT><FONT COLOR="#CC6600">' + "2" + "</FONT></TT>";
}
if ( t1 == 3 ) {
return '<TT><FONT COLOR="#FF9900">' + "3" + "</FONT></TT>";
}
if ( t1 == 4 ) {
return '<TT><FONT COLOR="#FFCC00">' + "4" + "</FONT></TT>";
}
if ( t1 == 5 ) {
return '<TT><FONT COLOR="#FFCC99">' + "5" + "</FONT></TT>";
}
if ( t1 == 6 ) {
return '<TT><FONT COLOR="#FFFF00">' + "6" + "</FONT></TT>";
}
if ( t1 == 7 ) {
return '<TT><FONT COLOR="#33FF33">' + "7" + "</FONT></TT>";
}
if ( t1 == 8 ) {
return '<TT><FONT COLOR="#009900">' + "8" + "</FONT></TT>";
}
if ( t1 == 9 ) {
return '<TT><FONT COLOR="#003300">' + "9" + "</FONT></TT>";
}
}

function frac( x0, y0, x2, y2, z0, z1, z2, z3 ) {
var newz, xmid, ymid, z01, z12, z23, z30;
// 50% chance rise or descend
if ( Math.random() < 0.5 ) {
newz = Math.round( (z0+z1+z2+z3) / 4) + Math.round( Math.random() * (y2-y0) * steep );
}
else {
newz = Math.round( (z0+z1+z2+z3) / 4) - Math.round( Math.random() * (y2-y0) * steep );
}

xmid = ( x0 + x2) >> 1;
ymid = ( y0 + y2) >> 1;
z12 = ( z1 + z2) >> 1;
z30 = ( z3 + z0) >> 1;
z01 = ( z0 + z1) >> 1;
z23 = ( z2 + z3) >> 1;

if ( (( x2 - x0 ) > WIDTH ) && (( y2 - y0 ) > WIDTH )) {
frac( x0, y0, xmid, ymid, z0, z01, newz, z30);
frac( xmid, y0, x2, ymid, z01, z1, z12, newz);
frac( x0, ymid, xmid, y2, z30, newz, z23, z3);
frac( xmid, ymid, x2, y2, newz, z12, z2, z23);
}
else {
if ( newz <= sealevel ) {
// above sea level
picType[ymid*YB+xmid] = "l";
pic[ymid*YB+xmid] = newz;
}
else {
// below "sea level"
picType[ymid*YB+xmid] = "s";
pic[ymid*YB+xmid] = LEVEL_WATER;
}
}
}

function landscape() {

for (var i = 0; i < XB; i++) {
for (var j = 0; j < YB; j++) {
picType[j*YB+i] = "u";
}
}
for (var i = 0; i < XB; i++) {
for (var j = 0; j < YB; j++) {
pic[j*YB+i] = LEVEL_UNDEFINED;
}
}

steep = ( Math.random() / 2.5 ) + 0.5;
sealevel = Math.round( 17 * Math.random() ) - 8;

Z1 = Math.round( 15 * Math.random() ) - 7;
Z2 = Math.round( 15 * Math.random() ) - 7;
Z3 = Math.round( 15 * Math.random() ) - 7;
Z4 = Math.round( 15 * Math.random() ) - 7;

frac( XA, YA, XB, YB, Z1, Z2, Z3, Z4);

for (var i = 0; i < XB; i++) {
for (var j = 0; j < YB; j++) {
pic0 = LEVEL_UNDEFINED;
if ( picType[j*YB+i] == "l" ) {
pic0 = Math.abs(pic[j*YB+i] - sealevel);
}
if ( picType[j*YB+i] == "s" ) {
pic0 = LEVEL_WATER;
}
buf2 = buf2 + ZColor( pic0 ) + " ";
}
buf2 = buf2 + "<BR>";
}
return buf2;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table bgcolor=black><tr><td>

<script language="JavaScript">
<!--
document.write ( landscape() );
// -->
</script>

</td></tr></table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Math17

Построитель графика биоритмов

Число, месяц, год рождения: День Месяц Год
С какого числа строить график: День Месяц Год

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad = "init()">

 <center>
<form name="bio">
<div align="center">
<center>
<table bgcolor="#808080" border="2"><tr><td>
<b></b>
</font>
<b>
<font size="3" color="#FFFFFF">
Число, месяц, год рождения:</font></b><font size="3" color="#FFFFFF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
День <input  type="text" name="d" size="3"> Месяц <input type="text" name="m" size="3">
Год <input type="text" name="y" size="5">
<input type="button" value="Легенда" OnClick="key()"><br>
<b>С какого числа строить график:</b> День <input type="text" name="d1" size="3">
Месяц <input type="text" name="m1" size="3"> Год <input type="text" name="y1" size="5">
<input type="button" value="Построить" OnClick="plot()">&nbsp;&nbsp;<br>
<textarea name="screen" rows="12" cols="70" wrap=virtual>
</textarea>&nbsp;&nbsp;<br> <input type="button" value="Изменить цвет фона страницы" OnClick="backgr()">&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;
<input type="reset" value="Сброс">
</font>
</td></tr></table>
</center>
</div>
</form>
<font size="3" color="#000000">
<hr><p>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator37

Длина волны

MHz
= футов
или
дюймов,
или
метров

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jon Bronisz (webmaster@frequencyzone.com) -->
<!-- Web Site: http://www.frequencyzone.com -->
<!-- Modified by: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function wavelength(freq, amount, form) {
form.feet.value = amount / freq;
form.inches.value = form.feet.value * 12;
form.metre.value = form.feet.value * 12 * 0.025;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table>
<tr>
<td align=center>
<input type=text size=8 value="" name=freq>MHz
<input type=button value="WL" onClick="wavelength(this.form.freq.value, 984, this.form);">
<input type=button value="1/2 WL" onClick="wavelength(this.form.freq.value, 468, this.form);">
<input type=button value="1/4 WL" onClick="wavelength(this.form.freq.value, 234, this.form);">
</td>
</tr>
<tr>
<td>
= <input type=text name=feet size=15> футов
(or <input type=text name=inches size=15> дюймов.)
(or <input type=text name=metre size=15> метров.)
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator11

Длина окружности, площадь и диаметр круга

Пощадь круга:

Диаметр окружности:

Длина окружности:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Chris Brown -->
<!-- Web Site: http://www.geocities.com/BourbonStreet/3843 -->

<!-- Begin
function circle(form,changed) {
with (Math) {
var area = form.area.value;
var diameter = form.diameter.value;
var circumference = form.circumference.value;
if (changed == "area") {
var radius = sqrt(area / PI);
diameter = 2 * radius;
circumference = PI * diameter;
}
if (changed == "diameter") {
area = PI * (diameter / 2) * (diameter / 2);
circumference = PI * diameter;
}
if (changed == "circumference") {
diameter = circumference / PI;
area = PI * (diameter / 2) * (diameter / 2);
}
form.area.value = area;
form.diameter.value = diameter;
form.circumference.value = circumference;
}
}
var toDegrees = 360 / (Math.PI * 2);
var toRadians = (Math.PI * 2) / 360;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form method=post>
<table border="5">
<tr>
<td align=center>
<p align="left">Пощадь круга:</p>
</td>
<center>
<td align=center><input type=text name=area size=17 value=0 onFocus="select()"></td>
<td align=center><input type=button value="Вычислить" onClick="circle(this.form,'area')"></td>
</tr>
</center>
<tr>
<td align=center>
<p align="left">Диаметр окружности:</p>
</td>
<center>
<td align=center><input type=text name=diameter size=17 value=0 onFocus="select()"></td>
<td align=center><input type=button value="Вычислить" onClick="circle(this.form,'diameter')"></td>
</tr>
</center>
<tr>
<td align=center>
<p align="left">Длина окружности:</p>
</td>
<center>
<td align=center><input type=text name=circumference size=17 value=0 onFocus="select()"></td>
<td align=center><input type=button value="Вычислить" onClick="circle(this.form,'circumference')"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator12

Длина окружности при известном радиусе
(запрос Javascript)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Andrew Jones (andrew.jones@net.ntl.com) -->
<!-- Web Site: http://www.freespeech.org/andyjones/ -->

<!-- Begin
function calculate() {
var radius=prompt("Введите величину радиуса","");
var pi=3.14159265359; // определено до одиннадцати знаков после запятой, измените на большее (меньшее)
var circ=2*pi*radius;
var d=alert("Длина окружности с радиусом "+radius+" составит "+circ+".")
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=button value="Высчитать длину окружности" onClick="calculate()">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator32

Доход от вклада

Сколько я могу класть на счет ежемесячно:
Сколько это будет длится (месяцы/годы):
Процент банка (годовой): %

Всего :

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael C. Hundt (mchundt@nglic.com) -->
<!-- Web Site: http://www.cinet.net/~mhundt/mystuff.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var i = 0; // interest
var m = 0; // months
var f = 0; // factor
var den = 0;
var s = "0"; // string
var d = 0; // decimal place
function CalcA() {
if(document.calform.interest.value=="" || document.calform.months.value=="" || document.calform.payment.value=="") {
alert("Please fill in all of the required fields.");
}
else {
if(document.calform.period.options[1].selected == true) {
m = document.calform.months.value * 12;
}
else {
m = document.calform.months.value;
}
i = Math.pow(((document.calform.interest.value/100)+1),.0833333)-1;
den = i / (i+1);
f = Math.pow((i+1),m)-1;
f /= den;
f *= document.calform.payment.value;
d = String(f).indexOf(".");
s = String(f).substring(0,(d+3));
document.calform.total.value = "$" + s;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method=post name="calform">
<table width=400 bgcolor="#CCCCCC">
<tr>
<td align=right width=200 bgcolor="#CCCCCC">Сколько я могу
класть на счет ежемесячно:</td>
<td bgcolor="#CCCCCC"><input type=text name=payment size=13 maxlength=13></td>
</tr>
<tr>
<td align=right width=200 bgcolor="#CCCCCC">Сколько это будет
длится (месяцы/годы):</td>
<td bgcolor="#CCCCCC"><input type=text name=months size=3 maxlength=3>
<select name=period size=1>
<option value="m">Месяцы
<option value="y">Годы
</select>
</td>
</tr>
<tr>
<td align=right width=200 bgcolor="#CCCCCC">Процент банка:</td>
<td bgcolor="#CCCCCC"><input type=text name=interest size=5 maxlength=5><b> %</b></td>
</tr>
<tr>
<td width=200 colspan=2 align=center bgcolor="#CCCCCC"> <br>
<input type=button name=button1 value="Сколько я буду иметь?" onClick="javascript:CalcA()"></td>
</tr>
<tr>
<td colspan=2 align=center width=100 bgcolor="#CCCCCC">Всего :
<input type=text name=total value="0.00" size=15 maxlength=15></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator19

За сколько часов сделана работа
(к гражданам бывшего СССР не применимо)

1-й работник делает работу за часов.
2-й работник делает ту же работу за часов.
Вместе они сделают эту работу за часов.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: mistermidget@hotmail.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function groupWork() {
person1 = parseInt(document.workform.person1.value);
person2 = parseInt(document.workform.person2.value);
worktime = (person1*person2)/(person1+person2);
document.workform.time.value = worktime;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table>
<tr>
<td bgcolor="#CCCCCC">
<form name=workform>
1-й работник делает работу за&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type=text name=person1 size=5> часов.<br>
2-й работник делает ту же работу за&nbsp;&nbsp;&nbsp;
<input type=text name=person2 size=5> часов.<br>
Вместе они сделают эту работу
за&nbsp;&nbsp;&nbsp;&nbsp; <input type=text name=time size=7> часов.<br><br>
<input type=button value="Решить!" name=solve onClick="groupWork()"><br>
</form>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Math16

Запись года копирайта римскими цифрами
Впишите свои даты вместо выделенных и разместите скрипт из нижней таблицы на странице там, где это нужно Вам. (Числа, выделенные белым и зеленым цветами, должны быть равны)
или текущий год (2001)...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Dougie Lawson (darkest@attglobal.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var LMDate = new Date( document.lastModified );
year = LMDate.getYear();
if (year < 1900) { year +=1900; }

function Init() {
this.length = Init.arguments.length;
for ( var i = 0; i < this.length; i++ ) this[ i + 1 ] = Init.arguments[ i ];
}
function Roman(number) {
if (number < 1) { alert(number+" is too small\nMinumum value is 1"); number = 1; }
if (number > 5999) { alert(number+" it too big\nMaximum value is 5999"); number = 5999; }
var roman_unit = new Init("","I","II","III","IV","V","VI","VII","VIII","IX");
var roman_tens = new Init("","X","XX","XXX","XL","L","LX","LXX","LXXX","XC");
var roman_hund = new Init("","C","CC","CCC","CD","D","DC","DCC","DCCC","CM");
var roman_thou = new Init("","M","MM","MMM","MMMM","MMMMM");

var v = 0; var w = 0; var x = 0; var y = 0;
v = ((number - (number % 1000)) / 1000) + 1;
number = (number % 1000);
w = ((number - (number % 100)) / 100) + 1;
number = (number % 100);
x = ((number - (number % 10)) / 10) + 1;
y = (number % 10) + 1;
return ("© " + roman_thou[v] + roman_hund[w] + roman_tens[x] + roman_unit[y]);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<pre>
<script>
document.write("1963 = " + Roman(1963) + "<br>");
document.write("1872 = " + Roman(1872) + "<br>");
document.write("3961 = " + Roman(3961) + "<br>");
</script>
</pre>

или текущий год (2001)...
<Font face=Arial size=4 color=darkred><script>
document.write(Roman(year) );
</script></font>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator17

Калькулятор формулы
 Для простой арифметической формулы

Введите формулу используя знаки "+", " - ", " * ", " / " , а также скобки! и нажмите "Считать" !

Формула | Результат

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function calc(form) {
form.result.value=eval(form.expr.value);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<i>Введите формулу используя знаки &quot;+&quot;,&nbsp;&nbsp;
&quot; - &quot;,&nbsp;&nbsp; &quot; * &quot;,&nbsp; &quot; / &quot; и
нажмите &quot;Считать&quot; !</i>
<br>
<br>
<form>
<table border=3 cellspacing=2 cellpadding=5 bgcolor="#CCCCCC">
<tr>
<td align=center><i>Формула</i></td>
<td align=center><i>Результат</i></td>
</tr>
<tr>
<td align=center><input type=text name=expr size=15></td>
<td align=center><input type=text name=result size=15></td>
</tr>
<tr>
<td colspan=2 align=center><input type=button value="Считать!" onclick="calc(this.form)"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator29

Квадратичное уровнение
Подставьте значения А В С и скрипт решит уравнение если не будут получаться мнимые числа. Подставляйте С отрицательным

Квадратичное уровнение:
Ax2 + Bx + C = 0
A =
B =
C =
X1 =
X2 =

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Songzi Du (xdu1@iupui.edu) -->
<!-- Web site: http://members.tripod.com/~Songzidu/mainpageindex.html -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function quad(form) {
a=eval(form.a.value);
b=eval(form.b.value);
c=eval(form.c.value);
x1=-b/2/a+Math.pow(Math.pow(b,2)-4*a*c,0.5)/2/a;
x2=-b/2/a-Math.pow(Math.pow(b,2)-4*a*c,0.5)/2/a;
form.x1.value = x1;
form.x2.value = x2;
if (form.x1.value == "NaN") form.x1.value="Imag.!";
if (form.x2.value == "NaN") form.x2.value="Imag.!";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>
<table border=1 cellpadding=2 bgcolor="#CCCCCC">
<tr>
<td colspan=2 align=center><b>Квадратичное уровнение:<br>Ax<sup>2</sup> + Bx + C = 0</b></td>
</tr>
<tr>
<td>
<center><table border=1 width=100% cellpadding=2>
<tr>
<td align=center><b>A = </b></td>
<td align=center><input type=text size=6 name="a"></td>
</tr>
<tr>
<td align=center><b>B = </b></td>
<td align=center><input type=text size=6 name="b"></td>
</tr>
<tr>
<td align=center><b>C = </b></td>
<td align=center><input type=text size=6 name="c"></td>
</tr>
</table>
</td>
<td>
<center><table border=1 width=100% cellpadding=2>
<tr>
<td colspan=2 align=center>
<input type=button value="Solve" onClick="quad(this.form)"></td>
</tr>
<tr>
<td align=center><b>X1 = </b></td>
<td align=center><input type=text size=6 name="x1"></td>
</tr>
<tr>
<td align=center><b>X2 = </b></td>
<td align=center><input type=text size=6 name="x2"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator30

Квадратичное уровнение 2
 (с мнимой единицей)

x2+ x + = 0

x1=
x2=

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: John Caranta (caranta@netzero.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var rootparti;
var rootpart;
var det;
var rootparti1;
var rootparti2;
var a;
var b;
var c;
var x1;
var x2;
var i = "i";
function checkQuad() {
var a = document.fquad.fa.value;
var b = document.fquad.fb.value;
var c = document.fquad.fc.value;
if (a == 0 && c != 0) {
x1 = -c / b;
x2 = "Not a quadratic equation, but here is your answer for x";
document.fquad.x1.value=x1;
document.fquad.x2.value=x2;
}
else if (a == "" && c != 0) {
x1 = -c / b;
x2 = "Not a quadratic equation";
document.fquad.x1.value=x1;
document.fquad.x2.value=x2;
}
else {
quad();
}
}
function quad() {
var a = document.fquad.fa.value;
var b = document.fquad.fb.value;
var c = document.fquad.fc.value;
det = Math.pow(b,2) - 4 * a * c;
rootpart = Math.sqrt(det) / (2 * a);
rootparti = (Math.sqrt(-det) / (2 * a)) + i;
if (parseFloat(rootparti) < 0) {
rootparti1 = rootparti;
rootparti2 = (-1 * parseFloat(rootparti)) + i;
}
else {
rootparti1 = (-1 * parseFloat(rootparti)) + i;
rootparti2 = rootparti;
}
if (rootparti1 == "1i") {
rootparti1 = i;
rootparti2 = "-i";
}
else if (rootparti1 == "-1i") {
rootparti1 = "-i";
rootparti2 = i;
}
if (det == 0) {
x1 = x2 = -b / (2 * a);
}
else if (det > 0) {
x1 = (-b + Math.sqrt(det)) / (2 * a);
x2 = (-b - Math.sqrt(det)) / (2 * a);
}
else if ((-b / (2 * a)) == 0) {
x1 = rootparti1;
x2 = rootparti2;
}
else {
x1 = (-b / (2 * a) + " + " + rootparti1);
x2 = (-b / (2 * a) + " + " + rootparti2);
}
document.fquad.x1.value=x1;
document.fquad.x2.value=x2;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=fquad>
<table>
<tr>
<td>
<h2>
<input name=fa size=4> x<SUP>2</SUP>+ <input name=fb size=4> x + <input name=fc size=4> = 0
<input type=button value="Solve" onClick="checkQuad()"> <input type=reset value="Reset">
</h2>
</td>
</tr>
<tr>
<td>
<h2>
x<sub>1</sub>= <input name=x1 size=45>
<br>
x<sub>2</sub>= <input name=x2 size=45>
</h2>
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator21

Кинетическая энергия

Масса (кг) | Скорость (м/с) | Кинетическая энергия (дж)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: David K (davidwkjr@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function a_times_b(form) {
a = eval(form.a.value);
b = eval(form.b.value);
c = 1 / 2 * a * b * b;
form.c.value = c;
}
function c_div_b(form) {
c = eval(form.c.value);
b = eval(form.b.value);
a = c / (b * b);
form.a.value = a * 2;
}
function c_div_a(form) {
c = eval(form.c.value);
a = eval(form.a.value);
b = c / (1 / 2 * a);
form.b.value = Math.sqrt(c / (1 / 2 * a));
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table width=300 border=0>
<form name="fromcal">
<tr>
<td bgcolor="#CCCCCC">Масса (кг)</td>
<td bgcolor="#CCCCCC">Скорость (м/с)</td>
<td bgcolor="#CCCCCC">Кинетическая энергия (дж)</td>
</tr>
<tr>
<td bgcolor="#CCCCCC"><input type=number name="a" value=" " size=10></td>
<td bgcolor="#CCCCCC"><input type=number name=b value=" " size=10></td>
<td bgcolor="#CCCCCC"><input type=number name="c" value=" " size=10></td>
</tr>
<tr>
<td bgcolor="#CCCCCC"><input type=button value="Найти массу" onClick="c_div_b(this.form)"></td>
<td bgcolor="#CCCCCC"><input type=button value="Найти скорость" onClick="c_div_a(this.form)"></td>
<td bgcolor="#CCCCCC"><input type=button value="Найти КИ" onClick="a_times_b(this.form)"></td>
</tr>
</form>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat9

Количество сожженных каллорий

(без комментариев)

Ваш Вес | Пробежали миль | Сожжено каллорий
Комментарий

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">

<!--
var myWeight;
var myDistance;

function HowMany(form)
{
var difference;
difference = (myDistance * myWeight) * .653;
form.Fdiff.value = difference;

if (difference < 100) {
form.comment.value="You better start working!";
}
if (difference > 101 && difference < 200) {
form.comment.value="Nice run, but you can do better.";
}
if (difference > 201 && difference < 300) {
form.comment.value= "Very good! Push above 300 next time.";
}
if (difference > 301 && difference < 500) {
form.comment.value="Great! Your a runner.....keep it up!";
}
if (difference > 501 && difference < 700) {
form.comment.value="Bill Rogers move over!";
}
if (difference > 701) {
form.comment.value="Your my hero! Have a jelly doughnut.";
}

}

function SetMyWeight(weight)
{
myWeight = weight.value;
}

function SetmyDistance(dis)
{
myDistance = dis.value;
}

function ClearForm(form){

form.myWeight.value = "";
form.myDistance.value = "";
form.Fdiff.value = "";
form.comment.value = "";

}
// -->

</SCRIPT>
<center>
<FORM METHOD="POST">
<TABLE border=3>
<TR>
<TD><div align=center>Ваш<br>Вес</div></TD>
<TD><div align= center>Пробежали<br>миль</div></TD>
<TD><div align= center>Сожжено<br>каллорий</div></TD>
<TD><INPUT TYPE=BUTTON ONCLICK="HowMany(this.form)" VALUE="Считать"></TD>
</TR>
<tr>
<TD><div align=center><INPUT TYPE=text NAME=myWeight SIZE="4"ONCHANGE=
 "SetMyWeight(this)"></div></TD>
<TD><div align=center><INPUT TYPE=text NAME=myDistance SIZE="4"ONCHANGE=
 "SetmyDistance(this)"></div></TD>
<TD><div align=center><INPUT TYPE=text NAME="Fdiff" VALUE="" SIZE="6"></div></TD>
<TD><div align=center><INPUT TYPE=BUTTON VALUE=" Сброс" onClick="ClearForm(this.form)"></div></tr>
</table>
<table border=3>
<tr>
<TD><DIV ALIGN= CENTER>Комментарий</DIV></TD>
<TD><INPUT TYPE=text NAME="comment" size="37"></td>
</TR>
</TABLE>
</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator4

Сколько Вы уже прожили

Введите дату и время своего рождения
Месяц Число Год Час

Вы живете уже:
Месяцев:
Недель:
Дней:
Часов:
Минут:
Секунд:
Миллисекунд:
Ваш следующий день рождения через:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Dev Pragad (devpragad@yahoo.com) -->
<!-- Web Site: http://www.geocities.com/devpragad -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function start() {
document.form1.day.value = "";
document.form1.month.value = "";
document.form1.year.value = "";
document.form1.age.value = "";
document.form1.months.value = "";
document.form1.weeks.value = "";
document.form1.answer.value = "";
document.form1.hours.value = "";
document.form1.min.value = "";
document.form1.sec.value = "";
document.form1.bday.value = "";
document.form1.milli.value = "";
}
function run() {
var ap;
dd = document.form1.day.value;
mm = document.form1.month.value;
yy = document.form1.year.value;
with(document.form1) {
ap = parseInt(ampm.selectedIndex);
hr = parseInt(hrs.value);
if(hr <= 0 && hr >= 13) {
ap = null;
alert("asdf")
}
}
main="верно заполнены:";
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == "") || (dd == "") || (yy == ""))
main = "неверно заполнены:";
else
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30))
main = "неверно заполнены:";
else
if (mm == 2) {
if (dd > 29)
main = "неверно заполнены:";
else if((dd > 28) && (!lyear(yy)))
main="неверно заполнены:";
}
else
if((yy > 9999)||(yy < 0))
main = "неверно заполнены:";
else
main = main;
if(main == "верно заполнены:") {
function leapyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0))
return true;
else
return false;
}
days = new Date();
gdate = days.getDate();
gmonth = days.getMonth();
gyear = days.getYear();
age = gyear - yy;
if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) {
age = age;
}
else {
if(mm <= (gmonth)) {
age = age;
}
else {
age = age - 1;
}
}
if(age == 0)
age = age;
document.form1.age.value=" Вам " + age+ " лет и ";
if(mm <= (gmonth + 1))
age = age - 1;
if((mm == (gmonth + 1)) && (dd > parseInt(gdate)))
age = age + 1;
var m;
var n;
if (mm == 12) { n = 31 - dd; }
if (mm == 11) { n = 61 - dd; }
if (mm == 10) { n = 92 - dd; }
if (mm == 9) { n = 122 - dd; }
if (mm == 8) { n = 153 - dd; }
if (mm == 7) { n = 184 - dd; }
if (mm == 6) { n = 214 - dd; }
if (mm == 5) { n = 245 - dd; }
if (mm == 4) { n = 275 - dd; }
if (mm == 3) { n = 306 - dd; }
if (mm == 2) { n = 334 - dd; if(leapyear(yy)) n = n + 1; }
if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n = n + 1; }
if (gmonth == 1) m = 31;
if (gmonth == 2) { m = 59; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 3) { m = 90; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 4) { m = 120; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 5) { m = 151; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 6) { m = 181; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 7) { m = 212; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 8) { m = 243; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 9) { m = 273; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 10) { m = 304; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 11) { m = 334; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 12) { m = 365; if (leapyear(gyear)) m = m + 1; }
totdays = (parseInt(age) * 365);
totdays += age / 4;
totdays = parseInt(totdays) + gdate + m + n;
document.form1.answer.value = "" + totdays +" дней ";
months = age * 12;
months += 12 - parseInt(mm);
months += gmonth;
document.form1.months.value = months + " месяцев";
if (gmonth == 1) p = 31 + gdate;
if (gmonth == 2) { p = 59 + gdate; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 3) { p = 90 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 4) { p = 120 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 5) { p = 151 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 6) { p = 181 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 7) { p = 212 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 8) { p = 243 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 9) { p = 273 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p = p + 1; }
weeks = totdays / 7;
weeks += " недель";
weeks = parseInt(weeks);
document.form1.weeks.value = weeks + " недель";
var time = new Date();
ghour = time.getHours();
gmin = time.getMinutes();
gsec = time.getSeconds();
hour = ((age * 365) + n + p) * 24;
hour += (parseInt(age / 4) * 24);
if(ap == 0)
hour = hour - hr;
else {
if(ap == 1) {
hour = hour - (11 + hr)
}
}
document.form1.hours.value = hour + " часов";
var min;
min = (hour * 60) + gmin;
document.form1.min.value = min + " минут";
sec = (min * 60) + gsec;
document.form1.sec.value = sec + " секунд";
var millisec;
var gmil;
gmil = days.getMilliseconds();
millisec = (sec * 1000) + gmil;
document.form1.milli.value = millisec + " миллисекунд";
mm = mm - 1;
var r;
if(mm == 0) r = 1;
if(mm == 1) r = 31;
if(mm == 2) { r = 59; if (leapyear(gyear)) m = m + 1; }
if(mm == 3) { r = 90; if (leapyear(gyear)) r = r + 1; }
if(mm == 4) { r = 120; if (leapyear(gyear)) r = r + 1; }
if(mm == 5) { r = 151; if (leapyear(gyear)) r = r + 1; }
if(mm == 6) { r = 181; if (leapyear(gyear)) r = r + 1; }
if(mm == 7) { r = 212; if (leapyear(gyear)) r = r + 1; }
if(mm == 8) { r = 243; if (leapyear(gyear)) r = r + 1; }
if(mm == 9) { r = 273; if (leapyear(gyear)) r = r + 1; }
if(mm == 10) { r = 304; if (leapyear(gyear)) r = r + 1; }
if(mm == 11) { r = 334; if (leapyear(gyear)) r = r + 1; }
if(mm == 12) { r = 365; if (leapyear(gyear)) r = r + 1; }
mm = mm + 1;
r = parseInt(r) + parseInt(dd);
if( mm > (gmonth + 1)) {
bday = r - m - gdate;
}
else {
if(mm == (gmonth + 1) && (gdate < dd)) {
bday = (r - m - gdate);
}
else {
if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) {
a = 366;
}
else {
a = 365;
}
bday = a + (r - m - gdate);
}
}
nhour = 24-parseInt(ghour);
nmin = 60 - parseInt(gmin);
nsec = 60 - parseInt(gsec);
go();
if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) {
document.form1.bday.value = "today is your birthday";
alert("Happy Birthday");
} else {
document.form1.bday.value = bday + " дней " + nhour + " часов " + nmin + " минут " + nsec + " секунд";
setTimeout("run()", 1);
}
function go() {
function lyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true;
else return false;
}
mm = parseInt(mm);
dd = parseInt(dd);
yy = parseInt(yy);
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == " ") || (dd == " ") || (yy == " ")) main="Invalid";
else
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = "неверно заполнены:";
else
if (mm == 2) {
if (dd > 29)
main = "неверно заполнены:";
else
if(( dd > 28) && (!lyear(yy)))
main = "неверно заполнены:";
}
else main = main;
if(main == "верно заполнены:") {
var m;
if (mm == 1) n = 31;
if (mm == 2) n = 59 + 1;
if (mm == 3) n = 90 + 1;
if (mm == 4) n = 120 + 1;
if (mm == 5) n = 151 + 1;
if (mm == 6) n = 181 + 1;
if (mm == 7) n = 212 + 1;
if (mm == 8) n = 243 + 1;
if (mm == 9) n = 273 + 1;
if (mm == 10) n = 304 + 1;
if (mm == 11) n = 334 + 1;
if (mm == 12) n = 365 + 1;
if((mm == 1)||(mm == 3)||(mm == 5)||(mm == 7)||(mm == 8)||(mm == 10)||(mm == 12))
n += 31 + dd;
else if((mm == 4)||(mm == 6)||(mm == 9)||(mm == 11))
n += 31 + dd + 1;
else if(mm == 2) {
if(lyear(yy)) n += 29 + dd - 3;
else if(!lyear(yy)) n += 28 + dd - 1;
}
fours = yy / 4;
hunds = yy / 100;
fhunds = yy / 400;
var day;
day = (yy + n + fours - hunds + fhunds) % 7;
day = parseInt(day)
switch(day)
{
case 1 : document.form1.age.value +=" Вы родились в воскресенье"
break
case 2 : document.form1.age.value +=" Вы родились в понедельник"
break
case 3 : document.form1.age.value +=" Вы родились в вторник"
break
case 4 : document.form1.age.value +=" Вы родились в среду"
break
case 5 : document.form1.age.value +=" Вы родились в четверг"
break
case 6 : document.form1.age.value +=" Вы родились в пятницу"
break
case 7 : document.form1.age.value +=" Вы родились в субботу"
break
case 0 : document.form1.age.value +=" Вы родились в субботу"
break
}
}
else {
document.form1.age.value += main + " дата";
}
}
}
else {
document.form1.age.value = main + " дата";
document.form1.months.value = "";
document.form1.weeks.value = "";
document.form1.answer.value = "";
document.form1.hours.value = "";
document.form1.min.value = "";
document.form1.sec.value = "";
document.form1.bday.value = "";
document.form1.milli.value = "";
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="start()">

<CENTER>
<br>
Введите дату и время своего рождения
<br>
<FORM name=form1>
Месяц<INPUT name=month size=3>
Число<INPUT name=day size=3>
Год<INPUT name=year size=6>
Час<INPUT name=hrs value=00 size=6>
<select size="1" name="ampm">
<option selected>AM</option>
<option>PM</option>
</select>
<INPUT name=start onclick=run() type=button value="Считать">
<BR>
<BR>
<INPUT name=age size=55 value="Your age will be displayed here" style="font-size: 8pt; font-family: Arial">
<BR>
<BR>
Вы живете уже:
<BR>
<TABLE border = 0>
<TBODY>
<TR>
<TD>Месяцев:</TD>
<TD><INPUT name=months size=30></TD>
</TR>
<TR>
<TD>Недель:</TD>
<TD><INPUT name=weeks size=30></TD>
</TR>
<TR>
<TD>Дней:</TD>
<TD><INPUT name=answer size=30></TD>
</TR>
<TR>
<TD>Часов:</TD>
<TD><INPUT name=hours size=30></TD>
</TR>
<TR>
<TD>Минут:</TD>
<TD><INPUT name=min size=30></TD>
</TR>
<TR>
<TD>Секунд:</TD>
<TD><INPUT name=sec size=30></TD>
</TR>
<TR>
<TD>Миллисекунд:</TD>
<TD><INPUT name=milli size=30></TD>
</TR>
</TBODY>
</TABLE>
Ваш следующий день рождения через:
<BR>
<INPUT name=bday size=40>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator2

Количество показов баннера
 Заполните любые два поля и калькулятор высчитает величину для третьего

Цена (оплата):
CPM (цена за тысячу показов):
Необходимое количество показов:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function adCalc(form) {
var ok = 0;
var cost = form.cost.value;
var cpm = form.cpm.value;
var exposures = form.exposures.value;

var complete = "Похоже, Вы ввели сразу всю информацию! Для калькулятора необходимо, чтобы Вы ввели значения только в два любых поля, значение для третьего высчитает сам калькулятор.";

var incomplete = "Вы ввели недостаточно информации. Введите информацию в любые два поля, значение для третьего высчитает сам калькулятор.";

if (cost != "" && cpm != "") { form.exposures.value = ((cost / cpm) * 1000); ok++; } // solve for exposures
if (cost != "" && exposures != "") { form.cpm.value = ((1000 / exposures) * cost); ok++; } // solve for cpm
if (cpm != "" && exposures != "") { form.cost.value = cpm / (1000 / exposures); ok++; } // solve for cost

if (!ok) alert(incomplete); // they did not enter at least 2 fields
if (cost != "" && cpm != "" && exposures != "") alert(complete); // they filled in all the fields!
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method=post>
<table border="1" cellpadding=5 bgcolor="#CCCCCC">
<tr>
<td align=center>Цена (оплата):</td>
<td align=center><input type=text name=cost size=8 value="" onFocus="select()"></td>
</tr>
<tr>
<td align=center>CPM (цена за тысячу показов):</td>
<td align=center><input type=text name=cpm size=8 value="" onFocus="select()"></td>
</tr>
<tr>
<td align=center>Необходимое количество показов:</td>
<td align=center><input type=text name=exposures size=8 value="" onFocus="select()"></td>
</tr>
<tr>
<td colspan=2 align=center><input type=button value="Решить" onClick="adCalc(this.form)">
<input type=reset value=Сброс></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator34

Корень квадратный и квадрат числа

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Adam Hinz (ajhinz@zworg.com) -->
<!-- Web Site: http://www3.cybercities.com/a/ajhinz -->
<!-- Modified By: Ronnie T. Moore -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function sqRt(form) {
var number = form.num.value;
var ans = Math.sqrt(number);
form.answer.value = ans;
}
function sqIt(form) {
var number = form.num.value;
var ans = eval(number * number);
form.answer.value = ans;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table border=1>
<tr>
<td>
<input type=text name=num size=10>
</td>
<td>
<input type=button value="Корень (квадратный)" onClick="sqRt(this.form)"><br>
<input type=button value="Квадрат числа" onClick="sqIt(this.form)">
</td>
<td>
<input type=text name=answer size=15><br>
<input type=button value="<-- вернуть назад" onClick="this.form.num.value = this.form.answer.value">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator39

Население Земли
Рассчет количества людей на нашей планете производится на основании данных социологических служб США.

Обновите страницу прямо сейчас и обратите внимание на изменения.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var worldpop = 6080141683;
// US Census estimate on 7/1/00
m = 7
d = 1
yr = 2000

var montharray=new Array("Jan", "Feb","Mar","Apr","May","Jun",
 "Jul","Aug","Sep","Oct","Nov","Dec");
var today=new Date();
var todayy=today.getYear();

// Y2K Fix by Isaac Powell
// http://onyx.idbsu.edu/~ipowell

if ((navigator.appName == "Microsoft Internet Explorer") && (todayy < 2000))
todayy="19" + todayy;
if (navigator.appName == "Netscape")
todayy = 1900 + todayy;
function outputComma(number) { // (c) irt.org
number = '' + number;
if (number.length > 3) {
var mod = number.length%3;
var output = (mod > 0 ? (number.substring(0,mod)) : '');
for (i=0 ; i < Math.floor(number.length/3) ; i++) {
if ((mod ==0) && (i ==0))
output += number.substring(mod+3*i,mod+3*i+3);
else
output += ',' + number.substring(mod+3*i,mod+3*i+3);
}
return (output);
}
else return number;
}
var todaym = today.getMonth();
var todayd = today.getDate();
var todaystring = new Date();
var paststring = montharray[m-1]+" "+d+", "+yr;
growth = Math.floor(2.6*(Math.round((Date.parse(todaystring) -Date.parse(paststring))/(1000))*1));
document.write("<font size=5>Население Земли на данный момент: <b>" + outputComma(worldpop+growth) + "</b></font>");
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator24

Общий делитель/делимое

Первое число | Второе число
Наименьшее общее делимое | Наибольший общий делитель

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: John T. Caranta III (caranta@netzero.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getGCD() {
var w, x, y;
x = document.lcm_gcd.a.value;
y = document.lcm_gcd.b.value;
while (y != 0) {
w = x % y;
x = y;
y = w;
}
return x;
}
function getLCM() {
var gcd = getGCD();
var lcm = (document.lcm_gcd.a.value * document.lcm_gcd.b.value) / gcd;
document.lcm_gcd.lcmA.value = lcm;
document.lcm_gcd.gcdA.value = gcd;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=lcm_gcd>
<table border=0>
<tr>
<td width=200>
Первое число
<br>
<input type=text name=a>
</td>
<td width=200>
Второе число
<br>
<input type=text name=b>
</td>
</tr>
<tr>
<td colspan=2 align=center>
<br>
<input type=button value=Решить onClick="getLCM()">
<br>
</td>
</tr>
<tr>
<td>
Наименьшее общее делимое
<br>
<input type=text name=lcmA>
</td>
<td>
Наибольший общий делитель
<br>
<input type=text name=gcdA>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator26

Периодическая таблица
(на английском)

Periodic Table of the Elements

H |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | He
Li | Be |  |  |  |  |  |  |  |  |  |  | B | C | N | O | F | Ne
Na | Mg |  |  |  |  |  |  |  |  |  |  | Al | Si | P | S | Cl | Ar
K | Ca | Sc | Ti | V | Cr | Mn | Fe | Co | Ni | Cu | Zn | Ga | Ge | As | Se | Br | Kr
Rb | Sr | Y | Zr | Nb | Mo | Tc | Ru | Rh | Pd | Ag | Cd | In | Sn | Sb | Te | I | Xe
Cs | Ba | La | Hf | Ta | W | Re | Os | Ir | Pt | Au | Hg | Tl | Pb | Bi | Po | At | Rn
Fr | Ra | Ac | Unq | Unp | Unh | Uns | Uno | Une |
Ce | Pr | Nd | Pm | Sm | Eu | Gd | Tb | Dy | Ho | Er | Tm | Yb | Lu |
Th | Pa | U | Np | Pu | Am | Cm | Bk | Cf | Es | Fm | Md | No | Lr |
Name | Number | Weight
Melts |  | Boils

Legend
Metals | A solid substance that is a good conductor of heat and electricity. Can be formed into many shapes.
Metalloid | "Middle elements" - conduct heat and electricity better than nonmetals, but not as well as metals. Easier to shape than nonmetals, but not as easy as metals. Solid at room temperature.
Nonmetals | A poor conductor of heat and electricity. Not easily formed into shapes.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Matthew Hoesch (mdih@msn.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function display (Name, Number, Weight, Melt, Freeze) {
document.table.name.value=Name;
document.table.number.value=Number;
document.table.weight.value=Weight;
document.table.melt.value=Melt;
document.table.freeze.value=Freeze;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center><h2>Periodic Table of the Elements</h2>
<p>
<form>
<table cellspacing=2 cellpadding=0 width=500>
<tr>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Hydrogen','1','1.0079','-259.14C','-252.87C');">H</a></td>
<td colspan="16"></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Helium','2','4.0026','-272C @ 26ATM','-268.6C');">He</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Lithium','3','6.94','180.54 C','1347 C');">Li</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Beryllium','4','9.01218','1278 C','2970 C');">Be</a></td>
<td colspan="10"></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Boron','5','10.81','2300 C','2550 C');">B</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Carbon','6','12.011','3500 C','4827 C');">C</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Nitrogen','7','14.0067','-209.9 C','-195.8 C');">N</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Oxygen','8','15.9994','-218.4 C','-183.0 C');">O</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Flourine','9','18.998403','-219.62 C','-188.14 C');">F</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Neon','10','20.17','-248.6 C','-246.1 C');">Ne</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Sodium','11','22.98977','97.8 C','882.9 C');">Na</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Magnesium','12','24.305','638.8 C','1090 C');">Mg</a></td>
<td colspan="10"></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Aluminum','13','26.98154','660.37 C','2467 C');">Al</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Silicon','14','28.0855','1410 C','2355 C');">Si</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Phosphorous','15','30.97376','44.1 C','280 C');">P</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Sulfur','16','32.06','112.8 C','444.6 C');">S</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Chlorine','17','35.453','-100.98 C','-34.6 C');">Cl</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Argon','18','39.948','-189.3 C','-186 C');">Ar</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Potassium','19','39.0983','63.65 C','774 C');">K</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Calcium','20','40.08','839 C','1484.4 C');">Ca</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Scandium','21','44.9559','1539 C','2832 C');">Sc</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Titanium','22','47.90','1660 C','3287 C');">Ti</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Vandium','23','50.9415','1890±10 C','3380 C');">V</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Chromium','24','51.996','1857 C','2672 C');">Cr</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Manganese','25','54.9380','1245 C','1962 C');">Mn</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Iron','26','55.847','1535 C','2750 C');">Fe</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Cobalt','27','58.9332','1495 C','2870 C');">Co</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Nickel','28','58.71','1453 C','2732 C');">Ni</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Copper','29','63.546','1803 C','2567 C');">Cu</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Zinc','30','65.38','419.58 C','907 C');">Zn</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Gallium','31','69.735','29.78 C','2403 C');">Ga</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Germanium','32','72.59','937.4 C','2830 C');">Ge</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Arsenic','33','74.9216','81 C @ 28ATM','Sublimes at 613')">As</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Selenium','34','78.96','217 C','684.9 C');">Se</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Bromine','35','79.904','-7.2 C','58.78 C');">Br</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Krypton','36','83.80','-157.2 C','-153.4 C');">Kr</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Rubidium','37','85.467','38.89 C','688 C');">Rb</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Strontium','38','87.62','769 C','1384 C');">Sr</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Yttrium','39','88.9059','1523 C','3337 C');">Y</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Zirconium','40','91.22','1852±2 C','4377 C');">Zr</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Niobium','41','92.9064','2468±10 C','4927 C');">Nb</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Molybdenum','42','95.94','2617 C','4612 C');">Mo</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Technetium','43','98.9062','2200±50 C','4877 C');">Tc</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Ruthenium','44','101.07','2250 C','3900 C');">Ru</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Rhodium','45','102.9055','1966±3 C','3727 C');">Rh</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Palladium','46','106.4','1552 C','2927 C');">Pd</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Silver','47','107.868','961.93 C','2212 C');">Ag</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Cadmium','48','112.41','320.9 C','765 C');">Cd</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Indium','49','114.82','156.61 C','2000±10 C');">In</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Tin','50','118.69','231.9 C','2270 C');">Sn</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Antimony','51','121.75','630 C','1750 C');">Sb</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Tellurium','52','127.60','449.5 C','989.8 C');">Te</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Iodine','53','126.9045','113.5 C','184 C @ 35 atm')">I</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Xenon','54','131.30','-111.9 C','-108.1 C');">Xe</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Cesium','55','132.9054','28.5 C','678.4 C');">Cs</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Barium','56','137.33','725 C','1140 C');">Ba</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Lanthanum','57','138.9055','920 C','3469 C');">La</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Hafnium','72','178.49','2150 C','5400 C');">Hf</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Tantalum','73','180.947','2996 C','5425±100 C');">Ta</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Tungsten','74','183.85','3410±20 C','5660 C');">W</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Rhenium','75','186.207','3180 C','5627 C');">Re</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Osmium','76','190.2','3045 C','5027 C');">Os</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Iridium','77','192.22','2410 C','4527±100 C');">Ir</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Platinum','78','195.09','1772 C','3827 C');">Pt</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Gold','79','196.9665','1064.43 C','2807 C');">Au</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Mercury','80','200.59','-38.87 C','356.58 C');">Hg</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Thallium','81','204.37','303.5 C','1457±10C');">Tl</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Lead','82','207.2','327.5 C','1740 C');">Pb</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Bismuth','83','208.9804','271.3 C','1560±5C');">Bi</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Polonium','84','(209)','254 C','962 C');">Po</a></td>
<td align=center bgcolor="#FF4500"><a
href="javascript:display('Astatine','85','(210)','302 C','337 C');">At</a></td>
<td align=center bgcolor="#FFE4C4"><a
href="javascript:display('Radon','86','(222)','-71 C\t','-61.8 C');">Rn</a></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Francium','87','(223)','27 C\t','677 C');">Fr</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Radium','88','226.0254','700 C','1737 C');">Ra</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Actinium','89','(227)','1050 C','3200±300 C');">Ac</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unnilquadium','104','(260)','N/A C','N/A C');">Unq</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unnilpentium','105','(260)','N/A C','N/A C');">Unp</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unnilhexium','106','(263)','N/A C','N/A C');">Unh</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unnilseptium','107','(262)','N/A C','N/A C');">Uns</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unniloctium', '108', '(265)', ' N/A C', 'N/A C');">Uno</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Unnilennium', '109', '(267)', ' N/A C', 'N/A C');">Une</a></td>
<td colspan="9"></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Cerium','58','140.12','795 C','3257 C');">Ce</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Praseodymium','59','140.9077','935 C','3127 C');">Pr</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Neodymium','60','144.24','1010 C','3127 C');">Nd</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Promethium','61','(145)','N/A C','N/A C');">Pm</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Samarium','62','150.4','1072 C','1900 C');">Sm</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Europium','63','151.96','822 C','1597 C');">Eu</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Gadolinium','64','157.25','1311 C','3233 C');">Gd</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Terbium','65','158.9254','1360 C','3041 C');">Tb</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Dysprosium','66','162.50','1412 C','2562 C');">Dy</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Holmium','67','164.9304','1470 C','2720 C');">Ho</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Erbium','68','167.26','1522 C','2510 C');">Er</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Thulium','69','168.9342','1545 C','1727 C');">Tm</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Ytterbium','70','173.04','824 C','1466 C');">Yb</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Lutetium','71','174.96','1656 C','3315 C');">Lu</a></td>
<td colspan="4"></td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Thorium','90','232.0381','1750 C','4790 C');">Th</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Proactinium','91','231.0359','1600 C','N/A C');">Pa</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Uranium','92','238.029','1132 C','3818 C');">U</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Neptunium','93','237.0482','640 C','3902 C');">Np</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Plutonium','94','(244)','639.5±2 C','3235±19 C');">Pu</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Americium','95','(243)','994 C','2607 C');">Am</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Curium','96','(247)','1340 C','N/A C');">Cm</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Berkelium','97','(247)','N/A C','N/A C');">Bk</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Californium','98','(251)','N/A C','N/A C');">Cf</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Einsteinium','99','(254)','N/A C','N/A C');">Es</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Fremium','100','(257)','N/A C','N/A C');">Fm</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Mendelevium','101','(258)','N/A C','N/A C');">Md</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Nobelium','102','(259)','N/A C','N/A C');">No</a></td>
<td align=center bgcolor="#5F9EA0"><a
href="javascript:display('Lawrencium','103','(260)','N/A C','N/A C');">Lr</a></td>
<td colspan="4"></td>
</tr>
</table>
</form>
<form name="table">
<table width="500">
<tr>
<td align="center" width="33%">Name</td>
<td align="center" width="33%">Number</td>
<td align="center" width="33%">Weight</td>
</tr>
<tr>
<td align="center" width="33%"><input type="text" name="name" value=" " size="14"></td>
<td align="center" width="33%"><input type="text" name="number" value=" " size="6"></td>
<td align="center" width="33%"><input type="text" name="weight" value=" " size="16"></td>
</tr>
<tr>
<td align="center" width="33%">Melts</td>
<td align="center" width="33%"></td>
<td align="center" width="33%">Boils</td>
</tr>
<tr>
<td align="center" width="33%"><input type="text" name="melt" value=" " size="18"></td>
<td align="center" width="33%"></td>
<td align="center" width="33%"><input type="text" name="freeze" value=" " size="18"></td>
</tr>
</table>
</form>
<hr width=600>
<p><center>
<table border=1 width=500>
<tr><td colspan=2 align=center>Legend</td>
</tr>
<tr>
<td align=center bgcolor="#5F9EA0">Metals</td>
<td>A solid substance that is a good conductor of heat and electricity. Can be formed into many shapes.</td>
</tr>
<tr>
<td align=center bgcolor="#FF4500">Metalloid</td>
<td>"Middle elements" - conduct heat and electricity better than nonmetals, but not as well as metals. Easier to shape than nonmetals, but not as easy as metals. Solid at room temperature.</td>
</tr>
<tr>
<td align=center bgcolor="#FFE4C4">Nonmetals</td>
<td>A poor conductor of heat and electricity. Not easily formed into shapes.</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator6

Площадь квадрата, круга, треугольника, прямоугольника и сферы
(с использованием запроса JavaScript)

Найти площадь: =

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael Hundt (mchundt@nglic.com) -->
<!-- Web Site: http://www.cinet.net/~mhundt/mystuff.htm -->
<!-- Modified by: Ronnie T. Moore (JavaScript Source) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function doArea(num) {
switch(num) {
case 0 : return (""); break;
case 1 : var length = prompt("Введите ширину квадрата:", "");
length = length * length;
return (length); break;
case 2 : var width = prompt("Введите ширину основания:", "");
var height = prompt("Введите высоту треугольника:", "");
return (width * height / 2); break;
case 3 : var width = prompt("Введите ширину прямоугольника:", "");
var height = prompt("Введите высоту прямоугольника:", "");
return (width * height); break;
case 4 : var radius = prompt("Введите радиус круга: ", "");
return (Math.PI * Math.pow(radius, 2)); break;
case 5 : var radius = prompt("Введите радиус сферы:", 0);
return (4 * Math.PI * (Math.pow(radius, 2))); break;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=calcarea>
Найти площадь:
<select name="shape" size="1" onChange="this.form.area.value = doArea(this.selectedIndex);">
<option> ...
<option value="square">Квадрат
<option value="triangle">Треугольник (прям.)
<option value="rectangle">Прямоугольник
<option value="circle">Круг
<option value="sphere">Сфера
</select>
= <input type=text name=area size=10>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat6

Простой конвертер из десятичной системы в двоичную

Введите число:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT language="JavaScript">

function check() {
dec = document.DecToBin.deci.value;

if (dec == "")
{alert("please insert decimal number first.");

}
else
{scan(dec);};
};

function scan(ok)
{
var chr="1234567890";
count=0;
var ex;
var h;var hasil=0;
for(i=0;i<ok.length;i++)
{ ex=ok.charAt(i);
for(f=0;f<10;f++)
{h=chr.charAt(f);
if(h==ex){hasil=hasil+1;};
};
};
if (hasil != ok.length)
{
alert("put number only ->'1234567890' .");
document.DecToBin.deci.value = "";
}
else{bnr();};
};

function bnr()
{
var dec=new Number(); dec=document.DecToBin.deci.value; i=dec;
var hit="";
while(i >= 1)
{
var m=(i*10)/4;
while(m > 1){m=m-5;};
if(m < 0){i=(i-1)/2;hit+="1";}else{i=i/2;hit+="0";};

};

var b ="";
var bin;
bin=hit.length;
for(a=hit.length;a>=0;a--)
{
b += hit.substring(a-1,a);
};
document.DecToBin.deci.value=b;
if (b.length > 15){alert("the answer is longer than the textbox -> "+b)};
};

</SCRIPT>
</font>
<FORM name="DecToBin"><font size="2">Введите число:</font>
<font size="4" color="#FF0000">
<BR><INPUT type=text name="deci" size=15>
<INPUT type="Button" value="конвертировать!" onclick="check()" style="font-size: 8pt; font-family: Arial">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator13

Разница между датами
Введите две даты и время и скрипт посчитает количество недель, дней, часов, минут и секунд между ними!

Первая дата:  Дата:    (MM/DD/YYYY формат)
              Время:   (HH:MM:SS формат)

Вторая дата:  Дата:    (MM/DD/YYYY формат)
              Время:   (HH:MM:SS формат)

Разница между датами:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function isValidDate(dateStr) {
// Date validation function courtesty of
// Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

// Checks for the following valid date formats:
// MM/DD/YY MM/DD/YYYY MM-DD-YY MM-DD-YYYY

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year

var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
alert(dateStr + " Date is not in a valid format.")
return false;
}
month = matchArray[1]; // parse date into variables
day = matchArray[3];
year = matchArray[4];
if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}
if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn't have 31 days!")
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29 || (day==29 && !isleap)) {
alert("February " + year + " doesn't have " + day + " days!");
return false;
}
}
return true;
}

function isValidTime(timeStr) {
// Time validation function courtesty of
// Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Время указано в неверном формате (см. пример).");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];

if (second=="") { second = null; }
if (ampm=="") { ampm = null }

if (hour < 0 || hour > 23) {
alert("Часы должны быть в пределах 1 и 12. (или 0 и 23 для 24-часового формата)");
return false;
}
if (hour <= 12 && ampm == null) {
if (confirm("Пожалуйста, уточните какой формат времени Вы используете. OK = 12-часовой, CANCEL = 24-часовой")) {
alert("Вы должны указать AM или PM.");
return false;
}
}
if (hour > 12 && ampm != null) {
alert("Не надо указывать AM или PM для 24-часового формата.");
return false;
}
if (minute < 0 || minute > 59) {
alert ("Минуты должны быть в пределах 0 и 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert ("Секунды должны быть в пределах 0 и 59.");
return false;
}
return true;
}

function dateDiff(dateform) {
date1 = new Date();
date2 = new Date();
diff = new Date();

if (isValidDate(dateform.firstdate.value) && isValidTime(dateform.firsttime.value)) { // Validates first date
date1temp = new Date(dateform.firstdate.value + " " + dateform.firsttime.value);
date1.setTime(date1temp.getTime());
}
else return false; // otherwise exits

if (isValidDate(dateform.seconddate.value) && isValidTime(dateform.secondtime.value)) { // Validates second date
date2temp = new Date(dateform.seconddate.value + " " + dateform.secondtime.value);
date2.setTime(date2temp.getTime());
}
else return false; // otherwise exits

// sets difference date to difference of first date and second date

diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

timediff = diff.getTime();

weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
timediff -= weeks * (1000 * 60 * 60 * 24 * 7);

days = Math.floor(timediff / (1000 * 60 * 60 * 24));
timediff -= days * (1000 * 60 * 60 * 24);

hours = Math.floor(timediff / (1000 * 60 * 60));
timediff -= hours * (1000 * 60 * 60);

mins = Math.floor(timediff / (1000 * 60));
timediff -= mins * (1000 * 60);

secs = Math.floor(timediff / 1000);
timediff -= secs * 1000;

dateform.difference.value = weeks + " недель, " + days + " дней, " + hours + " часов, " + mins + " минут и " + secs + " секунд";

return false; // form should never submit, returns false
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form onSubmit="return dateDiff(this);">
<table bgcolor="#CCCCCC">
<tr><td>
<pre>
Первая дата: Дата: <input type=text name=firstdate value="" size=10 maxlength=10> (MM/DD/YYYY <font size="3" color="#000000"><tt>формат</tt></font>)
Время: <input type=text name=firsttime value="" size=10 maxlength=10> (HH:MM:SS формат)

Вторая дата: Дата: <input type=text name=seconddate value="" size=10 maxlength=10> (MM/DD/YYYY <font size="3" color="#000000"><tt>формат</tt></font>)
Время: <input type=text name=secondtime value="" size=10 maxlength=10> (HH:MM:SS <font size="3" color="#000000"><tt>формат</tt></font>)

<center><input type=submit value="Посчитать разницу!">

Разница между датами:

<input type=text name=difference value="" size=60>
</center>
</pre>
</td></tr>
</table>
</form>
</center></tt>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator35

Расстояние между точками с известными координатами

Расстояние от точки A до точки B
Точка A |  | Точка B
(xA, | yA) | (xB, | yB)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jay Kimmel (jaykimmel@bigplanet.com) -->
<!-- Web Site: http://www.jkimmel.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function distance(form) {
var x1 = eval(form.x1.value);
var y1 = eval(form.y1.value);
var x2 = eval(form.x2.value);
var y2 = eval(form.y2.value);
var xdiff = x2 - x1;
var ydiff = y2 - y1;
form.answer.value = Math.pow((xdiff * xdiff + ydiff * ydiff), 0.5);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table border=3 cellspacing=2 cellpadding=5 bgcolor="#CCCCCC">
<tr>
<td colspan=4 align=center bgcolor="#CCCCCC">Расстояние от
точки A до точки B</td>
</tr>
<tr>
<td colspan=2 align=center bgcolor="#CCCCCC">Точка A</td>
<td colspan=2 align=center bgcolor="#CCCCCC">Точка B</td>
</tr>
<tr>
<td align=center bgcolor="#CCCCCC">(x<sub>A</sub>,</td>
<td align=center bgcolor="#CCCCCC">y<sub>A</sub>)</td>
<td align=center bgcolor="#CCCCCC">(x<sub>B</sub>,</td>
<td align=center bgcolor="#CCCCCC">y<sub>B</sub>)</td>
</tr>
<tr>
<td align=center bgcolor="#CCCCCC"><input type=text name=x1 size=5></td>
<td align=center bgcolor="#CCCCCC"><input type=text name=y1 size=5></td>
<td align=center bgcolor="#CCCCCC"><input type=text name=x2 size=5></td>
<td align=center bgcolor="#CCCCCC"><input type=text name=y2 size=5></td>
</tr>
<tr>
<td colspan=4 align=center bgcolor="#CCCCCC"><input type=button value="Найти расстояние" onClick="distance(this.form)"></td>
</tr>
<tr>
<td colspan=4 align=center bgcolor="#CCCCCC"><input type=text name=answer size=20></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator5

Расстояние между аэропортами (США)
(полезно для тех, кто часто посещает США и много там перемещается)

Основан на базе данных расстояний

Калькулятор расстояний

От:
До:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Joe Josey (jjosey@jomist.net) -->
<!-- Web Site: http://www.foxberry.net/jjosey -->
<!-- Begin
var Orig=new Array();
var Dest=new Array();
var nm=0;
var tc=0;
function DoCalc(form) {
from_airport=form.from.options[form.from.selectedIndex].value;
dest_airport=form.to.options[form.to.selectedIndex].value;

if (from_airport=="" || dest_airport=="") {
alert("Please enter both an Originating and Destination Airport.");
}
else {
Orig=from_airport.split("/");
Dest=dest_airport.split("/");
d=Math.acos(Math.sin(Orig[2])
*Math.sin(Dest[2])
+Math.cos(Orig[2])
*Math.cos(Dest[2])
*Math.cos(Orig[4]-Dest[4]));
nm=Math.round(3437.747*d);
if (Math.sin(Dest[4]-Orig[4]) < 0) {
tc=Math.acos((Math.sin(Dest[2])
-Math.sin(Orig[2])*Math.cos(d))
/(Math.sin(d)*Math.cos(Orig[2])));
}
else {
tc=2*Math.PI
-Math.acos((Math.sin(Dest[2])
-Math.sin(Orig[2])
*Math.cos(d))/(Math.sin(d)
*Math.cos(Orig[2])));
}
tc=Math.round(tc*(180/Math.PI));
message=("От "+ Orig[0] + " до " + Dest[0] + "\n\n");
message+=("Градусов: " +tc+ "\n");
message+=("Морских миль: "+nm+"\n");
message+=("Обычных миль: "+Math.round(nm*1.13636)+"\n");
message+=("Километров: "+Math.round(nm*1.6094));
alert(message);
}
}
// End -->
</script>

Основан на базе данных расстояний

</font>

<center>
<form>
<table width=225 border=1 cellpadding=3 bgcolor="#CCCCCC">
<tr><td colspan=2>
<p align="center"><b><font size="3">Калькулятор&nbsp;
расстояний</font></b></p>
</td></tr>
<tr><td>От:</td><td><select name="from">
<option value="">Аэропорт отбытия
<option value="ABQ/1/0.61156/1/1.86064">Albuerque, NM
<option value="ABY/1/0.55039/1/1.46945">Albany, GA
<option value="ALB/1/0.75660/1/1.28811">Albany, NY
<option value="AMA/1/0.61468/1/1.77509">Amarillo, TX
<option value="ANC/1/1.06760/1/2.61774">Anchorage, AK
<option value="ATW/1/0.77243/1/1.54494">Appleton, WI
<option value="AHN/1/0.58251/1/1.45433">Athens, GA
<option value="ATL/1/0.58713/1/1.47352">Atlanta, GA
<option value="AUS/1/0.52884/1/1.70519">Austin, TX
<option value="AVL/1/0.61846/1/1.44062">Ashville, NC
<option value="BWI/1/0.68373/1/1.33812">Baltimore, MD
<option value="BGR/1/0.78202/1/1.20128">Bangor, ME
<option value="BHM/1/0.58579/1/1.51413">Birmingham, AL
<option value="BOI/1/0.76035/1/2.02848">Boise, ID
<option value="BOS/1/0.73938/1/1.23927">Boston, MA
<option value="TRI/1/0.63661/1/1.43827">Bristol/Johnson City, TN
<option value="BRO/1/0.45216/1/1.70039">Brownsville, TX
<option value="BTR/1/0.53288/1/1.59084">Baton Rouge, LA
<option value="BTV/1/0.77615/1/1.27674">Burlington, VT
<option value="BUF/1/0.74944/1/1.37413">Buffalo, NY
<option value="YYC/1/0.89209/1/1.99002">Calgary, AB
<option value="CAE/1/0.77275/1/1.49083">Columbia, SC
<option value="CAK/1/0.71410/1/1.42143">Canton/Akron, OH
<option value="CID/1/0.73100/1/1.60064">Cedar Rapids, IA
<option value="CHS/1/0.57418/1/1.39696">Charleston, SC
<option value="CHA/1/0.61148/1/1.48708">Chattanooga, TN
<option value="CEF/1/0.73647/1/1.26589">Chicopee, MA
<option value="CLT/1/0.61459/1/1.41273">Charlotte, NC
<option value="MDW/1/0.72929/1/1.53156">Chicago, IL (MDW)
<option value="ORD/1/0.73266/1/1.53420">Chicago, IL (ORD)
<option value="LUK/1/0.68245/1/1.47338">Cincinnati, OH (LUK)
<option value="CLE/1/0.72274/1/1.42852">Cleveland, OH
<option value="COS/1/0.67739/1/1.82753">Colorado Spgs, CO
<option value="CSG/1/0.56749/1/1.48245">Columbus, GA
<option value="CMH/1/0.69804/1/1.44665">Columbus, OH
<option value="CRP/1/0.48468/1/1.70170">Corpus Christi, TX
<option value="CYS/1/0.71829/1/1.82931">Cheyenne, WY
<option value="CVG/1/0.68146/1/1.47760">Covington, KY
<option value="DAL/1/0.57328/1/1.69035">Dallas, TX (DAL)
<option value="DFW/1/0.57413/1/1.69367">Dallas, TX (DFW)
<option value="DAY/1/0.61642/1/1.46989">Dayton, OH
<option value="DEN/1/0.69418/1/1.83047">Denver, CO
<option value="DSM/1/0.72489/1/1.63468">Des Moines, IA
<option value="DET/1/0.74017/1/1.44877">Detroit, MI (DET)
<option value="DTW/1/0.73679/1/1.45470">Detroit, MI (DTW)
<option value="YIP/1/0.73717/1/1.45787">Detroit, MI (YIP)
<option value="YEG/1/0.93033/1/1.98255">Edmonton, AB
<option value="ELP/1/0.55510/1/1.85662">El Paso, TX
<option value="EVV/1/0.66387/1/1.52769">Evansville, IN
<option value="FYV/1/0.62841/1/1.64355">Fayetteville, AR
<option value="FAY/1/0.61069/1/1.37672">Fayetteville, NC
<option value="FNT/1/0.74988/1/1.46160">Flint, MI
<option value="FLL/1/0.45504/1/1.39891">Ft. Lauderdale, FL
<option value="FMY/1/0.46400/1/1.42879">Ft. Myers, FL (FMY)
<option value="RSW/1/0.46312/1/1.42687">Ft. Myers, FL (RSW)
<option value="FWA/1/0.71521/1/1.48690">Ft. Wayne, IN
<option value="FAT/1/0.64185/1/2.08945">Fresno, CA
<option value="YQX/1/0.85428/1/0.96231">Gander, NF
<option value="GRR/1/0.74843/1/1.49266">Grand Rapids, MI
<option value="GRB/1/0.77641/1/1.53813">Green Bay, WI
<option value="GSO/1/0.63001/1/1.39516">Greensboro, NC
<option value="GSP/1/0.60909/1/1.43489">Greer, SC
<option value="IAH/1/0.52325/1/1.66397">Houston, TX (IAH)
<option value="IND/1/0.69322/1/1.50599">Indianapolis, IN
<option value="JAN/1/0.56392/1/1.57211">Jackson, MS
<option value="JAX/1/0.53218/1/1.42573">Jacksonville, FL
<option value="MCI/1/0.68589/1/1.65312">Kansas City, MO (MCI)
<option value="MKC/1/0.68280/1/1.65094">Kansas City, MO (MKC)
<option value="EYW/1/0.42857/1/1.42695">Key West, FL
<option value="TYS/1/0.62503/1/1.46593">Knoxville, TN
<option value="LAS/1/0.62972/1/2.00975">Las Vegas, NV
<option value="LIT/1/0.60612/1/1.60960">Little Rock, AR
<option value="LAX/1/0.59239/1/2.06659">Los Angeles, CA
<option value="SDF/1/0.66625/1/1.49636">Louisville, KY
<option value="LBB/1/0.58754/1/1.77712">Lubbock, TX
<option value="MSN/1/0.75291/1/1.55922">Madison, WI
<option value="MIA/1/0.45015/1/1.40133">Miami, FL
<option value="MHT/1/0.74933/1/1.24681">Manchester, NH
<option value="MEM/1/0.61168/1/1.57042">Memphis, TN
<option value="MDT/1/0.70151/1/1.33977">Middletown, PA
<option value="MBS/1/0.75977/1/1.46744">Midland, MI
<option value="MKE/1/0.74956/1/1.53409">Milwaukee, WI
<option value="MSP/1/0.78336/1/1.62688">Minneapolis, MN
<option value="MOB/1/0.53564/1/1.54011">Mobile, AL
<option value="MLI/1/0.72341/1/1.57961">Moline, IL
<option value="TTF/1/0.73199/1/1.45621">Monroe, MI
<option value="YUL/1/0.79349/1/1.28718">Montreal, QE (YUL)
<option value="MYR/1/0.58780/1/1.37756">Myrtle Beach, SC
<option value="APF/1/0.45643/1/1.42724">Naples, FL
<option value="BNA/1/0.63050/1/1.51276">Nashville, TN
<option value="EWR/1/0.71020/1/1.29448">Newark, NJ
<option value="SWF/1/0.72437/1/1.29338">Newburgh, NY
<option value="MSY/1/0.52345/1/1.57528">New Orleans, LA (MSY)
<option value="NEW/1/0.52433/1/1.57126">New Orleans, LA (NEW)
<option value="PHF/1/0.64807/1/1.33505">Newport News, VA
<option value="JFK/1/0.70930/1/1.28765">New York, NY (JFK)
<option value="LGA/1/0.71169/1/1.28930">New York, NY (LGA)
<option value="ORF/1/0.64393/1/1.32996">Norfolk, VA
<option value="OAK/1/0.65834/1/2.13311">Oakland, CA
<option value="OKC/1/0.61770/1/1.70344">Oklahoma City, OK
<option value="OMA/1/0.72085/1/1.67365">Omaha, NE
<option value="ONT/1/0.59437/1/2.05251">Ontario, CA
<option value="MCO/1/0.49617/1/1.41921">Orlando, FL (MCO)
<option value="ORL/1/0.49820/1/1.41951">Orlando, FL (ORL)
<option value="YOW/1/0.79100/1/1.32074">Ottawa, ON
<option value="PSC/1/0.80745/1/2.07898">Pasco, WA
<option value="PIA/1/0.70971/1/1.56539">Peoria, IL
<option value="PHL/1/0.69586/1/1.31327">Philadelphia, PA
<option value="PHX/1/0.58355/1/1.95491">Phoenix, AZ
<option value="AGC/1/0.70430/1/1.39504">Pittsburgh, PA (AGC)
<option value="PIT/1/0.70668/1/1.40031">Pittsburgh, PA (PIT)
<option value="PWM/1/0.76175/1/1.22711">Portland, ME
<option value="PDX/1/0.79567/1/2.13969">Portland, OR
<option value="PVD/1/0.72821/1/1.24666">Providence, RI
<option value="RDU/1/0.62617/1/1.37509">Raleigh, NC
<option value="RAP/1/0.76873/1/1.79868">Rapid City, SD
<option value="RNO/1/0.68938/1/2.09032">Reno, NV
<option value="ROA/1/0.65144/1/1.39583">Roanoke, VA
<option value="RST/1/0.76635/1/1.61437">Rochester, MN
<option value="ROC/1/0.75256/1/1.35563">Rochester, NY
<option value="RFD/1/0.73644/1/1.55494">Rockford, IL
<option value="SMF/1/0.67536/1/2.12212">Sacremento, CA (SMF)
<option value="CPS/1/0.67319/1/1.57352">St. Louis, MO (CPS)
<option value="STL/1/0.67628/1/1.57708">St. Louis, MO (STL)
<option value="SUX/1/0.74008/1/1.68221">Sioux City, IA
<option value="SLC/1/0.71186/1/1.95419">Salt Lake City, UT
<option value="SAT/1/0.51545/1/1.71860">San Antonio, TX
<option value="SAN/1/0.57130/1/2.04529">San Diego, CA (SAN)
<option value="SJC/1/0.65206/1/2.12802">San Jose, CA
<option value="SJU/1/0.32186/1/1.15196">San Juan, PR
<option value="BFI/1/0.82956/1/2.13454">Seattle, WA (BFI)
<option value="SEA/1/0.82813/1/2.13465">Seattle, WA (SEA)
<option value="SHV/1/0.56627/1/1.63756">Shreveport, LA
<option value="SBN/1/0.72791/1/1.50654">South Bend, IN
<option value="GEG/1/0.83110/1/2.05132">Spokane, WA
<option value="SYR/1/0.75241/1/1.32831">Syracuse, NY
<option value="TPA/1/0.48826/1/1.44048">Tampa, FL
<option value="HUF/1/0.68856/1/1.52382">Terra Haute, IN
<option value="YYZ/1/0.76235/1/1.38972">Toronto, ON
<option value="TVC/1/0.78086/1/1.49368">Traverse City, MI
<option value="TTN/1/0.70293/1/1.30574">Trenton, NJ
<option value="TUL/1/0.63175/1/1.67354">Tulsa, OK
<option value="TUS/1/0.56051/1/1.93627">Tucson, AZ
<option value="YVR/1/0.85848/1/2.14999">Vancouver, BC
<option value="IAD/1/0.67971/1/1.35186">Washington, DC (IAD)
<option value="DCA/1/0.67810/1/1.34456">Washington, DC (DCA)
<option value="ICT/1/0.65709/1/1.70050">Wichita, KS
<option value="ILG/1/0.69252/1/1.31959">Wilmington, DE
<option value="ILM/1/0.59812/1/1.35964">Wilmington, NC
<option value="ILN/1/0.68818/1/1.46253">Wilmington, OH
<option value="YWG/1/0.87092/1/1.69704">Winnipeg, MAN
</select></td></tr>
<tr><td>До:</td><td><select name="to">
<option value="">Аэропорт назначения
<option value="ABQ/1/0.61156/1/1.86064">Albuerque, NM
<option value="ABY/1/0.55039/1/1.46945">Albany, GA
<option value="ALB/1/0.75660/1/1.28811">Albany, NY
<option value="AMA/1/0.61468/1/1.77509">Amarillo, TX
<option value="ANC/1/1.06760/1/2.61774">Anchorage, AK
<option value="ATW/1/0.77243/1/1.54494">Appleton, WI
<option value="AHN/1/0.58251/1/1.45433">Athens, GA
<option value="ATL/1/0.58713/1/1.47352">Atlanta, GA
<option value="AUS/1/0.52884/1/1.70519">Austin, TX
<option value="AVL/1/0.61846/1/1.44062">Ashville, NC
<option value="BWI/1/0.68373/1/1.33812">Baltimore, MD
<option value="BGR/1/0.78202/1/1.20128">Bangor, ME
<option value="BHM/1/0.58579/1/1.51413">Birmingham, AL
<option value="BOI/1/0.76035/1/2.02848">Boise, ID
<option value="BOS/1/0.73938/1/1.23927">Boston, MA
<option value="TRI/1/0.63661/1/1.43827">Bristol/Johnson City, TN
<option value="BRO/1/0.45216/1/1.70039">Brownsville, TX
<option value="BTR/1/0.53288/1/1.59084">Baton Rouge, LA
<option value="BTV/1/0.77615/1/1.27674">Burlington, VT
<option value="BUF/1/0.74944/1/1.37413">Buffalo, NY
<option value="YYC/1/0.89209/1/1.99002">Calgary, AB
<option value="CAE/1/0.77275/1/1.49083">Columbia, SC
<option value="CAK/1/0.71410/1/1.42143">Canton/Akron, OH
<option value="CID/1/0.73100/1/1.60064">Cedar Rapids, IA
<option value="CHS/1/0.57418/1/1.39696">Charleston, SC
<option value="CHA/1/0.61148/1/1.48708">Chattanooga, TN
<option value="CEF/1/0.73647/1/1.26589">Chicopee, MA
<option value="CLT/1/0.61459/1/1.41273">Charlotte, NC
<option value="MDW/1/0.72929/1/1.53156">Chicago, IL (MDW)
<option value="ORD/1/0.73266/1/1.53420">Chicago, IL (ORD)
<option value="LUK/1/0.68245/1/1.47338">Cincinnati, OH (LUK)
<option value="CLE/1/0.72274/1/1.42852">Cleveland, OH
<option value="COS/1/0.67739/1/1.82753">Colorado Spgs, CO
<option value="CSG/1/0.56749/1/1.48245">Columbus, GA
<option value="CMH/1/0.69804/1/1.44665">Columbus, OH
<option value="CRP/1/0.48468/1/1.70170">Corpus Christi, TX
<option value="CYS/1/0.71829/1/1.82931">Cheyenne, WY
<option value="CVG/1/0.68146/1/1.47760">Covington, KY
<option value="DAL/1/0.57328/1/1.69035">Dallas, TX (DAL)
<option value="DFW/1/0.57413/1/1.69367">Dallas, TX (DFW)
<option value="DAY/1/0.61642/1/1.46989">Dayton, OH
<option value="DEN/1/0.69418/1/1.83047">Denver, CO
<option value="DSM/1/0.72489/1/1.63468">Des Moines, IA
<option value="DET/1/0.74017/1/1.44877">Detroit, MI (DET)
<option value="DTW/1/0.73679/1/1.45470">Detroit, MI (DTW)
<option value="YIP/1/0.73717/1/1.45787">Detroit, MI (YIP)
<option value="YEG/1/0.93033/1/1.98255">Edmonton, AB
<option value="ELP/1/0.55510/1/1.85662">El Paso, TX
<option value="EVV/1/0.66387/1/1.52769">Evansville, IN
<option value="FYV/1/0.62841/1/1.64355">Fayetteville, AR
<option value="FAY/1/0.61069/1/1.37672">Fayetteville, NC
<option value="FNT/1/0.74988/1/1.46160">Flint, MI
<option value="FLL/1/0.45504/1/1.39891">Ft. Lauderdale, FL
<option value="FMY/1/0.46400/1/1.42879">Ft. Myers, FL (FMY)
<option value="RSW/1/0.46312/1/1.42687">Ft. Myers, FL (RSW)
<option value="FWA/1/0.71521/1/1.48690">Ft. Wayne, IN
<option value="FAT/1/0.64185/1/2.08945">Fresno, CA
<option value="YQX/1/0.85428/1/0.96231">Gander, NF
<option value="GRR/1/0.74843/1/1.49266">Grand Rapids, MI
<option value="GRB/1/0.77641/1/1.53813">Green Bay, WI
<option value="GSO/1/0.63001/1/1.39516">Greensboro, NC
<option value="GSP/1/0.60909/1/1.43489">Greer, SC
<option value="IAH/1/0.52325/1/1.66397">Houston, TX (IAH)
<option value="IND/1/0.69322/1/1.50599">Indianapolis, IN
<option value="JAN/1/0.56392/1/1.57211">Jackson, MS
<option value="JAX/1/0.53218/1/1.42573">Jacksonville, FL
<option value="MCI/1/0.68589/1/1.65312">Kansas City, MO (MCI)
<option value="MKC/1/0.68280/1/1.65094">Kansas City, MO (MKC)
<option value="EYW/1/0.42857/1/1.42695">Key West, FL
<option value="TYS/1/0.62503/1/1.46593">Knoxville, TN
<option value="LAS/1/0.62972/1/2.00975">Las Vegas, NV
<option value="LIT/1/0.60612/1/1.60960">Little Rock, AR
<option value="LAX/1/0.59239/1/2.06659">Los Angeles, CA
<option value="SDF/1/0.66625/1/1.49636">Louisville, KY
<option value="LBB/1/0.58754/1/1.77712">Lubbock, TX
<option value="MSN/1/0.75291/1/1.55922">Madison, WI
<option value="MIA/1/0.45015/1/1.40133">Miami, FL
<option value="MHT/1/0.74933/1/1.24681">Manchester, NH
<option value="MEM/1/0.61168/1/1.57042">Memphis, TN
<option value="MDT/1/0.70151/1/1.33977">Middletown, PA
<option value="MBS/1/0.75977/1/1.46744">Midland, MI
<option value="MKE/1/0.74956/1/1.53409">Milwaukee, WI
<option value="MSP/1/0.78336/1/1.62688">Minneapolis, MN
<option value="MOB/1/0.53564/1/1.54011">Mobile, AL
<option value="MLI/1/0.72341/1/1.57961">Moline, IL
<option value="TTF/1/0.73199/1/1.45621">Monroe, MI
<option value="YUL/1/0.79349/1/1.28718">Montreal, QE (YUL)
<option value="MYR/1/0.58780/1/1.37756">Myrtle Beach, SC
<option value="APF/1/0.45643/1/1.42724">Naples, FL
<option value="BNA/1/0.63050/1/1.51276">Nashville, TN
<option value="EWR/1/0.71020/1/1.29448">Newark, NJ
<option value="SWF/1/0.72437/1/1.29338">Newburgh, NY
<option value="MSY/1/0.52345/1/1.57528">New Orleans, LA (MSY)
<option value="NEW/1/0.52433/1/1.57126">New Orleans, LA (NEW)
<option value="PHF/1/0.64807/1/1.33505">Newport News, VA
<option value="JFK/1/0.70930/1/1.28765">New York, NY (JFK)
<option value="LGA/1/0.71169/1/1.28930">New York, NY (LGA)
<option value="ORF/1/0.64393/1/1.32996">Norfolk, VA
<option value="OAK/1/0.65834/1/2.13311">Oakland, CA
<option value="OKC/1/0.61770/1/1.70344">Oklahoma City, OK
<option value="OMA/1/0.72085/1/1.67365">Omaha, NE
<option value="ONT/1/0.59437/1/2.05251">Ontario, CA
<option value="MCO/1/0.49617/1/1.41921">Orlando, FL (MCO)
<option value="ORL/1/0.49820/1/1.41951">Orlando, FL (ORL)
<option value="YOW/1/0.79100/1/1.32074">Ottawa, ON
<option value="PSC/1/0.80745/1/2.07898">Pasco, WA
<option value="PIA/1/0.70971/1/1.56539">Peoria, IL
<option value="PHL/1/0.69586/1/1.31327">Philadelphia, PA
<option value="PHX/1/0.58355/1/1.95491">Phoenix, AZ
<option value="AGC/1/0.70430/1/1.39504">Pittsburgh, PA (AGC)
<option value="PIT/1/0.70668/1/1.40031">Pittsburgh, PA (PIT)
<option value="PWM/1/0.76175/1/1.22711">Portland, ME
<option value="PDX/1/0.79567/1/2.13969">Portland, OR
<option value="PVD/1/0.72821/1/1.24666">Providence, RI
<option value="RDU/1/0.62617/1/1.37509">Raleigh, NC
<option value="RAP/1/0.76873/1/1.79868">Rapid City, SD
<option value="RNO/1/0.68938/1/2.09032">Reno, NV
<option value="ROA/1/0.65144/1/1.39583">Roanoke, VA
<option value="RST/1/0.76635/1/1.61437">Rochester, MN
<option value="ROC/1/0.75256/1/1.35563">Rochester, NY
<option value="RFD/1/0.73644/1/1.55494">Rockford, IL
<option value="SMF/1/0.67536/1/2.12212">Sacremento, CA (SMF)
<option value="CPS/1/0.67319/1/1.57352">St. Louis, MO (CPS)
<option value="STL/1/0.67628/1/1.57708">St. Louis, MO (STL)
<option value="SUX/1/0.74008/1/1.68221">Sioux City, IA
<option value="SLC/1/0.71186/1/1.95419">Salt Lake City, UT
<option value="SAT/1/0.51545/1/1.71860">San Antonio, TX
<option value="SAN/1/0.57130/1/2.04529">San Diego, CA (SAN)
<option value="SJC/1/0.65206/1/2.12802">San Jose, CA
<option value="SJU/1/0.32186/1/1.15196">San Juan, PR
<option value="BFI/1/0.82956/1/2.13454">Seattle, WA (BFI)
<option value="SEA/1/0.82813/1/2.13465">Seattle, WA (SEA)
<option value="SHV/1/0.56627/1/1.63756">Shreveport, LA
<option value="SBN/1/0.72791/1/1.50654">South Bend, IN
<option value="GEG/1/0.83110/1/2.05132">Spokane, WA
<option value="SYR/1/0.75241/1/1.32831">Syracuse, NY
<option value="TPA/1/0.48826/1/1.44048">Tampa, FL
<option value="HUF/1/0.68856/1/1.52382">Terra Haute, IN
<option value="YYZ/1/0.76235/1/1.38972">Toronto, ON
<option value="TVC/1/0.78086/1/1.49368">Traverse City, MI
<option value="TTN/1/0.70293/1/1.30574">Trenton, NJ
<option value="TUL/1/0.63175/1/1.67354">Tulsa, OK
<option value="TUS/1/0.56051/1/1.93627">Tucson, AZ
<option value="YVR/1/0.85848/1/2.14999">Vancouver, BC
<option value="IAD/1/0.67971/1/1.35186">Washington, DC (IAD)
<option value="DCA/1/0.67810/1/1.34456">Washington, DC (DCA)
<option value="ICT/1/0.65709/1/1.70050">Wichita, KS
<option value="ILG/1/0.69252/1/1.31959">Wilmington, DE
<option value="ILM/1/0.59812/1/1.35964">Wilmington, NC
<option value="ILN/1/0.68818/1/1.46253">Wilmington, OH
<option value="YWG/1/0.87092/1/1.69704">Winnipeg, MAN
</select></td></tr>
<tr><td colspan=2 align=center>
<input type=button value="Посчитать расстояние" onClick="DoCalc(this.form)">
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator16

Расстояние между городами США 2
 (полезно для тех, кто часто посещает США и много там перемещается)

Расстояние между городами США
Город отправления
 Инструкция:
Выберите город отправления слева, а город назначения справа. Или наоборот - зазницы, конечно нет.

Мили Километры

Город назначения

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cut-N-Paste JavaScript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!--
var l=0;
var r=0;
var tc="";
var al=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+"123456789";
var ns="0123456789";
function iA(){
this.length=iA.arguments.length;
for (var i=0;i<this.length;i++){
this[i]=iA.arguments[i];
}
}
/* 5829 byte database of distances uses position into the
string "al" to substitute for the numerics, saving a bit
over 10k download to visitors. */
var a=new iA(61);
a[0]="Albany, New York* tdjaddcdu jgybagc hhfdggqihbdhhbfdphrc"
+"khfevbniu aaqghamejgm zcmfBehflcn iclejcndafeao malcbfxidebdC"
+"bqiAfjdvesgBeChxid ni";
a[1]="Albuquerque, New Mexico* n xfriiileidvbqgq p pcedmaoipbn"
+"ffdddigofbglidcu helgjepdgheihhhalijasgmhlblcl t riedhiqdsedf"
+"pcw mghbjbjdf gchakanereei";
a[2]="Atlanta, Georgia* mcfer aevbkaiabie bdnhgagcbaeihbncifgc"
+"ndmipfifgiecd cahbsheeuidbchffh kbbedhheefhcjadcgercfhkgzfobx"
+"aegscj uexhzcfbie";
a[3]="Augusta, Maine* fgxgoaCfbggclbjdkavblehglajatbvdogjfzcri"
+"yacgublbqengqbDcqgG lepcrcmbpdnbraeahiscqapbeiCbhfagGhueEdnfz"
+"dviFgGhFfgbrh";
a[4]="Baltimore, Maryland* sbggxadccgegcfdbpggbcfebdcmfpdjdeas"
+"hmes cbn egjagejgx jdzefdiajigikag kdb bcmakehia wabeedB pczb"
+"hctgpczhBbAa dlh";
a[5]="Billings, Montana* qhfav qbuhqbt dflcpatfpanbeeihoblffaf"
+"gu oinaqbv jdjenbldocnfybkfhcp rctdthkeiavcshl pfvgi cbifmafd"
+"obmakihcuaje";
a[6]="Birmingham, Alabama* tglci ddefcinbffgccfegfdmchcgflgm p"
+"cjhg dhbedfgcrcdctecfbfgegdjgaiceihgagbhheehgphgimdyinavheaqi"
+"hfsiwgydgdhc";
a[7]="Boise, Idaho* zivaxiudwegcqatcwisgoihdmfshl lafczarbretd"
+"xgnbfgqghescrbBgqdnhshuexiybndldzdxcihucAidcifdcpgcdpgihfeebw"
+"gmf";
a[8]="Boston, Massachusetts* dgidgehesbj ffifh qet mdh whpevga"
+"arcicnfkfndAendDbifmdobjimijioabaehpingm cbzgegaaEdsaBglawhtb"
+"BhEcDbdepc";
a[9]="Buffalo, New York* icdegao edaih ccmfoehecfsgkiqidbnieak"
+"bjijavhjfyheeibn fciegblfcgf lbjbl cfvbbbedzgncxegesdpcyczgyh"
+"dal ";
a[10]="Charleston, South Carolina* dhbaqaiagcaafejiqbl hdq oas"
+"fhcjegbfgbdkavhhcxifag eijbmcedgcggddkdlgchffubfejeCeraAbhfui"
+"lhxbBbCcecld";
a[11]="Charleston, West Virginia* bgnadgbecfagjemggid phkdpbfh"
+"khcbh ffgfucgcxabffcjaefhgdbiaeedajbidh dhshbchhyemgwheardmcw"
+"dz xgcdif";
a[12]="Charlotte, North Carolina* pbgdeb iddjfohjffcpemhrbgdjc"
+"eefcciigv ghxadffcgdhckedbgbfbcak kdeceatce ifAhpezbgcthldxaA"
+"bAdchji";
a[13]="Cheyenne, Wyoming* ihmcpfm hha fdldgighcerekajhlgqefhhe"
+"jgkbl kduej hhlfmhqer fie rgqfidnctfkhcbigidddjfkikilepdfb";
a[14]="Chicago, Illinois* ceh cfibjbcdbhnffelgiajiaigejaedqhff"
+"tec edn idadgibhahghcdhkegiqddhjiubiasebinblatiugtegagc";
a[15]="Cleveland, Ohio* faadkimfffagqdj paefmacbidiahbtihgwhce"
+"gcleddgfecjfdgeajchcjedctcacgcxcldvfehqfnewixhwicfja";
a[16]="Columbia, South Carolina* ecjcpbkagbpcncrdhajcfaf c jbu"
+"igfxbe fbfdhhladdfigbcijfkhddfatceijdBdpizaghublcwhAgAidhkg";
a[17]="Columbus, Ohio* jeldffaip ieniffkgahh hcfhtbgcvdbaeikgd"
+"gghchibefefibgiifdhs aihgxdldvadbphmavfxcwedchg";
a[18]="Dallas/Ft Worth, Texas* ghg kffbjiihpibehidajdealccbn h"
+"cdemdjbieffebofmebaffk ndj larhtdjipgfflfbgmeqeucmacg";
a[19]="Denver, Colorado* fglhfihhbet jcjfl qdfagfidjckbjduajdi"
+"bkhlhqiqgfcedrhqdhanctglfdbjchfeciek lfmdpbeb";
a[20]="Des Moines, Iowa* eikcdhibleiddhhcldb ncefqaeifboicgbef"
+"iihkbkeeeacmfjincghn rbfdp cgjgihqgrcr jfci";
a[21]="Detroit, Michigan* pgibobgclhbhifjeggtbhhvichgbmicffied"
+"jgfegcjcgckgfatac i whkiv ecpgnewgx wcebif";
a[22]="El Paso, Texas* nefgvigdnbjcohidgbidhbnejgs odnflhk ues"
+"efhlephtgddqhxfpcjdkgkhhgefgcl qbschd";
a[23]="Fargo, North Dakota* kaofm hcmapifbodjdraidkct egbdkamh"
+"nenghgdcrancpikcqcnieaohhekemcrgrbnbmcgc";
a[24]="Grand Junction, Colorado* uelbmcnasfhfeakeghmglgw likfn"
+"bngtdtbhbgitgsiehpiwdjeffgekabijiheihkcrhgc";
a[25]="Hartford, Connecticut* qchdmejemdzfmdC hgl nbj mbj ncab"
+"dipdmgk baygdgb D rbB jhvgsaC DhCecfoc";
a[26]="Houston, Texas* j dbhigdngdcodidegkikhkhghcepamedfhfiho"
+"akfmgsfvdmbrhghndb nisawgmgfb";
a[27]="Indianapolis, Indiana* fghde rdfatfaadgkibgeibhh gcgagd"
+"faigffqccfjevdkatfbdogkithviveehfi";
a[28]="Jackson, Mississippi* fafipcbfrbeibaiahcjfdabalbieefhgg"
+" kanfidoixemgthe pffgqfueydiggf";
a[29]="Jacksonville, Florida* kdvdhbwegcficekanfefefiefbkembad"
+"het hcmaCfrczihhwajhwfAeCggblh";
a[30]="Kansas City, Kansas/Missouri* mgdboheadhnhefddehhdlckfc"
+"eailekgldhgofrbfipdbfkaghoirfrfjdb ";
a[31]="Las Vegas, Nevada* nfbgrgp ygr pfraqcygxhkam wexhbivaBf"
+"j kadepbdblicdegkhxbkh";
a[32]="Little Rock, Arkansas* pieaadkfgghccedblejbcdehifkdmci "
+"uikdsad ndehpgsivejadd";
a[33]="Los Angeles, California* uhraAbtgrftarfAizimdogxcA cixc"
+"Edifmfdgrdfimiaccikczemi";
a[34]="Louisville, Kentucky* chjichgaagg ggfegeg hfgaqecik wal"
+"audbfpbk tiwewef g ";
a[35]="Memphis, Tennessee* j fbiabadak hhdhfdghjanggfnfwaketcb"
+"hoegcraubwbheeh";
a[36]="Miami, Florida* nfqgiahfmcigo pdbclcwekhpfFfuhD lcygmiz"
+"hDiG jfp ";
a[37]="Milwaukee, Wisconsin* cdeejchiiehhe lbhgqgefkftbhdsfchn"
+"cliucugshhage";
a[38]="Minneapolis, Minnesota* hcmelblcgichogl phhingqbehrcfck"
+"ilet shpejifc";
a[39]="Nashville, Tennessee* eci fgfhgffigipgegl wglevbcbq ict"
+" wcxdffgd";
a[40]="New Orleans, Louisiana* mdjdfijcfelco kdpdydo vcg qheer"
+"dvhyik he";
a[41]="New York City, New York* cgnhlejiaaxechcbCaqbAaihuirbB "
+"CcBdbdnb";
a[42]="Norfolk, Virginia* mgmbggbgwedbgcCgqfAii vboezhD Biaimg";
a[43]="Oklahoma City, Oklahoma* dflcmiihkaqdrgheofe k dhmcpfsi"
+"mcaf";
a[44]="Omaha, Nebraska* nal meicocpiecngddididpcpipikdc ";
a[45]="Orlando, Florida* iithihn DgsgBdj wdkgxaBgDihemi";
a[46]="Philadelphia, Pennsylvania* wgcadbBfpezei ueqdAgC Bbacmf";
a[47]="Phoenix, Arizona* tiAelglcgcnhfej cegfngw jd";
a[48]="Pittsburgh, Pennsylvania* fiyemfwgfasbnhxdzaybbeje";
a[49]="Portland, Maine* FbshCglhyaucE FbDiefqa";
a[50]="Portland, Oregon* lfehtfgfu jifdagAhqe";
a[51]="Rapid City, South Dakota* lciegdleninekcoigc";
a[52]="Reno, Nevada* riecqcf bcgcygnh";
a[53]="St Louis, Missouri* mfiercubudhfdf";
a[54]="Salt Lake City, Utah* mcgfgehetejb";
a[55]="San Antonio, Texas* m qduhoifd";
a[56]="San Diego, California* ealfz n ";
a[57]="San Francisco, California* haBdq ";
a[58]="Seattle, Washington* Abrf";
a[59]="Washington, DC* lh";
a[60]="Wichita, Kansas* ";
// For string to numerics on Win3.x
var b=new iA(4);
b[0]=1;
b[1]=10;
b[2]=100;
b[3]=1000;
function getMiles(form){
lf=(document.isn.isn1.options[document.isn.isn1.selectedIndex].value);
rf=(document.isn.isn2.options[document.isn.isn2.selectedIndex].value);
l=al.indexOf(lf);
r=al.indexOf(rf);
if (r<l){
l=r;
r=al.indexOf(lf);
}
ls=a[l];
pos=ls.indexOf("*")
ls1="From "+ls.substring(0,pos)+" to "
+a[r].substring(0,a[r].indexOf("*"))+" is about ";
ls=ls.substring(pos+1,ls.length);
tc=ls.substring(((r*2)-(l*2)),ls.length);
if (document.isn.rb[1].checked){
dispKm();
}
else{
dispMi();
}
}
function dispMi(){
ch=tc.charAt(0);
ls1+=al.indexOf(ch);
ch=tc.charAt(1);
if (ch!=" "){
ls1+=(al.indexOf(ch)*10)+" miles";
} //1.613
else ls1+="00"+" miles";
document.isn.disp.value=ls1;
}
function dispKm(){
ch=tc.charAt(0);
km="";
km+=al.indexOf(ch);
ch=tc.charAt(1);
if (ch!=" "){
km+=(al.indexOf(ch)*10);
} //1.613
else{
km+="00";
}
num=0;
kml=km.length;
for (var i=kml-1;i>-1;i--){
cr=km.substring(i,i+1);
pos=ns.indexOf(cr);
num+=pos*b[kml-i-1];
}
km="";
km+=num*1.613;
pos=km.indexOf(".");
if (pos>-1){
km=km.substring(0,pos);
}
ls1+=km+" kilometers";
document.isn.disp.value=ls1;
}
// End Hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM NAME="isn">
<TABLE BORDER=0 WIDTH=486>
<TR><TD COLSPAN=3 ALIGN=CENTER>
<HR NOSHADE></FONT><font color="blue" size="3"><b>Расстояние
между городами США</b></font></TD></TR>
<TR><TD ALIGN=CENTER><font color="blue" size="3"><b>Город
отправления</b></font><BR><SELECT NAME="isn1" SIZE=12>
<SCRIPT LANGUAGE="JavaScript">
<!--
ls="";
for (var i=0;i<61;i++){
ls+='<OPTION VALUE="'+al.substring(i,i+1)+'" onClick=""';
if (i==0){ls+=' SELECTED';}
ls+='>'+a[i].substring(0,a[i].indexOf("*"));
}
document.write(ls);
// End hiding -->
</SCRIPT>
</SELECT></TD>
<TD ALIGN=CENTER VALIGN=TOP><font color="blue" size="1"><b>Инструкция:</b></font>
<BR>Выберите город отправления слева, а город
назначения справа. Или наоборот - зазницы,
конечно нет.<P><INPUT TYPE="button" NAME="but" VALUE="Получить расстояние" onClick="getMiles(this.form)">
<BR><INPUT TYPE="radio" NAME="rb" VALUE="a" CHECKED onClick="">Мили
<INPUT TYPE="radio" NAME="rb" VALUE="b" onClick="">Километры
<TD ALIGN=CENTER><font color="blue"><b>Город назначения&nbsp;</b></font>
<BR><SELECT NAME="isn2" SIZE=12>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
ls="";
for (var i=0;i<61;i++){
ls+='<OPTION VALUE="'+al.substring(i,i+1)+'" onClick=""';
if (i==1){ls+=' SELECTED';}
ls+='>'+a[i].substring(0,a[i].indexOf("*"));
}
document.write(ls);
// End hiding -->
</SCRIPT>
</SELECT></TD></TR>
<TR><TD COLSPAN=3 ALIGN=CENTER>
<TABLE BORDER=2>
<TR><TD><INPUT TYPE="text" NAME="disp" VALUE="" SIZE=80>
</TD></TR></TABLE></TD></TR>
<TR><TD COLSPAN=3><HR NOSHADE></TD></TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator10

Расстановка цифр по возрастанию
 (не реагирует ни на какие знаки-не-цифры, кроме запятой, но считывает своеобразно - после буквы или любого другого знака, следующую цифру воспринимает только после следующей запятой)

Введите произвольное количество чисел
в произвольном порядке и произвольной величины
(числа должны быть разделены запятой,
после последнего числа запятая не нужна):

Расставлено по возрасстанию:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: David Sturgeon (sturgeon.auto@gsln02e.et.gs.com) -->
<!-- Web Site: http://www.doc.ic.ac.uk/~dms99 -->

<!-- Begin
function doSort(form) {
nanExists = false;
inputString = form.numbers.value;
inputNumbers = inputString.split(",");
for (var i = 0; i < inputNumbers.length; i++) {
inputNumbers[i] = parseInt(inputNumbers[i], 10);
if (isNaN(inputNumbers[i])) {
nanExists = true;
break;
}
}
inputNumbers = bubbleSort(inputNumbers, 0, inputNumbers.length - 1);
if (nanExists)
form.answers.value = "Невернный ввод! Цифры должны быть разделены запятой";
else
form.answers.value = resultString(inputNumbers, 0);
}
function resultString(inputArray, num) {
if ((inputArray.length - 1) >= num)
return (inputArray[num] + "," + resultString(inputArray,(num + 1)));
else return "";
}
function bubbleSort(inputArray, start, rest) {
for (var i = rest - 1; i >= start; i--) {
for (var j = start; j <= i; j++) {
if (inputArray[j+1] < inputArray[j]) {
var tempValue = inputArray[j];
inputArray[j] = inputArray[j+1];
inputArray[j+1] = tempValue;
}
}
}
return inputArray;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table border=1 bgcolor="#CCCCCC">
<td>
<p align="center">Введите произвольное количество цифр<BR>
в произвольном порядке и произвольной
величины<BR> (цифры должны быть разделены
запятой,<BR> после последней цифры запятая не нужна):<BR> <input type=text name=numbers size=45 value= "4,2,5,1,7,8,9,3,6,3,6,2,9,8,5,2,6,7,3,4,5,6,8,1,9,4,3,6,2,5,8,4"> </p>
</td>
<tr>
<td>
<p align="center">Расставлено по возрасстанию: <input type=text name=answers size=45></p>
</td>
</tr>
<tr>
<td colspan=2 align=center><input type=button value="Расставить по возрастанию!" onClick="doSort(this.form)"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Mat1

Счетчик-подделка
(якобы считает посетителей, но на самом деле использует алгоритм изменения данных основанный на текущей дате)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>

/*
Counter script
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

function fakecounter(){

//decrease/increase counter value (depending on perceived popularity of your site!)
var decrease_increase=-50000

var counterdate=new Date()
var currenthits=counterdate.getTime().toString()
currenthits=parseInt(currenthits.substring(2,currenthits.length-4))+decrease_increase

document.write("Вы <b>"+currenthits+"</b>-й посетитель моего сайта!")
}
fakecounter()
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator36

Рассчет цены продукта

Стоимость | Налог (%)

Неформат. налог | Формат. налог | Конечная цена

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Tim Wallace

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function fmtPrice(value) {
result="$"+Math.floor(value)+".";
var cents=100*(value-Math.floor(value))+0.5;
result += Math.floor(cents/10);
result += Math.floor(cents%10);
return result;
}
function compute() {
var unformatted_tax = (document.forms[0].cost.value)*(document.forms[0].tax.value);
document.forms[0].unformatted_tax.value=unformatted_tax;
var formatted_tax = fmtPrice(unformatted_tax);
document.forms[0].formatted_tax.value=formatted_tax;
var cost3= eval( document.forms[0].cost.value );
cost3 += eval( (document.forms[0].cost.value)*(document.forms[0].tax.value) );
var total_cost = fmtPrice(cost3);
document.forms[0].total_cost.value=total_cost;
}
function resetIt() {
document.forms[0].cost.value="19.95";
document.forms[0].tax.value=".06";
document.forms[0].unformatted_tax.value="";
document.forms[0].formatted_tax.value="";
document.forms[0].total_cost.value="";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM>
<TABLE BORDER=2 WIDTH=300 CELLPADDING=3>
<TR>
<TD align="center"><font size="+1" color="#000000"><strong>Стоимость</strong></font>
<TD align="center"><font size="+1" color="#000000"><strong>Налог (%)</strong></font>
</TR>
<font size="3" color="#000000">
<TR>
<TD align="center"><INPUT TYPE="text" NAME="cost" VALUE="19.95" SIZE=10>
<TD align="center"><INPUT TYPE="text" NAME="tax" VALUE=".06" SIZE=10>
</TR>
</TABLE>
<BR>
</font>
<TABLE BORDER=1 WIDTH=600 CELLPADDING=3>
<TR>
<TD align="center"><font size="+1" color="#000000"><strong>Неформат.
налог</strong></font>
<TD align="center"><font size="+1" color="#000000"><strong>Формат.
налог</strong></font>
<TD align="center"><font size="+1" color="#000000"><strong>Конечная
цена</strong></font>
</TR>
<font size="3" color="#000000">
<TR>
<TD align="center"><INPUT TYPE="text" NAME="unformatted_tax" SIZE=15>
<TD align="center"><INPUT TYPE="text" NAME="formatted_tax" SIZE=15>
<TD align="center"><INPUT TYPE="text" NAME="total_cost" SIZE=15>
</TR>
</TABLE>
<BR>
<TABLE BORDER=0 WIDTH=400 CELLPADDING=5>
<TR>
<TD align="center"><INPUT TYPE="reset" VALUE="Сброс" onClick="resetIt()">
<TD align="center"><INPUT TYPE="button" VALUE="Рассчитать" onclick="compute()">
</TR>
</TABLE>
</form>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator27

Стоимость телефонного разговора

Независимая плата за звонок:
Стоимость минуты:
Прошло минут:
Прошло секунд в текущей минуте:
Стоимость разговора:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available online frre at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function decimal(num) {
string = "" + num;
if (string.indexOf('.') == -1)
return string + '.00';
seperation = string.length - string.indexOf('.');
if (seperation > 3)
return string.substring(0,string.length-seperation+3);
else if (seperation == 2)
return string + '0';
return string;
}
i=0;
x=0;
countit="yes";
function count() {
if (i == 60) { i=0; x=(x + 1)}
document.money.minutes.value = x;
i++;
document.money.seconds.value = i;
document.money.owed.value = "$" +
decimal((x * document.money.permin.value) +
eval(document.money.initial.value));
if (countit != "no") {
setTimeout('count()',1000);
}
}
function stop() {
countit="no";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=money>
<table border=1 bgcolor="#CCCCCC">
<tr>
<td>Независимая плата за звонок:</td>
<td>
<input name=initial type=text value="1.25" size=20 onChange="document.money.owed.value = decimal(document.money.initial.value)"></td>
</tr>
<tr>
<td>Стоимость минуты:</td>
<td><input name=permin type=text value=".10" size=20></td>
</tr>
<tr>
<td>Прошло минут:</td>
<td><input name=minutes type=text size=20></td>
</tr>
<tr>
<td>Прошло секунд в текущей минуте:</td>
<td><input name=seconds type=text size=20></td>
</tr>
<tr>
<td>Стоимость разговора:</td>
<td><input name=owed type=text size=20 value="$0.00"></td>
</tr>
<tr>
<td colspan=2 align=center><input type=button value=" Старт " onClick="countit='yes'; count()"><input type=button value=" Стоп " onClick="stop()"></td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator28

Теорема Пифагора

Теорема Пифагора

( a2 + b2 = c2 )

2 + 2 = 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available online free at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function solvepy(form) {
a = parseInt(form.a.value);
b = parseInt(form.b.value);
form.c.value = Math.sqrt(a*a + b*b);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<table align=center bgcolor="#CCCCCC">
<tr>
<td bgcolor="#CCCCCC">
Теорема Пифагора
<p>
<tt>( a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup> )</tt>
<p>
<input type=text name=a size=3><sup>2</sup> +
<input type=text name=b size=3><sup>2</sup> =
<input type=text name=c size=8><sup>2</sup>
<p>
<input type=button value="Решить" onClick="solvepy(this.form)">
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Math15

Фальшивый счетчик посещений 2
Если траффик Вашего сайта оставляет желать лучшего, поставьте этот "счетчик".

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var ran
ran = Math.round(Math.random()*50000)
function alertUser() {
alert("Вы " + ran + " посетитель этой страницы.")
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<INPUT TYPE="button" VALUE="Сегодня посетителей" onClick="alertUser()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator18

Калькулятор для фотографа

Depth of Field Calculator
Размер негатива
Фокусное расстояние линзы
Диафрагма
Расстояние до объекта (метры)

Гиперфокусное расстояние для выбранных установок.
Ближайшее расстояние с сприемлемой резкостью.
Наибольшее расстояние с сприемлемой резкостью.
Общая глубина поля.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: alistair@silverlight.co.uk -->
<!-- Web Site: http://www.silverlight.co.uk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
// alistair@silverlight.co.uk
// http://www.silverlight.co.uk
function doField(form) {
distance = (form.distance.value)*1000;
CoC = (document.form.format.options[document.form.format.selectedIndex].value);
aperture = (document.form.aperture.options[document.form.aperture.selectedIndex].value);
focal = (document.form.focal.options[document.form.focal.selectedIndex].value);
if (isNaN(distance)) {
alert('Please enter a numerical value for subject distance.');
document.form.distance.focus();
document.form.distance.select();
}
else {
hyperFocal = (focal * focal) / (aperture * CoC);
form.hyperFocal.value = Math.round(hyperFocal) / 1000 + " m";
dofNear = (hyperFocal * distance) / (hyperFocal + (distance - focal));
form.dofNear.value = Math.round(dofNear) / 1000 + " m";
dofFar = (hyperFocal * distance) / (hyperFocal - (distance - focal));
if (dofFar < 0) {
form.dofFar.value = "Infinity.";
}
else {
form.dofFar.value = Math.round(dofFar)/1000+" m";
}
dofTotal = Math.round(dofFar - dofNear);
if (dofTotal < 0) {
form.dofTotal.value = "Infinite.";
}
else {
if (dofTotal >= 0 && dofTotal < 0.001) {
form.dofTotal.value = ">1 mm ";
}
else {
form.dofTotal.value = dofTotal / 1000 + " m";
}
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method=post name=form>
<table border=3 cellpadding=10 cellspacing=0 width=500>
<tr>
<td align=center colspan=2>
Depth of Field Calculator
</td>
</tr>
<tr>
<td align=left>
Размер негатива
</td>
<td align=left>
<select name=format>
<option value=0.033>35 mm
<option value=0.025>APS
<option value=0.05>6x45 cm
<option value=0.06>6x6 cm
<option value=0.065>6x7 cm
<option value=0.15>5x4 inch
<option value=0.3>10x8 inch
</select>
</td>
</tr>
<tr>
<td align=left>
Фокусное расстояние линзы
</td>
<td align=left>
<select name=focal>
<option value=17>17 mm
<option value=20>20 mm
<option value=24>24 mm
<option value=28>28 mm
<option value=35>35 mm
<option value=50>50 mm
<option value=70>70 mm
<option value=80>80 mm
<option value=100>100 mm
<option value=135>135 mm
<option value=150>150 mm
<option value=200>200 mm
<option value=210>210 mm
<option value=300>300 mm
<option value=350>350 mm
<option value=400>400 mm
</select>
</td>
</tr>
<tr>
<td align=left>
Диафрагма
</td>
<td align=left>
<select name=aperture>
<option value=1.4>F 1.4
<option value=1.8>F 1.8
<option value=2>F 2
<option value=2.8>F 2.8
<option value=4>F 4
<option value=5.6>F 5.6
<option value=8> F 8
<option value=11>F 11
<option value=16>F 16
<option value=22>F 22
<option value=32>F 32
<option value=45>F 45
<option value=64>F 64
<option value=90>F 90
</select>
</td>
</tr>
<tr>
<td align=left>
Расстояние до объекта (метры)
</td>
<td align=left>
<input type=text name=distance value="" size=6>
</td>
</tr>
<tr>
<td colspan=2 align=left>
<br>
<center><input type=button value="Высчитать" onclick="doField(this.form)"></center>
<p>
<input name=hyperFocal type=text value="" size=6> Гиперфокусное
расстояние для выбранных установок.
<BR>
<input name=dofNear type=text value="" size=6> Ближайшее
расстояние с сприемлемой резкостью.
<BR>
<input name=dofFar type=text value="" size=6> Наибольшее<font size="3" color="#000000">
расстояние с сприемлемой резкостью</font>.
<BR>
<input name=dofTotal type=text value="" size=6> Общая глубина
поля.
<BR>
<br>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator15

Формулы линий

Введите координаты линии:
Координаты первой точки X1:
Y1:
Координаты второй точки X2:
Y2:
Формула линии:
Наклон:
Точка пересечения оси Y:
Формула параллельной линии:
Формула перпендикулярной линии:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Abraham I. (abraham_824@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function calculate() {
var y = new Array();
y[0] = null;
y[1] = document.calculator.y1.value;
y[2] = document.calculator.y2.value;
var x = new Array();
x[0] = null;
x[1] = document.calculator.x1.value;
x[2] = document.calculator.x2.value;
var m = (y[2] - y[1]) / (x[2] - x[1]);
var b = y[1]-(m * x[1]);
var formula = "y="+m+"x + "+b;
var rand = parseInt(Math.random() * 7);
var parf = "y="+m+"x + "+rand;
var newm = m / -1;
var perf = "y="+newm+"x + "+b;
document.calculator.formula.value = formula;
document.calculator.slope.value = m;
document.calculator.yint.value = b;
document.calculator.parf.value = parf;
document.calculator.perf.value = perf;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="calculator">
Введите координаты линии (2х точек):
<table border=0 bgcolor="#CCCCCC">
<tr>
<td>X1:</td>
<td><input type=text name=x1 size=10></td>
</tr>
<tr>
<td>Y1:</td>
<td><input type=text name=y1 size=10></td>
</tr>
<tr>
<td>X2:</td>
<td><input type=text name=x2 size=10></td>
</tr>
<tr>
<td>Y2:</td>
<td><input type=text name=y2 size=10>
<input type=button value="Получить результаты" onClick="calculate();"></td>
</tr>
<tr>
<td bgcolor="#E6E6E6">Формула линии:</td>
<td bgcolor="#E6E6E6"><input type=text name=formula size=50></td>
</tr>
<tr>
<td bgcolor="#E6E6E6">Наклон:</td>
<td bgcolor="#E6E6E6"><input type=text name=slope size=50></td>
</tr>
<tr>
<td bgcolor="#E6E6E6">Точка пересечения оси Y:</td>
<td bgcolor="#E6E6E6"><input type=text name=yint size=50></td>
</tr>
<tr>
<td bgcolor="#E6E6E6">Формула параллельной линии:</td>
<td bgcolor="#E6E6E6"><input type=text name=parf size=50></td>
</tr>
<tr>
<td bgcolor="#E6E6E6">Формула перпендикулярной линии:</td>
<td bgcolor="#E6E6E6"><input type=text name=perf size=50></td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu55

Меню с DHTML эффектом выделения

МЕНЮ
Главная страница
Страница с линками
Другая страница
Демо страница
Опять Главная

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.menulines{
border:1px solid silver;<!--Цвет
    невыделенной рамки-->
}

.menulines a{
text-decoration:none;
color:black; <!--Цвет текста линков-->
}
</style>

<script language="JavaScript1.2">

/*
Highlight menu effect script: By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

function borderize(what,color){
what.style.borderColor=color
}

function borderize_on(e){
if (document.all)
source3=event.srcElement
else if (document.getElementById)
source3=e.target
if (source3.className=="menulines"){
borderize(source3,"black") //  Цвет
    выделенной рамки
}
else{
while(source3.tagName!="TABLE"){
source3=document.getElementById? source3.parentNode : source3.parentElement
if (source3.className=="menulines")
borderize(source3,"black") //  Цвет
    выделенной рамки
}
}
}

function borderize_off(e){
if (document.all)
source4=event.srcElement
else if (document.getElementById)
source4=e.target
if (source4.className=="menulines")
borderize(source4,"silver") //  Цвет
    рамки после события OnMouseOut
else{
while(source4.tagName!="TABLE"){
source4=document.getElementById? source4.parentNode : source4.parentElement
if (source4.className=="menulines")
borderize(source4,"silver")  //  Цвет
    рамки после события OnMouseOut
}
}
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" width="200" cellspacing="0" cellpadding="0" onMouseover="borderize_on(event)" onMouseout="borderize_off(event)">

<tr><td width="100%" bgcolor="#C0C0C0"><font face="Arial" size="3"><b>МЕНЮ</b></font></td></tr>

<tr><td width="100%" class="menulines"><font face="Arial" size="2"><a href="home.htm">Главная страница</a></font></td></tr>

<tr><td width="100%" class="menulines"><font face="Arial" size="2"><a href="Link.htm">Страница с линками</a></font></td></tr>

<tr><td width="100%" class="menulines"><font face="Arial" size="2"><a href="another.htm">Другая страница</a></font></td></tr>

<tr><td width="100%" class="menulines"><font face="Arial" size="2"><a href="popdemo.htm" target="_blank">Демо страница</a></font></td></tr>

<tr><td width="100%" class="menulines"><font face="Arial" size="2"><a href="home.htm">Опять Главная</a></font></td></tr>

</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu60

DHTML POP-UP МЕНЮ

Потаскайте меня
Меню1 Меню2 Меню3
Линк 1
Линк 2
Линк 3
Линк 1
Линк 2
Линк 1
Линк 2
Линк 3
Линк 4
Ваш текст.
DHTML Popup 2
Ваш текст.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BUTTON onClick="popup1.style.visibility='visible';makeActive(popup1)">Java Script коды</BUTTON>
<BUTTON onClick="popup2.style.visibility='visible';makeActive(popup2)">Бесплатные Java Applet-ы</BUTTON>
<DIV ID=popup1
STYLE="position:absolute;
visibility:hidden;
left:240;top:30;
width:212px;height:180;
border:2px threedhighlight outset;
background-color:threedface;
font-family:MS Sans Serif;font-size:8pt;
cursor:default"
onSelectStart="return false"
onMouseDown="makeActive(this)">
<DIV
STYLE="position:absolute;
left:0;top:0;
width:100%;height:100%;
border:1px inactiveborder solid">
</DIV>
<DIV
STYLE="position:absolute;
left:2;top:2;
width:204px;height:18px;
background-color:inactivecaption;
color:inactivecaptiontext;
font-family:MS Sans Serif;
font-size:9pt;font-weight:bold;
padding:2px"
onMouseDown="grabEl(this.offsetParent)">
<IMG SRC="x.gif"
WIDTH=12 HEIGHT=10 HSPACE=0 BORDER=0 ALIGN=RIGHT
STYLE="background-color:buttonface;
border:2px buttonhighlight outset;"
onMouseDown="xPress(this,1)"
onMouseUp="(popup1.style.visibility='hidden');(xPress(this,0))"
onMouseOut="xPress(this,0)">
<IMG SRC="wr.gif"
WIDTH=20 HEIGHT=11 BORDER=0 VSPACE=1
ALIGN=ABSMIDDLE>
Потаскайте меня
</DIV>
<DIV
STYLE="position:absolute;
left:2;top:21;
width:204px;height:18px;
background-color:menu;
color:menutext;
font-family:MS Sans Serif;font-size:8pt;"><SPAN ID="span1"
STYLE="height:18px;width:40px;padding-top:2"
onMouseDown="setMenu(this)"> Меню1 </SPAN><SPAN ID="span2"
STYLE="height:18px;width:40px;padding-top:2"
onMouseDown="setMenu(this)"> Меню2 </SPAN><SPAN ID="span3"
STYLE="height:18px;width:40px;padding-top:2"
onMouseDown="setMenu(this)"> Меню3 </SPAN></DIV>
<HR STYLE="position:absolute;top:40;width:50%">
<DIV ID=menu1 STYLE="position:absolute; visibility:hidden; top:39;left:0; width:100px; border:2px threedhighlight outset; background-color:menu; font-family:MS Sans Serif;font-size:8pt; color:menutext; line-height:160%; z-index:10;">
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.location=('http://....')">Линк 1</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 2</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 3</SPAN><BR>
</DIV>
<DIV ID=menu2 STYLE="position:absolute; visibility:hidden; top:39;left:0; width:100px; border:2px threedhighlight outset; background-color:menu; font-family:MS Sans Serif;font-size:8pt; color:menutext; line-height:160%; z-index:10;">
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 1</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 2</SPAN><BR>
</DIV>
<DIV ID=menu3 STYLE="position:absolute; visibility:hidden; top:39;left:0; width:100px; border:2px threedhighlight outset; background-color:menu; font-family:MS Sans Serif;font-size:8pt; color:menutext; line-height:160%; z-index:10;">
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 1</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 2</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 3</SPAN><BR>
<SPAN STYLE="width:100%;padding-left:10px" onMouseOver="this.style.backgroundColor='highlight';this.style.color='highlighttext'" onMouseOut="this.style.backgroundColor='menu';this.style.color='menutext'" onMouseDown="window.open('http://....')">Линк 4</SPAN><BR>
</DIV>
<DIV STYLE="position:absolute; left:3;top:53; color:windowtext">
Ваш текст.
</DIV>
</DIV>

<DIV ID=popup2
STYLE="position:absolute;
visibility:hidden;
left:440;top:60;
width:212px;height:80;
border:2px threedhighlight outset;
background-color:threedface;
font-family:MS Sans Serif;font-size:8pt;
cursor:default"
onSelectStart="return false"
onMouseDown="makeActive(this)">
<DIV
STYLE="position:absolute;
left:0;top:0;
width:100%;height:100%;
border:1px inactiveborder solid">
</DIV>
<DIV
STYLE="position:absolute;
left:2;top:2;
width:204px;height:18px;
background-color:inactivecaption;
color:inactivecaptiontext;
font-family:MS Sans Serif;
font-size:9pt;font-weight:bold;
padding:2px"
onMouseDown="grabEl(this.offsetParent)">
<IMG SRC="x.gif"
WIDTH=12 HEIGHT=10 HSPACE=0 BORDER=0 ALIGN=RIGHT
STYLE="background-color:buttonface;
border:2px buttonhighlight outset;"
onMouseDown="xPress(this,1)"
onMouseUp="(popup2.style.visibility='hidden');(xPress(this,0))"
onMouseOut="xPress(this,0)">
<IMG SRC="wr.gif"
WIDTH=20 HEIGHT=11 BORDER=0 VSPACE=1
ALIGN=ABSMIDDLE>
DHTML Popup 2
</DIV>
<DIV
STYLE="position:absolute;
left:3;top:23;
color:windowtext">
Ваш текст.
</DIV>
</DIV>

<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
activeElement = null;

function makeActive(el){
if (activeElement) {
activeElement.children(0).style.borderColor = "inactiveborder";
activeElement.children(1).style.backgroundColor = "inactivecaption";
activeElement.children(1).style.color = "inactivecaptiontext";
}
el.style.zIndex = (activeElement) ? (activeElement.style.zIndex+1) : 1;
el.children(0).style.borderColor = "activeborder";
el.children(1).style.backgroundColor = "activecaption";
el.children(1).style.color = "captiontext";
activeElement = el;
}

makeActive(popup1);

activeMenu = null;

function setMenu(el){
makeActive(el.offsetParent.offsetParent);
if (activeMenu) {
activeMenu.menuElement.style.visibility = "hidden";
activeMenu.style.backgroundColor = "menu";
activeMenu.style.color = "menutext";
}
el.style.backgroundColor = "highlight";
el.style.color = "highlighttext";
switch (el.id) {
case "span1":
el.menuElement = menu1;
break;
case "span2":
el.menuElement = menu2;
break;
case "span3":
el.menuElement = menu3;
break;
}
el.menuElement.style.pixelLeft = el.offsetLeft+2;
el.menuElement.style.visibility = "visible"
activeMenu = el;
document.onmousedown = killMenu;
event.cancelBubble = true;
}

function killMenu(){
activeMenu.menuElement.style.visibility = "hidden";
activeMenu.style.backgroundColor = "menu";
activeMenu.style.color = "menutext";
activeMenu = null;
document.onmousedown = null;
}

function xPress(el,on) {
el.style.borderStyle = (on) ? "inset" : "outset";
event.cancelBubble = true;
}

currentX = currentY = null;
whichEl = null;

function grabEl(el) {
if (activeMenu) killMenu();
whichEl = el;
makeActive(whichEl);
event.cancelBubble = true;
whichEl.style.pixelLeft = whichEl.offsetLeft;
whichEl.style.pixelTop = whichEl.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
document.onmousemove = moveEl;
document.onmouseup = dropEl;
event.returnValue = false;
}

function moveEl() {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX);
distanceY = (newY - currentY);
currentX = newX;
currentY = newY;
whichEl.style.pixelLeft += distanceX;
whichEl.style.pixelTop += distanceY;
event.returnValue = false;
}

function dropEl() {
document.onmousemove = document.onmouseup = null;
}

//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: menu60.zip


Menu44

Pop-up меню с "Горячими" клавишами

Создайте новый документ MenuHot.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>MenuHot</title>
<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<SCRIPT LANGUAGE="JavaScript">
var Color= new Array(9);
Color[1] = "ff";
Color[2] = "ee";
Color[3] = "dd";
Color[4] = "cc";
Color[5] = "bb";
Color[6] = "aa";
Color[7] = "99";
Color[8] = "88";
Color[9] = "77";
Color[10] = "66";
Color[11] = "55";
Color[12] = "44";
Color[13] = "33";
Color[14] = "22";
Color[15] = "11";
Color[16] = "00";
function fadeIn(where) {
if (where >= 1) {
document.bgColor="#" + Color[where] +"0000";
where -= 1;
setTimeout("fadeIn("+where+")", 15);
} else {
setTimeout('fadeOut(1)', 15);
}
}
function fadeOut(where) {
if (where <=16) {
document.bgColor="#" + Color[where] +"0000";
where += 1;
setTimeout("fadeOut("+where+")", 15)
} else {
setTimeout("fadeIn(16)", 15);
}
}
//----->
fontFace = "<FONT SIZE=2 FACE='Arial'>";
keyBuffer = "";
var key = new Array(); // Define jump-key pages here
var name = new Array(); // Define jump-key pages here
key['a'] = "http://www.acadiananow.com"; name['a'] = "Acadiana Now/<I>Daily Advertiser</I>";
key['br'] = "http://www.broadcast.com"; name['br'] = "Broadcast.com";
key['bt'] = "http://www.backtrax.com/hear"; name['bt'] = "BackTrax USA";
key['c'] = "http://www.cnet.com"; name['c'] = "CNet";
key['d'] = "http://www.dictionary.com"; name['d'] = "Dictionary.com";
key['gr'] = "http://www.dailygrammar.com"; name['gr'] = "Daily Grammar";
key['go'] = "http://www.go.com"; name['go'] = "Go Network";
key['in'] = "http://info.louisiana.edu/dept"; name['in'] = "Information Networks";
key['jd'] = "http://www.webreference.com/js/"; name['jd'] = "Doc JavaScript";
key['jg'] = "http://developer.netscape.com/docs/manuals/communicator/jsguide4/index.htm";
name['jg'] = "Netscape JavaScript Guide";
key['jr'] = "http://developer.netscape.com/docs/manuals/communicator/jsref/index.htm";
name['jr'] = "Netscape JavaScript Reference";
key['js'] = "http://javascript.internet.com"; name['js'] = "JavaScript Source";

key['k'] = "http://www.keirsey.com"; name['k'] = "Keirsey Character Sorter";
key['ly'] = "http://www.lycos.com"; name['ly'] = "Lycos";
key['l4'] = "http://www.discjockey.com/audio/lost45.asx"; name['l4'] = "Lost 45s";
key['ms'] = "http://www.microsoft.com"; name['ms'] = "Microsoft";
key['p'] = "http://www.perl.com"; name['p'] = "Perl.com";
key['q'] = "http://www.quixtar.com"; name['q'] = "Quixtar";
key['rc'] = "http://www.compaq.com/rcfoc/"; name['rc'] = "Rapidly Changing Face of Computing";
key['rr'] = "http://www.reelradio.com"; name['rr'] = "ReelRadio";
key['st'] = "http://style.webreview.com"; name['st'] = "Style Sheets Guide";
key['tb'] = "http://www.tidbits.com"; name['tb'] = "TidBits";
key['ul'] = "http://www.louisiana.edu"; name['ul'] = "UL";
key['ur'] = "http://www.netsquirrel.com/combatkit/"; name['ur'] = "Urban Legend Combat Kit";
key['v'] = "http://webreference.com"; name['v'] = "WebReference";
key['w'] = "http://www.weather.com"; name['w'] = "The Weather Channel";
key['y/'] = "http://www.yahoo.com"; name['y/'] = "Yahoo hp";
key['yl'] = "http://dir.yahoo.com/Regional/U_S__States/Louisiana/Cities/Lafayette/";
name['yl'] = "Yahoo Local (Lafayette)";
key['ym'] = "http://mail.yahoo.com"; name['ym'] = "Yahoo Mail";
key['yn'] = "http://news.yahoo.com"; name['yn'] = "Yahoo News";
key['yv'] = "http://movies.yahoo.com"; name['yv'] = "Yahoo Movies";
key['z'] = "http://info.louisiana.edu/dept/netmon.html"; name['z'] = "Network Monitor";

function getKeySite(keyStroke) {
isNetscape=(document.layers);
eventChooser = (isNetscape) ? keyStroke.which : event.keyCode;
which = String.fromCharCode(eventChooser).toLowerCase();
keyBuffer += which;
window.status = "keyBuffer='" + keyBuffer + "'";
for (var i in key) if (keyBuffer == i) {
window.location = key[i];
keyBuffer = ""; // clear buffer
}
var matches = 0;
var kbLength = keyBuffer.length;
for (var i in key) if (keyBuffer == i.substr(0,kbLength)) matches++;
if (matches == 0) {
window.status = "No match on '" + keyBuffer + "'.";
keyBuffer = "";// clear buffer
}
}
document.onkeypress = getKeySite;
// End -->
</script>
</head>

<body bgcolor="#FFFFFF" onload="fadeIn(16)">
<center>
<table align="right" bgcolor="#CCCCCC">
<tr><td colspan=3><font face="Arial"><b><SCRIPT LANGUAGE="JavaScript">
text = "ГОРЯЧИЕ КЛАВИШИ";
color1 = "black";
color2 = "red";
fontsize = "3";
speed = 200;

d = 0;
if (navigator.appName == "Netscape") {
document.write("<layer id=a visibility=show></layer><br><br><br>");
}
else {
document.write("<div id=a></div>");
}
function changeCharColor() {
if (navigator.appName == "Netscape") {
document.a.document.write("<left><font size =" + fontsize + "><font color=" + color1 + ">");
for (var j = 0; j < text.length; j++) {
if(j == d) {
document.a.document.write("<font color=" + color2 + ">" + text.charAt(d) + "</font>");
}
else {
document.a.document.write(text.charAt(j));
}
}
document.a.document.write('</font> - Выберите сайт и нажмите соответствующую клавишу.</font></left>');
document.a.document.close();
}
if (navigator.appName == "Microsoft Internet Explorer") {
str = "<left><font size=" + fontsize + "><font color=" + color1 + ">";
for (var j = 0; j < text.length; j++) {
if( j == d) {
str += "<font color=" + color2 + ">" + text.charAt(d) + "</font>";
}
else {
str += text.charAt(j);
}
}
str += "</font> - Выберите сайт и нажмите соответствующую клавишу.</font></left>";
a.innerHTML = str;
}
(d == text.length) ? d=0 : d++;
}
setInterval("changeCharColor()", speed);

</script></font></TD></TR>
<tr valign="top">
<td><table>
<SCRIPT LANGUAGE="JavaScript">
<!-- Display list of Jump Keys
balanceFactor = 15; /* (name.length - name.length%3)/3 + 1; */
/*
document.write ("<TR><TD>" + key.length + "</TD></TR>");
document.write ("<TR><TD>" + balanceFactor + "</TD></TR>");
*/
balanceCounter = 0;
for (var i in key) {
dispstring = "<TR><TD>" + fontFace + i.toUpperCase() + "</TD><TD>";
dispstring += fontFace + "<A HREF=" + key[i] + ">" + name[i] + "</A></TD></TR>";
document.write (dispstring);
balanceCounter++;
if (balanceCounter == balanceFactor) {
document.write ("</TABLE></TD><TD><TABLE>");
balanceCounter = 0;
}
}
// End -->
</SCRIPT>
</table>
<tr>
<td><font face=Verdana color=red size=1><b>P.S. </font><font face=Verdana color=black size=1>Требуется английская раскладка клавиатуры.</b></font>
</td>
</td>
</tr>
</tr>
</table>
</center>
</body>

</html>

Содержимое этой таблицы поместите на основной странице (точно расположите коды как показано между <head> и </head>, <body> и </body>)

 <head>

<script language="javascript" type="text/javascript">
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition= (screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
 TopPosition=(screen.height)?Math. floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition= (screen.width)?(screen.width-w)/2:100;
 TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!= "random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+', top='+TopPosition+', left='+LeftPosition+',scrollbars='+scroll+',
 location=no,directories=no, status=yes,menubar=no, toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
if(win.focus){win.focus();}}
function CloseNewWin(){if(win!=null && win.open)win.close()}
window.onfocus=CloseNewWin;

</script>

</head>

<body>

<center>
<form name="openpage">
<input type=button value="Окно с горячими клавишами" onClick=
 "NewWindow ('MenuHot.htm','MenuHot','700','390','no','center'); return false">
</form>
</center>

</body>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 1

МЕНЮ

(в форме; выбрать из списка)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function loadPage(pageURL){
location.href = pageURL.options[pageURL.selectedIndex].value
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<FONT SIZE=4>
<P>&nbsp;&nbsp;
<SELECT NAME="selectMenu1" onChange="loadPage(this)" SIZE=4>
<OPTION VALUE="home.htm">Home</OPTION>
<OPTION VALUE="DT1.htm">Дата и Время</OPTION>
<OPTION VALUE="clocks1.htm">Часы</OPTION>
<OPTION VALUE="Sc2.htm">Прокрутки</OPTION>
<OPTION VALUE="another.htm">Другая стр.</OPTION>
<OPTION VALUE="MD2.htm">Дата Обновления</OPTION>
<OPTION VALUE="links.htm">Линки</OPTION>
</SELECT>
</FONT>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню воспользуйтесь кнопкой BACK для возврата к исходной странице.


Menu 2

МЕНЮ

(в форме с кнопкой)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function loadPage(pageURL){
location.href = pageURL.options[pageURL.selectedIndex].value
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<FONT SIZE=4>
<P>&nbsp;&nbsp;
<SELECT NAME="selectMenu" SIZE=5>
<OPTION VALUE="home.htm">Home</OPTION>
<OPTION VALUE="DT1.htm">Дата и Время</OPTION>
<OPTION VALUE="clocks1.htm">Часы</OPTION>
<OPTION VALUE="Sc2.htm">Прокрутки</OPTION>
<OPTION VALUE="another.htm">Другая стр.</OPTION>
<OPTION VALUE="MD2.htm">Дата Обновления</OPTION>
<OPTION VALUE="links.htm">Линки</OPTION>
</SELECT>
</FONT>
<BR><BR>&nbsp;&nbsp;&nbsp;
<INPUT TYPE=BUTTON VALUE="GO"
onClick = "loadPage(this.form.selectMenu)">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню воспользуйтесь кнопкой BACK для возврата к исходной странице.


Menu 12

Меню в форме, с прокруткой

(меню не работает во фрэймах - default target="_self")

МЕНЮ
Выбери страницу

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <TABLE border="2"  bgcolor="#C8CCAC" cellspacing="0" cellpadding="1">
<TD align=center><B><FONT FACE="arial" FONT SIZE="+1" color="#000000">МЕНЮ
       </FONT><BR></B></TD><tr>
<script language="JavaScript">
// cridit http://webg.agava.ru
<!-- Hide this from older browsers
function gotoPage (form) {
if (form.way.selectedIndex == 0)
parent.location="home.htm";
if (form.way.selectedIndex == 1)
parent.location="link.htm";
if (form.way.selectedIndex == 2)
parent.location="another.htm";
if (form.way.selectedIndex == 3)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 4)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 5)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 6)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 7)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 8)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 9)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 10)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 11)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 12)
parent.location="http://javashelp.cjb.net";
if (form.way.selectedIndex == 13)
parent.location="http://javashelp.cjb.net";
}
document.write('<td valign="middle"> <center> <form name="WebNavigator">');
document.write('<select name="way" size="5" onChange="gotoPage(this.form)">');
document.write('<option>1. стр.');
document.write('<option>2. стр.');
document.write('<option>3. стр.');
document.write('<option>4. стр.');
document.write('<option>5. стр.');
document.write('<option>6. стр.');
document.write('<option>7. стр.');
document.write('<option>8. стр.');
document.write('<option>9. стр.');
document.write('<option>10. стр.');
document.write('<option>11. стр.');
document.write('<option>12. стр.');
document.write('<option>13. стр.');
document.write('<option>14. стр.');
document.write('</select>');
document.write('</form></td>');
// End hide -->
</script>
</tr><tr><td align="center"><b>
<font face="arial" size="1" color="#000000">Выбери страницу</font>
</td></tr></table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Menu54

Верхнее непередвигаемое меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

/*
Top Navigational Bar III (By BrotherCake @ cake@brothercake.net)
Permission granted/modified by Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://www.dynamicdrive.com
*/
// *** MODIFY THESE VARIABLES

var hiColor = "#000077"; // background color (high color monitors)
var loColor = "#000066"; // background color (256 color monitors)

var aLINK = "#ffffff"; // link color
var aACT = "#ff00ff"; // active link color
var vLINK = "#ffffff"; // visited link color

var aDEC = "none"; // link decoration
var hDEC = "none"; // hover decoration (not NS4 or Mozilla0.7)

var fFONT = "verdana"; // font face //** be careful with these settings,
var fSIZE = 12; // font size (pixels) //** since over-large fonts will push
var fWEIGHT = "normal" // font weight //** the menus out of alignment.
//** SUGGESTIONS:
//** arial 13
//** times new roman 14
//** comic sans ms 13

var absTOP = 0; // absolute top position
var absLEFT = 20; // absolute left position

//** BEWARE OF OVERLY LONG LINK NAMES //** Try to keep them at 18 characters or less
//** because over-sized links will push the menus out of alignment

//** MAIN LINKS

var url0 = "http://Javashelp.cjb.net";
var link0 = "Home";
var url1 = "http://Javashelp.cjb.net";
var link1 = "Webmaster";
var url2 = "http://Javashelp.cjb.net";
var link2 = "News";
var url3 = "http://Javashelp.cjb.net";
var link3 = "Technology";
var url4 = "http://Javashelp.cjb.net";
var link4 = "Misc";

//** SUBLINKS 0

var url00 = "http://www.dynamicdrive.com";
var link00 = "JS Library";
var url01 = "";
var link01 = "";
var url02 = "";
var link02 = "";
var url03 = "";
var link03 = "";
var url04 = "";
var link04 = "";
var url05 = "";
var link05 = "";
var url06 = "";
var link06 = "";
var url07 = "";
var link07 = "";
var url08 = "";
var link08 = "";
var url09 = "";
var link09 = "";

//** SUBLINKS 1

var url10 = "http://www.dynamicdrive.com/";
var link10 = "Dynamic Drive";
var url11 = "http://www.wsabstract.com";
var link11 = "Website Abstraction";
var url12 = "http://www.freewarejava.com";
var link12 = "Freewarejava.com";
var url13 = "http://www.wsabstract.com/cgi-bin/Ultimate.cgi";
var link13 = "WA Help Forum";
var url14 = "http://www.flamingtext.com";
var link14 = "Flaming Text";
var url15 = "http://active-x.com/";
var link15 = "Active-X.com";
var url16 = "";
var link16 = "";
var url17 = "";
var link17 = "";
var url18 = "";
var link18 = "";
var url19 = "";
var link19 = "";

//** SUBLINKS 2

var url20 = "http://www.cnn.com";
var link20 = "CNN";
var url21 = "http://www.msnbc.com";
var link21 = "MSNBC";
var url22 = "http://www.abcnews.com";
var link22 = "ABC News";
var url23 = "";
var link23 = "";
var url24 = "";
var link24 = "";
var url25 = "";
var link25 = "";
var url26 = "";
var link26 = "";
var url27 = "";
var link27 = "";
var url28 = "";
var link28 = "";
var url29 = "";
var link29 = "";

//** SUBLINKS 3

var url30 = "http://www.space.com";
var link30 = "Space.com";
var url31 = "http://www.zdnet.com";
var link31 = "ZD Net";
var url32 = "http://www.slashdot.org";
var link32 = "SlashDot";
var url33 = "http://www.wired.com";
var link33 = "Wired News";
var url34 = "http://www.nbci.com/";
var link34 = "NBCi";
var url35 = "";
var link35 = "";
var url36 = "";
var link36 = "";
var url37 = "";
var link37 = "";
var url38 = "";
var link38 = "";
var url39 = "";
var link39 = "";

//** SUBLINKS 4

var url40 = "http://www.brothercake.net/";
var link40 = "Author Homepage";
var url41 = "";
var link41 = "";
var url42 = "";
var link42 = "";
var url43 = "";
var link43 = "";
var url44 = "";
var link44 = "";
var url45 = "";
var link45 = "";
var url46 = "";
var link46 = "";
var url47 = "";
var link47 = "";
var url48 = "";
var link48 = "";
var url49 = "";
var link49 = "";

// *** DO NOT MODIFY BELOW THIS LINE ... unless you really want to !

// *** browser and os detection from - http://developer.netscape.com/docs/examples/javascript/browser_type.html
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
&& (agt.indexOf('webtv')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) ||
(agt.indexOf("; nav") != -1)) );
var is_nav5 = (is_nav && (is_major == 5));
var is_nav5up = (is_nav && (is_major >= 5));
var is_moz7 = (agt.indexOf('0.7')!=-1)
var is_ie = (agt.indexOf("msie") != -1);
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up = (is_ie && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_opera = (agt.indexOf("opera") != -1);
var is_opera5 = (is_opera && (is_major != 3) && (agt.indexOf("5.01") != -1));
var is_webtv = (agt.indexOf("webtv") != -1);
var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac = (agt.indexOf("mac")!=-1);
//********

// define browser type, platform and color depth variables

// if client settings are not specific, treat as old browser (no script) on windows at 256 color
var bType = "old";
var os = "win";
var cd = "lo";

// if true look for colorDepth property (ie); if false look for pixelDepth property (ns);
var usec = true;

// browser
if (is_ie3 == true) { bType = "ie3"; usec = true; }
if (is_ie4up == true && is_opera == false && is_webtv == false) { bType = "ie4"; usec = true; }
if (is_nav2 == true || is_nav3 == true) { bType = "ns3"; usec = false; }
if (is_nav4up == true && is_nav5up == false) { bType = "ns4"; usec = false; }
if (is_nav5up == true && is_moz7 == false) { bType = "ns6"; usec = false; }
if (is_nav5up == true && is_moz7 == true) { bType = "mz7"; usec = false; }
if (is_opera == true) { bType = "op4"; usec = true; }
if (is_opera5 == true) { bType = "op5"; usec = true; }
if (is_webtv == true) { bType = "tv"; usec = true; }

// color depth
if (usec == true) { var cd = screen.colorDepth; } else { var cd = screen.pixelDepth; }
if (cd < 16) { cd = "lo"; }
if (cd >= 16) { cd = "hi"; }
// note: I don't think it's necessary to distinguish between 16 and 24 bit color,
// even though full hex color definitions are 24 bit, because 16 bit color is not paletised -
// the video card's guess is probably as good as we could get with the naked eye.

// platform
if (is_win == true) { os = "win"; }
if (is_mac == true) { os = "mac"; }

//create a set of handy variables

var ie3=false;var ie4=false;var ns3=false;var ns4=false;var ns6=false;
var mz7=false;var op4=false;var op5=false;var tv=false;var old=false;
var lo=false;var hi=false;
var win=false;var mac=false;

if (bType == "ie3") ie3 = true; if (bType == "ie4") ie4 = true; if (bType == "ns3") ns3 = true;
if (bType == "ns4") ns4 = true; if (bType == "ns6") ns6 = true; if (bType == "mz7") mz7 = true;
if (bType == "op4") op4 = true; if (bType == "op5") op5 = true; if (bType == "tv") tv = true; if (bType == "old") old = true;

if (ie3 || ns3 || op4 || tv) { old = true; }

if (cd == "lo") lo = true; if (cd == "hi") hi = true;
if (os == "win") win = true; if (os == "mac") mac = true;

// begin style definitions

document.write('<STYLE>');

var bFont = 'font-family: ' + fFONT + '; font-size: ' + fSIZE + 'px; color: ' + aLINK + '; ';

if (hi) { var bgColor = "background-color:" + hiColor + ""; }
if (lo) { var bgColor = "background-color:" + loColor + ""; }

if (ns4) { var zOrder = ""; } else { var zOrder = "z-index:11\;"; }

document.write('.menubarTD \{ cursor:default;' + zOrder + bFont + bgColor + ' \}');
if (ie4 || op5) {document.write('.menubar \{' + zOrder + 'left:0px; font-family: ' + bFont + bgColor + ' \}');}
else if (mz7 || ns6) {document.write('.menubar \{' + zOrder + ' font-family: ' + bFont + bgColor + ' \}');}
else if (ns4) { document.write('.menubar \{' + zOrder + bFont + bgColor + ' \}');}

if (ie4) { document.write('.SUBmenubar \{' + zOrder + bFont + bgColor + ' \}'); }
if (op5) { document.write('.SUBmenubar \{' + zOrder + bFont + bgColor + ' \}'); }
if (ie4) { document.write('.SUBmenubarTD \{' + zOrder + bFont + bgColor + ' \}'); }
if (op5) { document.write('.SUBmenubarTD \{' + zOrder + 'width:1px; ' + bFont + bgColor + ' \}'); }
if (mz7 || ns6 || ns4) { document.write('.SUBmenubar \{' + zOrder + bFont + bgColor + ' \}');
document.write('.SUBmenubarTD \{' + zOrder + bFont + bgColor + ' \}'); }

document.write('.br \{font-size: ' + fSIZE + 'px;\}');

document.write('.menubarTD A \{z-index:15; color: ' + aLINK + ' font-weight:' + fWEIGHT + '; \}');
document.write('.menubarTD A:Active \{' + zOrder + 'color: ' + aACT + ' \}');
document.write('.menubarTD A:Link \{' + zOrder + 'color: ' + aLINK + ' \}');
document.write('.menubarTD A:Visited \{' + zOrder + 'color: ' + vLINK + ' \}');
document.write('.menubarTD A:Active,.menubarTD A:Link,.menubarTD A:Visited \{' + zOrder + 'font-weight:' + fWEIGHT + '; font-size:' + fSIZE + 'px;font-family:' + fFONT + ';text-decoration:' + aDEC + '; position:relative;\}');

document.write('.SUBmenubarTD A \{z-index:15;color: ' + aLINK + ' font-weight:' + fWEIGHT + '; \}');
document.write('.SUBmenubarTD A:Active \{' + zOrder + 'color: ' + aACT + ' \}');
document.write('.SUBmenubarTD A:Link \{' + zOrder + 'color: ' + aLINK + ' \}');
document.write('.SUBmenubarTD A:Visited \{' + zOrder + 'color: ' + vLINK + ' \}');
document.write('.SUBmenubarTD A:Active,.SUBmenubarTD A:Link,.SUBmenubarTD A:Visited \{' + zOrder + 'font-weight:' + fWEIGHT + '; font-size:' + fSIZE + 'px;font-family:' + fFONT + ';text-decoration:' + aDEC + ';\}');

// end style definitions
document.write('</STYLE>');
</script>

Содержимое этой таблицы поместите прямо перед тэгом </BODY>

<script language="JavaScript">
//**old browser excluded
if (old == false) {

// white line spacer width - used to determine the width of each sub-table
if (op5) { var imgW = 116; }
else { var imgW = 124; }

// top link variables

var count = 0;
var num = 0;
var finished = false;

var linkCellOpen = '<td align=center class=menubarTD';
if (op5) { var dividerCell = '<td align=center class=menubarTD onmouseover="clearMenus()"><img src="blank.gif" alt="" border=0 width=15 height=1><br class=br>|</td>'; }
else { var dividerCell = '<td align=center class=menubarTD><img src="blank.gif" alt="" border=0 width=15 height=1><br class=br>|</td>'; }

var emptyEndCell = '<td align=center class=menubarTD width=2000>&nbsp;</td>';
var MAINstr = "";
var blankSP = '<img src="blank.gif" alt="" border=0 width=100 height=1><br class=br>';

//top and left relative position of subtables
var SUBabsTOP = 0; var SUBabsLEFT = 0;
if (ie4) { SUBabsTOP = (absTOP+3); SUBabsLEFT = (absLEFT+13); }
else if (op5) { SUBabsTOP = (absTOP+1); SUBabsLEFT = (absLEFT+11); }
else if (ns6) { SUBabsTOP = (absTOP+1); SUBabsLEFT = (absLEFT+13); }
else if (ns4 || mz7) { SUBabsTOP = (absTOP+1); SUBabsLEFT = (absLEFT+13); }

// object array - submenu ID values
var subID = new Array(5);
subID[0] = "submenu0";
subID[1] = "submenu1";
subID[2] = "submenu2";
subID[3] = "submenu3";
subID[4] = "submenu4";

//this gets me out of a couple of sticky spots
function clearMenus() {
if (ns6 || mz7) { for(j=0;j<5;j++) { document.getElementById(subID[j]).style.display="none"; }}
else { for(j=0;j<5;j++) { document.all[subID[j]].style.visibility="hidden"; }}
}

// draw top links
if (ns4) { MAINstr += '<layer name="menubar" visibility=show top=' + absTOP + ' left=' + absLEFT + '>'; }
if (ns4) { MAINstr += '<table cellpadding=5 cellspacing=0 border=0 width=700 id="menubar" class=menubar><tr>'; }
else { MAINstr += '<table cellpadding=5 cellspacing=0 border=0 width=700 id="menubar" class=menubar style="z-index:12; position:absolute; top:' + absTOP + 'px; left:' + absLEFT + 'px;"><tr>'; }
MAINstr += dividerCell;
if (url0 != "" && link0 != "") {
if (url00 != "" && link00 != "") {
if (ns4) { MAINstr += linkCellOpen + '>' + blankSP + '<a href="' + url0 + '" onmouseover="document.layers.submenu0.visibility=\'show\'">' + link0 + '</a></td>'; }
else if (ie4) { MAINstr += linkCellOpen + ' onmouseover="document.all[\'submenu0\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu0\'].style.visibility=\'hidden\'">' + blankSP + '<a href="' + url0 + '" style="position:relative; top:0px;">' + link0 + '</td>'; }
else if (op5) { MAINstr += linkCellOpen + ' onmouseover="clearMenus(); document.all[\'submenu0\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu0\'].style.visibility=\'visible\'">' + blankSP + '<a href="' + url0 + '" style="position:relative; top:0px;">' + link0 + '</td>'; }
else if (ns6 || mz7) { MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url0 + '" onmouseover="clearMenus(); document.getElementById(subID[0]).style.display=\'\'">' + link0 + '</td>'; }
} else {
MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url0 + '" style="color:#ffffff">' + link0 + '</td>';
}
MAINstr += dividerCell;
}
if (url1 != "" && link1 != "") {
if (url10 != "" && link10 != "") {
if (ns4) { MAINstr += linkCellOpen + '>' + blankSP + '<a href="' + url1 + '" onmouseover="document.layers.submenu1.visibility=\'show\'">' + link1 + '</a></td>'; }
else if (ie4 ) { MAINstr += linkCellOpen + ' onmouseover="document.all[\'submenu1\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu1\'].style.visibility=\'hidden\'">' + blankSP + '<a href="' + url1 + '" style="position:relative; top:0px;">' + link1 + '</td>'; }
else if (op5) { MAINstr += linkCellOpen + ' onmouseover="clearMenus(); document.all[\'submenu1\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu1\'].style.visibility=\'visible\'">' + blankSP + '<a href="' + url1 + '" style="position:relative; top:0px;">' + link1 + '</td>'; }
else if (ns6 || mz7) { MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url1 + '" onmouseover="clearMenus(); document.getElementById(subID[1]).style.display=\'\'">' + link1 + '</td>'; }
} else {
MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url1 + '" style="color:#ffffff">' + link1 + '</td>';
}
MAINstr += dividerCell;
}
if (url2 != "" && link2 != "") {
if (url20 != "" && link20 != "") {
if (ns4) { MAINstr += linkCellOpen + '>' + blankSP + '<a href="' + url2 + '" onmouseover="document.layers.submenu2.visibility=\'show\'">' + link2 + '</a></td>'; }
else if (ie4) { MAINstr += linkCellOpen + ' onmouseover="document.all[\'submenu2\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu2\'].style.visibility=\'hidden\'">' + blankSP + '<a href="' + url2 + '" style="position:relative; top:0px;">' + link2 + '</td>'; }
else if (op5) { MAINstr += linkCellOpen + ' onmouseover="clearMenus(); document.all[\'submenu2\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu2\'].style.visibility=\'visible\'">' + blankSP + '<a href="' + url2 + '" style="position:relative; top:0px;">' + link2 + '</td>'; }
else if (ns6 || mz7) { MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url2 + '" onmouseover="clearMenus(); document.getElementById(subID[2]).style.display=\'\'">' + link2 + '</td>'; }
} else {
MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url2 + '" style="color:#ffffff">' + link2 + '</td>';
}
MAINstr += dividerCell;
}
if (url3 != "" && link3 != "") {
if (url30 != "" && link30 != "") {
if (ns4) { MAINstr += linkCellOpen + '>' + blankSP + '<a href="' + url3 + '" onmouseover="document.layers.submenu3.visibility=\'show\'">' + link3 + '</a></td>'; }
else if (ie4) { MAINstr += linkCellOpen + ' onmouseover="document.all[\'submenu3\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu3\'].style.visibility=\'hidden\'">' + blankSP + '<a href="' + url3 + '" style="position:relative; top:0px;">' + link3 + '</td>'; }
else if (op5) { MAINstr += linkCellOpen + ' onmouseover="clearMenus(); document.all[\'submenu3\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu3\'].style.visibility=\'visible\'">' + blankSP + '<a href="' + url3 + '" style="position:relative; top:0px;">' + link3 + '</td>'; }
else if (ns6 || mz7) { MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url3 + '" onmouseover="clearMenus(); document.getElementById(subID[3]).style.display=\'\'">' + link3 + '</td>'; }
} else {
MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url3 + '" style="color:#ffffff">' + link3 + '</td>';
}
MAINstr += dividerCell;
}
if (url4 != "" && link4 != "") {
if (url40 != "" && link40 != "") {
if (ns4) { MAINstr += linkCellOpen + '>' + blankSP + '<a href="' + url4 + '" onmouseover="document.layers.submenu4.visibility=\'show\'">' + link4 + '</a></td>'; }
else if (ie4) { MAINstr += linkCellOpen + ' onmouseover="document.all[\'submenu4\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu4\'].style.visibility=\'hidden\'">' + blankSP + '<a href="' + url4 + '" style="position:relative; top:0px;">' + link4 + '</td>'; }
else if (op5) { MAINstr += linkCellOpen + ' onmouseover="clearMenus(); document.all[\'submenu4\'].style.visibility=\'visible\'" onmouseout="document.all[\'submenu4\'].style.visibility=\'visible\'">' + blankSP + '<a href="' + url4 + '" style="position:relative; top:0px;">' + link4 + '</td>'; }
else if (ns6 || mz7) { MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url4 + '" onmouseover="clearMenus(); document.getElementById(subID[4]).style.display=\'\';">' + link4 + '</td>'; }
} else {
MAINstr += linkCellOpen + '">' + blankSP + '<a href="' + url4 + '" style="color:#ffffff">' + link4 + '</td>';
}
MAINstr += dividerCell;
}
MAINstr += emptyEndCell;
MAINstr += '</tr></table>';
if (ns4) { MAINstr += '</layer>'; }

document.write(MAINstr);

// submenu variables
var SUBstr0 = "";
var SUBstr1 = "";
var SUBstr2 = "";
var SUBstr3 = "";
var SUBstr4 = "";

var SUBlinkCellOpen = '<tr><td align=center class=SUBmenubarTD';
var nsBR = ""; if (ns6) { nsBR = "<br class=br>"; }
var space = "";
if (ns6) { space = " height=22"; }
if (op5) { space = " height=20"; }
var shiftUP = '';
if (ie4) { var shiftUP = ' style="position:relative; top:-5px;"'; }
if (ns6) { var shiftUP = ' style="position:relative; top:-4px;"'; }
if (op5) { var shiftUP = ' style="position:relative; top:-3px;"'; }
if (mz7) { var shiftUP = ' style="position:relative; top:-6px;"'; }

var trigger = onmouseover="this.visibility='show'";

//****//****//

function drawSubMenu() {
//tedious mucking about for ns6 and mozilla to ensure correct table positioning
var mzTOP = (SUBabsTOP - 35); var mzTOPcl = (SUBabsTOP - 25);
for (i=0;i<=9;i++) { if (Hurl[i] != "" && Llink[i] != "") { mzTOP-=24; mzTOPcl-=22;}}
//compile sub menu
if (ns4) { subSTR[count] += '<layer name=' + subID[count] + ' visibility=hide top=' + SUBabsTOP + ' left=' + SUBabsLEFT + ' onmouseover="this.visibility=\'show\'" onmouseout="this.visibility=\'hide\'">'; }
subSTR[count] += '<table cellpadding=5 cellspacing=0 border=0 class=SUBmenubar ';
if (!ns4) { subSTR[count] += ' id="' + subID[count] + '"'; }
if (ie4) { subSTR[count] += ' style="visibility:hidden; position:absolute; top:' + SUBabsTOP + 'px; left:' + SUBabsLEFT + 'px;" onmouseover="document.all[\'' + subID[count] + '\'].style.visibility=\'visible\'" onmouseout="document.all[\'' + subID[count] + '\'].style.visibility=\'hidden\'">'; }
else if (op5) { subSTR[count] += ' style="visibility:hidden; position:absolute; top:' + SUBabsTOP + 'px; left:' + SUBabsLEFT + 'px; width:' + (imgW+6) + 'px" onmouseover="document.all[\'' + subID[count] + '\'].style.visibility=\'visible\';">'; }
else if (mz7 || ns6) { subSTR[count] += ' style="display:none; position:absolute; left:' + SUBabsLEFT + 'px; top:' + SUBabsTOP + 'px; z-index:11">'; }
else { subSTR[count] += '>'; }
subSTR[count] += SUBlinkCellOpen + '><a href="' + mURL[count] + '">' + mLINK[count] + '</a><br class=br><img src="white.gif" name="white1" alt="" width=' + imgW + ' height=1 border=0';
if (mz7 || ns4 || ns6) { subSTR[count] += ' vspace=5></td></tr>'; }
else { subSTR[count] += ' vspace=3></td></tr>'; }
for (i=0;i<=9;i++) { if (Hurl[i] != "" && Llink[i] != "") { subSTR[count] += SUBlinkCellOpen + space +'><a href="' + Hurl[i] + '"' + shiftUP + '>' + Llink[i] + '</a></td></tr>'; }}
if (ns4) { subSTR[count] += SUBlinkCellOpen + '><img src="blank.gif" alt="" width=' + imgW + ' height=1 border=0></td></tr>'; }
subSTR[count] += '</table>';
if (ns4) { subSTR[count] += '</layer>'; }
//actually draw it
document.write(subSTR[count]);
}

// object array - main links
var mURL = new Array(5);
mURL[0] = url0;
mURL[1] = url1;
mURL[2] = url2;
mURL[3] = url3;
mURL[4] = url4;

// object array - main link names
var mLINK = new Array(5);
mLINK[0] = link0;
mLINK[1] = link1;
mLINK[2] = link2;
mLINK[3] = link3;
mLINK[4] = link4;

// object array - document.write string identifiers
var subSTR = new Array(5);
subSTR[0] = SUBstr0;
subSTR[1] = SUBstr1;
subSTR[2] = SUBstr2;
subSTR[3] = SUBstr3;
subSTR[4] = SUBstr4;

//zeroth submenu
count=0;

// submenu link and linkname arrays
var Hurl = new Array(10);
Hurl[0] = url00; Hurl[1] = url01;
Hurl[2] = url02; Hurl[3] = url03;
Hurl[4] = url04; Hurl[5] = url05;
Hurl[6] = url06; Hurl[7] = url07;
Hurl[8] = url08; Hurl[9] = url09;

var Llink = new Array(10);
Llink[0] = link00; Llink[1] = link01;
Llink[2] = link02; Llink[3] = link03;
Llink[4] = link04; Llink[5] = link05;
Llink[6] = link06; Llink[7] = link07;
Llink[8] = link08; Llink[9] = link09;

//draw the menu
drawSubMenu();

//first submenu
count=1;

// submenu link and linkname arrays
var Hurl = new Array(10);
Hurl[0] = url10; Hurl[1] = url11;
Hurl[2] = url12; Hurl[3] = url13;
Hurl[4] = url14; Hurl[5] = url15;
Hurl[6] = url16; Hurl[7] = url17;
Hurl[8] = url18; Hurl[9] = url19;

var Llink = new Array(10);
Llink[0] = link10; Llink[1] = link11;
Llink[2] = link12; Llink[3] = link13;
Llink[4] = link14; Llink[5] = link15;
Llink[6] = link16; Llink[7] = link17;
Llink[8] = link18; Llink[9] = link19;

//top and left position
if (ie4) { SUBabsLEFT+=135; }
else if (op5) { SUBabsLEFT+=123; }
else if (ns6) { SUBabsLEFT+=135; }
else if (ns4 || mz7) { SUBabsLEFT+=135; }

//draw the menu
drawSubMenu();

//second submenu
count=2;

// submenu link and linkname arrays
Hurl = new Array(10);
Hurl[0] = url20; Hurl[1] = url21;
Hurl[2] = url22; Hurl[3] = url23;
Hurl[4] = url24; Hurl[5] = url25;
Hurl[6] = url26; Hurl[7] = url27;
Hurl[8] = url28; Hurl[9] = url29;

Llink = new Array(10);
Llink[0] = link20; Llink[1] = link21;
Llink[2] = link22; Llink[3] = link23;
Llink[4] = link24; Llink[5] = link25;
Llink[6] = link26; Llink[7] = link27;
Llink[8] = link28; Llink[9] = link29;

//top and left position
if (ie4) { SUBabsLEFT+=135; }
else if (op5) { SUBabsLEFT+=123; }
else if (ns6) { SUBabsLEFT+=135; }
else if (ns4 || mz7) { SUBabsLEFT+=135; }

//draw the menu
drawSubMenu();

//third submenu
count=3;

// submenu link and linkname arrays
Hurl = new Array(10);
Hurl[0] = url30; Hurl[1] = url31;
Hurl[2] = url32; Hurl[3] = url33;
Hurl[4] = url34; Hurl[5] = url35;
Hurl[6] = url36; Hurl[7] = url37;
Hurl[8] = url38; Hurl[9] = url39;

Llink = new Array(10);
Llink[0] = link30; Llink[1] = link31;
Llink[2] = link32; Llink[3] = link33;
Llink[4] = link34; Llink[5] = link35;
Llink[6] = link36; Llink[7] = link37;
Llink[8] = link38; Llink[9] = link39;

//top and left position
if (ie4) { SUBabsLEFT+=135; }
else if (op5) { SUBabsLEFT+=123; }
else if (ns6) { SUBabsLEFT+=135; }
else if (ns4 || mz7) { SUBabsLEFT+=135; }

//draw the menu
drawSubMenu();

//fourth submenu
count=4;

// submenu link and linkname arrays
Hurl = new Array(10);
Hurl[0] = url40; Hurl[1] = url41;
Hurl[2] = url42; Hurl[3] = url43;
Hurl[4] = url44; Hurl[5] = url45;
Hurl[6] = url46; Hurl[7] = url47;
Hurl[8] = url48; Hurl[9] = url49;

Llink = new Array(10);
Llink[0] = link40; Llink[1] = link41;
Llink[2] = link42; Llink[3] = link43;
Llink[4] = link44; Llink[5] = link45;
Llink[6] = link46; Llink[7] = link47;
Llink[8] = link48; Llink[9] = link49;

//top and left position
if (ie4) { SUBabsLEFT+=135; }
else if (op5) { SUBabsLEFT+=123; }
else if (ns6) { SUBabsLEFT+=135; }
else if (ns4 || mz7) { SUBabsLEFT+=135; }

//draw the menu
drawSubMenu();

//****//****//

//closing mechanism for Opera 5
if (op5 || ns6 || mz7) document.onclick = clearMenus;

}
//**old browser excluded
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: menu54.zip


Menu22

Выезжающее слева меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#slidemenubar, #slidemenubar2{
position:absolute;
left:-155px;
width:160px;
top:170px;
border:1.5px solid green;
background-color:lightyellow;
layer-background-color:lightyellow;
font:bold 12px Verdana;
line-height:20px;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Sliding Menu Bar Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all)
document.write('<div id="slidemenubar2" style="left:-150" onMouseover="pull()" onMouseout="draw()">')
</script>
<p>
<p>
<layer id="slidemenubar" onMouseover="pull()" onMouseout="draw()">
<script language="JavaScript1.2">
var sitems=new Array()
var sitemlinks=new Array()

//extend or shorten this list
sitems[0]="Тест к скрипту 14"
sitems[1]="Тест к скрипту 21"
sitems[2]="Тест к скрипту 678"
sitems[3]="Главная страница"
sitems[4]="Линки"
sitems[5]="Другая страница"
sitems[6]="Просто к верху"
sitems[7]="Просто к верху"
sitems[8]="Просто к верху"
sitems[9]="Просто к верху"
sitems[10]="Просто к верху"
sitems[11]="Просто к верху"
sitems[12]="JS Library 1.0"

//These are the links pertaining to the above text.
sitemlinks[0]="test.htm"
sitemlinks[1]="test2.htm"
sitemlinks[2]="test3.htm"
sitemlinks[3]="home.htm"
sitemlinks[4]="Link.htm"
sitemlinks[5]="another.html"
sitemlinks[6]="#top"
sitemlinks[7]="#top"
sitemlinks[8]="#top"
sitemlinks[9]="#top"
sitemlinks[10]="#top"
sitemlinks[11]="#top"
sitemlinks[12]="http://javashelp.cjb.net"

for (i=0;i<=sitems.length-1;i++)
document.write('<a href='+sitemlinks[i]+'>'+sitems[i]+'</a><br>')
</script>
</layer>
<script language="JavaScript1.2">
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",400)
}
window.onload=regenerate2
if (document.all){
document.write('</div>')
themenu=document.all.slidemenubar2.style
rightboundary=0
leftboundary=-150
}
else{
themenu=document.layers.slidemenubar
rightboundary=150
leftboundary=10
}
function pull(){
if (window.drawit)
clearInterval(drawit)
pullit=setInterval("pullengine()",50)
}
function draw(){
clearInterval(pullit)
drawit=setInterval("drawengine()",50)
}
function pullengine(){
if (document.all&&themenu.pixelLeft<rightboundary)
themenu.pixelLeft+=5
else if(document.layers&&themenu.left<rightboundary)
themenu.left+=5
else if (window.pullit)
clearInterval(pullit)
}
function drawengine(){
if (document.all&&themenu.pixelLeft>leftboundary)
themenu.pixelLeft-=5
else if(document.layers&&themenu.left>leftboundary)
themenu.left-=5
else if (window.drawit)
clearInterval(drawit)
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белые цифры - полжение на странице, желтые - ширина меню.


Menu25

 A B C D E F G H I J K L M

Следующее за скроллингом выдвижное левое меню

(для любых браузеров!)

(из-за расположения меню могут
возникнуть сложности с копированием.
Следуйте совету внизу страницы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript" type="text/javascript">

var Netscape4 = (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) >= "4");
var Explorer4 = (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.substring(0,1) >= "4");

</script>

<script language="javascript1.2" type="text/javascript">
var yBase = window.innerHeight/2; var xBase = window.innerWidth/2; var delay = 20; var yAmpl = 10; var yMax = 40; var step = .2; var ystep = .5; var currStep = 0; var tAmpl=1; var Xpos = 10; var Ypos = 10; var j = 0;

function MoveHandler(evnt) {
Xpos = evnt.pageX ;
Ypos = evnt.pageY ;
}

function SetMenuPosition(leftPixel) {
if (Netscape4) {
document.layers.layerMenu.left=leftPixel;
}
else if (Explorer4) {
document.all("spanMenu").style.left=leftPixel;
}
return true;
}

function PositionMenu() {
if (Netscape4) {
document.layers.layerMenu.top = top.pageYOffset;
}
else if (Explorer4) {
document.all("spanMenu").style.top=bbody.scrollTop;
}
return true;
}

function InvokeMenu () {
if (Netscape4) {
document.write('<layer id="layerMenu" left="-99" width="120" top="0" height="367" clip="0,0,121,396" onMouseOver="javascript:SetMenuPosition(-2);" onMouseOut="javascript:SetMenuPosition(-99);">\n<img src="menu.jpg" width=120 height=367 border=0 usemap="#menu">\n</layer>\n');
}
else if (Explorer4) {
document.write('<span id="spanMenu" onMouseOver="javascript:SetMenuPosition(-2);" onMouseOut="javascript:SetMenuPosition(-99);">\n<img src="menu.jpg" width=120 height=367 border=0 usemap="#menu">\n</span>\n');
}
if (Netscape4 || Explorer4) {
setInterval("PositionMenu()", 200);
}
return true;
}
</script>
<style>
#spanMenu {
container: positioned;
position: absolute;
left: -99px;
top: 0px;
width: 120px;
height: 366px;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body id="bbody">

<map name="menu">
<area shape=rect coords="17,15,90,31" href="Link1" alt="A">
<area shape=rect coords="17,41,90,57" href="Link2" alt="B">
<area shape=rect coords="17,67,90,83" href="Link3" alt="C">
<area shape=rect coords="17,93,90,109" href="Link4" alt="D">
<area shape=rect coords="17,119,90,135" href="Link5" alt="E">
<area shape=rect coords="17,145,90,161" href="Link6" alt="F">
<area shape=rect coords="17,171,90,187" href="Link7" alt="G">
<area shape=rect coords="17,197,90,213" href="Link8" alt="H">
<area shape=rect coords="17,223,90,239" href="Link9" alt="I">
<area shape=rect coords="17,249,90,265" href="Link10" alt="J">
<area shape=rect coords="17,275,90,291" href="Link11" alt="K">
<area shape=rect coords="17,301,90,317" href="Link12" alt="L">
<area shape=rect coords="17,327,90,343" href="Link13" alt="M">
</map>
<script language="javascript1.2" type="text/javascript">
<!--
InvokeMenu();
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере. (заменить рисунок произвольно нельзя - следует, в таком случае составлять иную карту)

menu.jpg

Нажмите кнопку и скопируйте рисунок обычным способом. Название рисунка, тем не менее, придется вписывать самостоятельно. Кроме того, формат рисунка окажется BMP, а не GIF, что не приемлемо для веб. Лучший способ - это скопировать рисунок в буфер обмена прямо из окна файла справки и затем создать из него GIF (JPG) с нужным нажванием в программе Photoshop или подобной.


Menu26

Следующее за скроллингом выдвижное левое меню
без рисунка.

(из-за расположения меню могут
возникнуть сложности с копированием.
Следуйте совету внизу страницы)
Menu

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*
Static menu script II (By maXimus, maximus@nsimail.com, http://absolutegb.com/maximus/)
Modified slightly/ permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

function move(x) {
if (document.all) {
object1.style.pixelLeft += x;
object1.style.visibility = "visible"}
else if (document.layers) {
document.object1.left += x;
document.object1.visibility = "show"}};

function makeStatic() {
if (document.all) {object1.style.pixelTop= document.body.scrollTop+20}
else {eval(document.object1.top= eval(window.pageYOffset+20));}
setTimeout("makeStatic()",0);}
</script>

<style>
<!--

.hl {
Background-Color : yellow;
Cursor:hand;
}
.n {
Cursor:hand;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <LAYER visibility="hide" top="20" name="object1" bgcolor="black" left="0" onmouseover="move(132)" onmouseout="move(-132)">

<script language="JavaScript1.2">

function positionmenu(){
move(-132)
}

if (document.all) {document.write('<DIV ID="object1" style="visibility:hidden;cursor:hand; Position : Absolute ;Left : 0px ;Top : 20px ;Z-Index : 20" onmouseover="move(132)" onmouseout="move(-132)">')}
</script>

<table border="0" cellpadding="0" cellspacing="1" width="150" bgcolor="#000000">
<tr><td bgcolor="#0099FF">&nbsp;<font size="4" face="Arial"><b>Menu</b></font></td>

<script language="JavaScript1.2">
document.write('<td align="center" rowspan="100" width="16" bgcolor="#FF6666"><span style="font-size:13px">
 <p align="center"><font face="Arial Black">S<br>I<br>D<br>E<br>M<br>E<br>N<BR>U
 </font></p> </span></TD>')
</script>

</tr>

<script language="JavaScript1.2"><!--
if (document.all||document.layers) {
makeStatic();}

var text=new Array();
var thelink=new Array();

//configure thelinks below. Extend as desired

text[0]="Рыба";
text[1]="Мясо";
text[2]="Колбаса";
text[3]="Икра";
text[4]="Сыр";
text[5]="Конфеты";
text[6]="Сигареты";
text[7]="Водка";

thelink[0]="#top";
thelink[1]="#top";
thelink[2]="#top";
thelink[3]="#top";
thelink[4]="#top";
thelink[5]="#top";
thelink[6]="#top";
thelink[7]="#top";

//Введите здесь target
//ПРАВИЛЬНОЕ ОБОЗНАЧЕНИЕ  'new'-для нового
 окна, ' ' - для этого окна, 'framename' (где 'framename'
 имя фрэйма)
var linktarget=' '

///DO NOT EDIT BELOW THIS LINE////////////////

function navigateie(which){
if (linktarget=='')
window.location=thelink[which]
else if (linktarget=='new')
window.open(thelink[which])
else{
temp_var=eval("window.parent."+linktarget)
temp_var.location=thelink[which]
}
}

for (i=0;i<=text.length-1;i++)
if (document.all) {document.write('<TR><TD height=20 bgcolor=white onclick="navigateie('+i+')" onmouseover="className=\'hl\'" onmouseout="className=\'n\'"><FONT SIZE=2 FACE=ARIAL>&nbsp;'+text[i]+'</FONT></TD></TR>')}
else {document.write('<TR><TD bgcolor="white"><ILAYER><LAYER HEIGHT="18" onmouseover="this.bgColor=\'yellow\'" onmouseout="this.bgColor=\'white\'" width=131><FONT SIZE=2 FACE=ARIAL>&nbsp;<A HREF="'+thelink[i]+'" target="'+linktarget+'" id="nounderline">'+text[i]+'</A>
 </FONT></LAYER></ILAYER></TD></TR>')}

//-->
</script>
<tr>
<td bgcolor="#0099FF"><font size="1" face="Arial">&nbsp;</font></td>
</TR>
</table>
<script language="JavaScript1.2">
if (document.all) {document.write('</DIV>')}
window.onload=positionmenu
</script>
</LAYER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом отмечены топики, которые Вы конечно замените на свои, желтым - адреса этих топиков - должно быть полное соответствие номеров топиков и адресов. Голубым цветом отмечено, где следует менять target (для всех ссылок).


Menu53

Выдвижное меню - HTML файл!
Наведите курсор мыши на выступающую часть меню. Меню выдвинется. Уберите курсор - задвинется. Таких менюшек море! Но это меню - отдельный HTML файл! Со всеми, вытекающими отсюда, удобствами настройки! Для экономии места я не делал отдельный HTML файл, а просто назначил имеющийся файл home.htm. Очень важно, чтобы в появляющемся меню-окне не было вертикального скроллинга! Также, следует сделать некоторые специальные вставки в HTML код появляющегося файла - он описан в третьей таблице. Кроме того, у всех линков в появляющемся окне должен быть таргет: target="_parent", иначе ссылки не будут работать корректно.

(только MSIE 5+)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#slidemenubar, #slidemenubar2{
position:absolute;
left:-155px; <!--Размеры и
      положение окна-->
width:160px;
top:170px;
font-family:Verdana;
border:1.5px solid green;
background-color:lightyellow;
layer-background-color:lightyellow;
line-height:25px;
}

-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<iframe id="slidemenubar2" style="left:-150;border-width:0" src="home.htm" width=230 height=295></iframe>

<p>

<p>

<p>

<p>

<p>

<p>

<layer id="slidemenubar" onMouseover="pull()" onMouseout="draw()" src="home.htm"></layer>

<script language="JavaScript1.2">

/*
Sliding Menu Bar Script IV-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",400)
}
window.onload=regenerate2
if (document.all){
themenu=document.all.slidemenubar2.style
rightboundary=0
leftboundary=-150
}
else{
themenu=document.layers.slidemenubar
rightboundary=150
leftboundary=10
}
function pull(){
if (window.drawit)
clearInterval(drawit)
pullit=setInterval("pullengine()",50)
}
function draw(){
clearInterval(pullit)
drawit=setInterval("drawengine()",50)
}
function pullengine(){
if (document.all&&themenu.pixelLeft<rightboundary)
themenu.pixelLeft+=5
else if(document.layers&&themenu.left<rightboundary)
themenu.left+=5
else if (window.pullit)
clearInterval(pullit)
}
function drawengine(){
if (document.all&&themenu.pixelLeft>leftboundary)
themenu.pixelLeft-=5
else if(document.layers&&themenu.left>leftboundary)
themenu.left-=5
else if (window.drawit)
clearInterval(drawit)
}
</script>

Содержимое этой таблицы непосредственно в тэг <BODY>

 <!---ЭТО ДОЛЖНО ВЫГЛЯДЕТЬ ТАК--->

<body onMouseover="if (document.all&&window.parent.pull) window.parent.pull()"
onMouseout="if (document.all&&window.parent.pull) window.parent.draw()" topmargin="5" leftmargin="5"
marginwidth="5" marginheight="5">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu51

Вызов меню с клавиатуры
Нажмите Х для открытия меню, Z - для закрытия. Раскладка клавиатуры должна быть английской. Измените клавиши при необходимости, заменив номера (см. таблицу). Используйте для определения номера клавиши скрипт "Назначение горячих клавиш" в разделе "Разное".

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#slidemenubar, #slidemenubar2{
position:absolute;
left:-155px;
width:160px;
top:170px;
border:1.5px solid green;
background-color:lightyellow;
layer-background-color:lightyellow;
font:bold 12px Verdana;
line-height:20px;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Sliding Menu Bar Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function showtip(nulling){
if (document.all){
if (nulling==0&&slidemenubar2.style.pixelLeft==-150)
slidemenubar2.title='Нажмите "x", чтобы открыть меню, "z" - чтобы закрыть.'
else
slidemenubar2.title=''
}
else if (document.layers){
if (nulling==0&&!window.pullit)
window.status='Press "x" - открыть меню, "z" - закрыть меню'
else
window.status=''
}
}
if (document.all)
document.write('<div id="slidemenubar2" style="left:-150" onMouseover="showtip(0)" onMouseout="showtip(1)">')
</script>
<p>
<p>
<p>
<layer id="slidemenubar" onMouseover="showtip(0)" onMouseout="showtip(1)">
<script language="JavaScript1.2">
var sitems=new Array()
var sitemlinks=new Array()

//extend or shorten this list
sitems[0]="Линк 1"
sitems[1]="Линк 2"
sitems[2]="Линк 3"
sitems[3]="Линк 4"
sitems[4]="Линк 5"
sitems[5]="Линк 6"
sitems[6]="Линк 7"
sitems[7]="Линк 8"
sitems[8]="Линк 9"
sitems[9]="Линк 10"
sitems[10]="Линк 11"
sitems[11]="Линк 12"
sitems[12]="Линк 13"

//These are the links pertaining to the above text.
sitemlinks[0]="#top"
sitemlinks[1]="#top"
sitemlinks[2]="#top"
sitemlinks[3]="#top"
sitemlinks[4]="#top"
sitemlinks[5]="#top"
sitemlinks[6]="#top"
sitemlinks[7]="#top"
sitemlinks[8]="#top"
sitemlinks[9]="#top"
sitemlinks[10]="#top"
sitemlinks[11]="#top"
sitemlinks[12]="#top"

for (i=0;i<=sitems.length-1;i++)
document.write('<a href='+sitemlinks[i]+'>'+sitems[i]+'</a><br>')
</script>
</layer>
<script language="JavaScript1.2">

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",400)
}
window.onload=regenerate2
if (document.all){
document.write('</div>')
themenu=document.all.slidemenubar2.style
rightboundary=0
leftboundary=-150
}
else{
themenu=document.layers.slidemenubar
rightboundary=150
leftboundary=10
}
function pull(){
if (window.drawit)
clearInterval(drawit)
pullit=setInterval("pullengine()",50)
}
function draw(){
clearInterval(pullit)
drawit=setInterval("drawengine()",50)
}
function pullengine(){
if (document.all&&themenu.pixelLeft<rightboundary)
themenu.pixelLeft+=5
else if(document.layers&&themenu.left<rightboundary)
themenu.left+=5
else if (window.pullit)
clearInterval(pullit)
}
function drawengine(){
if (document.all&&themenu.pixelLeft>leftboundary)
themenu.pixelLeft-=5
else if(document.layers&&themenu.left>leftboundary)
themenu.left-=5
else if (window.drawit)
clearInterval(drawit)
}

if (document.layers)
document.captureEvents(Event.KEYPRESS)
function menuengine(e){
if (document.layers){
if (e.which==120)
pull()
if (e.which==122)
draw()
}
else if (document.all){
if (event.keyCode==120)
pull()
if (event.keyCode==122)
draw()
}
}
document.onkeypress=menuengine
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 3

МЕНЮ

(выпадающее меню)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function loadPage(pageURL){
location.href = pageURL.options[pageURL.selectedIndex].value
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<FONT SIZE=4>
<P>&nbsp;&nbsp;
<SELECT NAME="selectMenu" onChange="loadPage(this)">
<OPTION VALUE="home.htm">Home</OPTION>
<OPTION VALUE="DT1.htm">Дата и Время</OPTION>
<OPTION VALUE="clocks1.htm">Часы</OPTION>
<OPTION VALUE="Sc2.htm">Прокрутки</OPTION>
<OPTION VALUE="another.htm">Другая стр.</OPTION>
<OPTION VALUE="MD2.htm">Дата Обновления</OPTION>
<OPTION VALUE="links.htm">Линки</OPTION>
</SELECT>
</FONT>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню воспользуйтесь кнопкой BACK для возврата к исходной странице.


Menu21

Выпадающее меню 2
(открывает в отдельном окне)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

<!-- Hide the script from old browsers --

// This script came from Web-Development.Com JavaScript Site

// Located at http://www.web-development.com/

function goTo(form) {

var myindex=form.dest.selectedIndex

window.open(form.dest.options[myindex].value);

}

// --End Hiding Here -->

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>

<FORM NAME="myForm">

<SELECT NAME="dest" SIZE=1>

<OPTION SELECTED VALUE="">Выпадающее меню

<OPTION VALUE="home.htm">HOME

<OPTION VALUE="Link.htm">ЛИНКИ

<OPTION VALUE="another.htm">Другая страница

<OPTION VALUE="http://javashelp.cjb.net">JS Library 1.0

</SELECT>

<P>

<INPUT TYPE="BUTTON" VALUE="Go" onClick="goTo(this.form)">

</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu62

Выпадающее меню в форме ВСЕГДА НАВЕРХУ

Содержимое этой таблицы поместите между <BODY> и </BODY>

<span id="staticcombo" style="position:absolute;left:0;top:0;visibility:hidden">
<form name="jumpy">
<p><select name="example" size="1" onChange="gone()">
<option value="http://javashelpcjb.net">JS Help</option>
<option value="http://www.dynamicdrive.com">Dynamic Drive</option>
<option value="http://www.geocities.com">Geocities</option>
<option value="http://www.cnn.com">CNN</option>
</select>

<script language="javascript">
<!--

/*Always-visible combo box credit:
Website Abstraction (www.wsabstract.com)
Over 400+ free JavaScripts here!
*/

function gone()
{
location=document.jumpy.example.options[document.jumpy.example.selectedIndex].value
}
//-->
</script>

<input type="button" name="test" value="Go!"
onClick="gone()">
</p>
</form>
</span>

<script language="JavaScript1.2">
var combowidth=''
var comboheight=''

function initialize(){
if (document.all){
combowidth=staticcombo.offsetWidth
comboheight=staticcombo.offsetHeight
setInterval("staticit_ie()",50)
staticcombo.style.visibility="visible"
}
else if (document.layers){
combowidth=document.staticcombo.document.width
comboheight=document.staticcombo.document.height
setInterval("staticit_ns()",50)
document.staticcombo.visibility="show"
}
}

function staticit_ie(){
staticcombo.style.pixelLeft=document.body.scrollLeft+document.body.clientWidth-combowidth-30
staticcombo.style.pixelTop=document.body.scrollTop+document.body.clientHeight-comboheight
}

function staticit_ns(){
document.staticcombo.left=pageXOffset+window.innerWidth-combowidth-30
document.staticcombo.top=pageYOffset+window.innerHeight-comboheight
}

window.onload=initialize
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 7

Меню "Выпадающие таблички"
(100% настраеваемое)

Системы

Windows
Mac
Unix
BeOS
Для русских
Выпивка >>
Друзья
Закуска >>
Вермут
Агдам
Портвейн
Одеколон
Селедка
Огурец
Хлеб
Hardware
PC
Mac
Amiga
UNIX

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!------линки------>
a:link, a:visited, a:active { text-decoration: none;}
a:hover { text-decoration: none; color: red; }
<!------меню------->
</style>
<style>
.menu
{
position: absolute;
top:100;
z-index: 2;
}
.submenu
{
position: absolute;
top: 120;
z-index: 0;
visibility: hide;
visibility: hidden;
}
</style>

<script language+"JavaScript">
<!--
var old;
var memold;
var subold;
if(document.layers)
{
window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=do_out;
} else
{
document.onmouseup=do_out;
}
function show_layer(x)
{
if(document.layers)
document.layers[x].visibility="show";
else
document.all[x]. style.visibility="visible";
}
function hide_layer(x)
{
if(document.layers)
document.layers[x].visibility="hide";
else
document.all[x]. style.visibility="hidden";
}
function do_menu(x)
{
if(!old)
old=memold;
if(old!=x)
{
show_layer(x);
old=x;
} else
old="";
}
function do_check(x)
{
if(old && old!=x)
{
hide_layer(old);
show_layer(x);
old=x;
}
do_submenu();
}
function do_out()
{
if(old)
hide_layer(old);
memold=old; old="";
do_submenu();
}
function do_submenu(x)
{
if(subold)
{
hide_layer(subold);
subold="";
}
if(x)
{
show_layer(x);
subold=x;
}
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div class=text9>
<div id="m1" class="menu" style="left: 25;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="115">
<tr>
<td><a href="javascript:do_menu('m1x')" onmouseover="do_check('m1x')" style="font-size: 10pt"><b>СИСТЕМЫ</b></a>
</td>
</tr>
</table>
</div><div id="m1x" class="submenu" style="left: 25;">
<table bgcolor="#FFDFBF" cellspacing="0" cellpadding="2" border="1" width="88">
<tr>
<td><a href="#top" style="font-size: 8pt">Windows</a><br>
<a href="#top" style="font-size: 8pt">Mac</a><br>
<a href="#top" style="font-size: 8pt">Unix</a><br>
<a href="#top" style="font-size: 8pt">BeOS</a> </td>
</tr>
</table>
</div><div id="m2" class="menu" style="left: 110;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="100">
<tr>
<td><a href="javascript:do_menu('m2x')" onmouseover="do_check('m2x')" style="font-size: 10pt"><b>Software</b></a> </td>
</tr>
</table>
</div><div id="m2x" class="submenu" style="left: 110;">
<table bgcolor="#FFDFBF" cellspacing="0" cellpadding="2" border="1" width="82">
<tr>
<td><a href="#top" onmouseover="do_submenu('m21x')" style="font-size: 8pt">Work &gt;&gt;</a>&nbsp;<br>
<a href="#top" onmouseover="do_submenu()" style="font-size: 8pt">Tools</a><br>
<a href="#top" onmouseover="do_submenu('m22x')" style="font-size: 8pt">Spiele &gt;&gt;</a> </td>
</tr>
</table>
</div><div id="m21x" class="submenu" style="left: 150; top:167; z-index:1;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="100">
<tr>
<td><a href="#top" style="font-size: 8pt">Star Office</a><br>
<a href="#top" style="font-size: 8pt">Communicator</a><br>
<a href="#top" style="font-size: 8pt">Photoshop</a>
<a href="#top" style="font-size: 8pt">Freehand</a> </td>
</tr>
</table>
</div><div id="m22x" class="submenu" style="left: 150; top:167; z-index:1;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="100">
<tr>
<td><a href="#top" style="font-size: 8pt">Tomb Raider</a><br>
<a href="#top" style="font-size: 8pt">Quake</a><br>
<a href="#top" style="font-size: 8pt">Swing</a> </td>
</tr>
</table>
</div><div id="m3" class="menu" style="left: 190;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="100">
<tr>
<td><a href="javascript:do_menu('m3x')" onmouseover="do_check('m3x')" style="font-size: 10pt"><b>Hardware</b></a> </td>
</tr>
</table>
</div><div id="m3x" class="submenu" style="left: 190;">
<table bgcolor="FFDFBF" cellspacing="0" cellpadding="2" border="1" width="100">
<tr>
<td><a href="#top" style="font-size: 8pt">PC</a><br>
<a href="#top" style="font-size: 8pt">Mac</a><br>
<a href="#top" style="font-size: 8pt">Amiga</a><br>
<a href="#top" style="font-size: 8pt">UNIX</a> </td>
</tr>
</table>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом указаны изменяемые величины для определения местоположения "табличек". Желтым - адреса страниц для линков.


Menu 8

Меню, выпадающее из линка

Выпадающее из ссылки меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.iewrap1{
position:relative;
height:30px;
}
.iewrap2{
position:absolute;
}
#dropmenu0{
visibility:hide;
z-index:100;
}
-->
</style>
<script language="JavaScript1.2">
//Contents for menu 1
var menu1=new Array()
menu1[0]='<a href=mailto:eugenezz@yandex.ru> Почта</a><br>'
menu1[1]='<a href=link.htm>Линки</a><br>'
menu1[2]='<a href=home.htm>Гланая страница</a><br>'
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">
var zindex=100
function dropit2(whichone){
if (window.themenu&&themenu.id!= whichone.id)
themenu.style.visibility="hidden"
themenu=whichone
if (document.all){
themenu.style. left=document.body. scrollLeft+event. clientX-event.offsetX
themenu.style. top=document.body. scrollTop+event.clientY-event.offsetY+18
if (themenu.style.visibility=="hidden"){
themenu.style.visibility="visible"
themenu.style.zIndex=zindex++
}
else{
hidemenu()
}
}
}

function dropit(e,whichone){
if (window.themenu&&themenu.id!= eval(whichone).id)
themenu.visibility="hide"
themenu=eval(whichone)
if (themenu.visibility=="hide")
themenu.visibility="show"
else
themenu.visibility="hide"
themenu.zIndex++
themenu.left=e.pageX-e.layerX
themenu.top=e.pageY-e.layerY+19
return false
}

function hidemenu(whichone){
if (window.themenu)
themenu.style.visibility="hidden"
}

function hidemenu2(){
themenu.visibility="hide"
}
if (document.all)document.body.onclick= hidemenu
</script>
<ilayer height=35px>
<p>
<p>
<p>
<p>
<p>
<p>
<layer visibility=show><span class=iewrap2 onClick=
 "dropit2(dropmenu0); event.cancelBubble=true;return false"><font face=Verdana><b><a href="home.htm"
onClick="if(document.layers) return  dropit(event, 'document.dropmenu0')">Выпадающее
 из ссылки меню</a></b></font>
</span>
</layer>
</ilayer>
<div id=dropmenu0 style= "position:absolute;left:0;top:
 -90;layer-background-color:lightyellow;
background-color: lightyellow;width: 180;visibility:hidden;border: 1px solid black;padding:0px">
<script language="JavaScript1.2">
if (document.all)
dropmenu0.style.padding="4px"
for (i=0;i<menu1.length;i++)
document.write(menu1[i])
</script>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form18

Выпадающее меню с годами

Очень простое в настройке. Почти никаких цифр введенных вручную! Но не увлекайтесь, выставляя в настройках миллионы лет - грузиться будет долго. См. выделенный текст.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Don Demrow (d1102@home.com) -->
<!-- Web Site:  http://resume.w3site.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var time = new Date();
var year = time.getYear();
if (year < 1900) {
year = year + 1900;
}
var date = year - 101; /*Измените 101 на число лет, которое вы хотите показать в прошлое
 */
var future = year + 100; /*Измените 101 на число лет, которое вы хотите показать в будущее */
document.writeln ("<FORM><SELECT><OPTION value=\"\">Year");
do {
date++;
document.write ("<OPTION value=\"" +date+"\">" +date+ "");
}
while (date < future)
document.write ("</SELECT></FORM>");
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 9

Выплывающее меню

кликните по линку:

ВЫПЛЫВАЮЩЕЕ МЕНЮ

[Link 1]
[Link 2]
[Link 3]
[Link 4]
[Link 5]
[Link 6]
[Link 7]

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
var eypos=-200, ejump=-4;
var typos=-260, tjump=-4;
var delay=2;
function do_menue()
{
if(typos>-260)
{
tjump=-4;
if(typos>=130)
head_fahren();
}
ejump=-ejump;
if(eypos<=-200 || eypos>=177)
menue_fahren();
}
function menue_fahren()
{
if(document.layers) document.menue.top=eypos; else
      document.all.menue.style. top=eypos;
eypos+=ejump;
if(eypos>-200 && eypos<177)
setTimeout("menue_fahren()", delay);
}
function do_head()
{
if(eypos>-200)
{
ejump=-4;
if(eypos>=177)
menue_fahren();
}
tjump=-tjump;
if(typos<=-260 || typos>=130)
head_fahren();
}
function head_fahren()
{
if(document.layers) document.head.top=typos; else document.all.head.style.
      top=typos;
typos+=tjump;
if(typos>-260 && typos<130)
setTimeout("head_fahren()", delay);
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <div class=text1 style="width: 295; height: 91">
<div style="position: absolute; z-index: 2; left: 24; top: 159; width: 214; height: 72">
<a href="javascript:do_menue()" style="font-size: 12pt; font-family: Arial">ВЫПЛЫВАЮЩЕЕ&nbsp;
МЕНЮ</a><br><br>
<!--(не должно быть target страницы по-умолчанию!!!)-->
</div>
<BR>
<div id=menue style="position:absolute; top:-200; left:100; z-index: 2;">
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 COLS=3 width=450>
<TR>
<TD>
<A ONMOUSEOVER= "window.status='Link 1' ;return true" HREF="home.htm"
 target="_self">[Link 1]</a><br>
<A ONMOUSEOVER= "window.status='Link 2' ;return true" HREF="Link.htm"
 target="_blank">[Link 2]</a><br>
<A ONMOUSEOVER= "window.status='Link 3' ;return true" HREF="home.htm"
 target="_self">[Link 3]</a><br>
<A ONMOUSEOVER= "window.status='Link 4' ;return true" HREF="Link.htm"
 target="_blank">[Link 4]</a><br>
<A ONMOUSEOVER= "window.status='Link 5' ;return true" HREF="home.htm"
 target="_self">[Link 5]</a><br>
<A ONMOUSEOVER= "window.status='Link 6' ;return true" HREF="Link.htm"
 target="_blank">[Link 6]</a><br>
<A ONMOUSEOVER= "window.status='Link 7' ;return true" HREF="home.htm"
 target="_self">[Link 7]</a></TD>
</TR>
</TABLE>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form12

Выпадающие линки-меню с комментарием
(в форме)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><form name="ddmessage"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><select name="selectbox" size="1" onChange="changecontent(this)">
<option selected value="Что такое JavaScript?">Что
такое JavaScript?</option>
<option value="Зачем изучать JavaScript?">Зачем
изучать JavaScript?</option>
<option value="В чем разница между JavaScript и Java?">В
чем разница между Java и JavaScript?</option>
<option value="Что такое DHTML?">Что такое DHTML?</option>
</select><br>
</td>
</tr>
<tr>
<td width="100%"><textarea rows="8" name="contentbox" cols="35" wrap="virtual"></textarea>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>

<p>

<script language="JavaScript">

/*
Drop down messages script
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

//change contents of message box, where the first one corresponds with the first drop down box, second with second box etc
var thecontents=new Array()

thecontents[0]='JavaScript это язык программирования, созданный Netscape для того, чтобы добавить интерактивности Вашему web документу. Примерами JavaScript могут служить часы, скроллеры, эффекты замены одного элемента другим и т.д. JavaScript отличается от большинства других языков программирования относительной легкостью и доступностью даже для людей не имеющих никакого опыта программирования.'

thecontents[1]='Первые слова, которые приходят в голову это "Свобода, господа, свобода!" С html Вы просто обречены создавать статические неинтерактивные вебстраницы. А на сегодняшний день для Интернета это неприемлемо! В тоже время с JavaScript Вы с легкостью создадите прекрасную динамическую интерактивную и, просто, привлекательную вебстраничку.'

thecontents[2]='Java полностью отличается от JavaScript - это гораздо более мощный, более сложный и, к сожалению, гораздо более трудный инструмент. Он принадлежит к категории С, С++ и других сложных языков. Также для работы, Java программы должны быть компилированы, в то время как JavaScript ни в какой компиляции не нуждается - достаточно просто открыть любой текстовый редактор, написать код, скопировать его и поместить на вебстраничку. Веббраузер готов исполнять программу!'

thecontents[3]='DHTML, или Dynamic HTML это новая web технология, которая позволяет элементам Вашей web странички быть динамичным. Текст, стили (шрифт, цвет, размер), элементы позиционирования сделанные как неизменяемые после загрузки страницы, теперь могут быть динамически изменены благодаря DHTML. Это на шаг приближает Вашу страницу к изображению, которое мы видим по телевизору, когда картинки появляются и исчезают, текст летает и изображение свободно перемещаются по экрану.'

//don't edit pass this line

function changecontent(which){
document.ddmessage.contentbox.value= thecontents[which.selectedIndex]
}

document.ddmessage.contentbox.value= thecontents [document.ddmessage.selectbox.selectedIndex]
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 13

Меню "Выплывающие таблички"

(никаких рисунков!!!)

(target="_любой")

Беляки!
Вперед! УРА!
Вперед! УРА!
Вперед! УРА!
Немцы!!
Вперед! УРА!
Вперед! УРА!
Вперед! УРА!
Вперед! УРА!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.mena
{
position: absolute;
z-index: 1;
padding:5;
border-width: 1;
border-style: ridge;
background-color: blue;
color: white;
}
</style>
<script language="JavaScript">
var mpos=new Array();
var mdir=new Array();
var maxmenas=3;
var delay=20;
function do_mena(mena)
{
for(i=0; i<maxmenas; i++)
{
if(mena!=i && mpos[i]>-90)
{
mdir[i]=-4;
if(mpos[i]>=150)
move_mena(i);
}
}
mdir[mena]=-mdir[mena];
if(mpos[mena]<=-90 || mpos[mena]>=150)
move_mena(mena);
}
function move_mena(mena)
{
mpos[mena]+=mdir[mena];
if(document.layers)
document.layers["mena"+mena]. top=mpos[mena];
else
document.all["mena"+mena].  style.top=mpos[mena];
if(mpos[mena]>-90 && mpos[mena]<150)
setTimeout("move_mena("+mena+")", delay);
}
function init()
{
for(i=0; i<maxmenas; i++)
{
mpos[i]=-90;
mdir[i]=-4;
}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="mena()">

<div>
<div class="mena" style="top:120;
left:40; z-index:2; width: 63; background: orange">
<a href="javascript:do_mena(1)" style="font-size: 10pt"><b>Беляки!</b></a>
</div>
<div id="mena1" class="mena" style="top:-100; left:40; width: 200; background: orange">
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
</div>
<div class="mena" style="top:120;
left:98; z-index:2; width: 63; background: gold">
<a href="javascript:do_mena(2)" style="font-size: 10pt"><b>Немцы!!</b></a>
</div>
<div id="mena2" class="mena" style="top:-100; left:98; width: 200; background: gold">
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
<a href="javascript:alert('Просто линк...');" style="font-size: 10pt">Вперед! УРА!</a><br>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

Белым цветом отмечены данные позиционирования статической части меню, желтой - выплывающих табличек.


Menu15

Меню "Вертикальные жалюзи"
(со сменой рисунков , текта, цвета background и URL)

  • Справка

(картинки, использованные в этом меню, можно скопировать внизу страницы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

      <style>
.s {
position:absolute;
left:-5000px;
topt:-5000px;
}
A {
text-decoration:none;
}
</style>

<script language="JavaScript">
var message = new Array()
message[0]="Раздел \"ЧАСЫ\" содержит HTML тэги и утилиты JavaScript для отображения на веб-странице реального времени."
message[1]="В разделе \"МЕНЮ\" представлены несколько видов навигационных меню. Возможно использование картинок и анимации."
message[2]="\"ДАТА И ВРЕМЯ\" - раздел, посвященный отображению реальной даты и времени открытия веб-страницы."
message[3]="Применение некоторых эффектов
      \"бегущей строки\" на status bar, в форме и т.д. описано в разделе
      \"ПРОКРУТКИ\"."
message[4]="В разделе \"КНОПКИ\" приведены примеры анимации, замены, а также ряд других интересных JavaScript решений с кнопками."
message[5]="\"ДАТА ОБНОВЛЕНИЯ\". Здесь собраны скрипты, необходимые для автоматического
      отображения даты последнего обновления."
message[6]="В разделе \"РАЗНОЕ\" предлагается много разнообразных эффектов на JavaScript\: от серьезных тестов до игрушек"

var messageurl = new Array()
messageurl[0]="intr.htm"
messageurl[1]="intr.htm"
messageurl[2]="intr.htm"
messageurl[3]="intr.htm"
messageurl[4]="intr.htm"
messageurl[5]="intr.htm"
messageurl[6]="intr.htm"

var messageimg = new Array()
messageimg[0]="1gold.gif"
messageimg[1]="2gold.gif"
messageimg[2]="3gold.gif"
messageimg[3]="4gold.gif"
messageimg[4]="5gold.gif"
messageimg[5]="6gold.gif"
messageimg[6]="7gold.gif"

var imgpreload=new Array()
for (i=0;i<=messageimg.length-1;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=messageimg[i]
}

var alignimg=new Array()
alignimg[0]="left"
alignimg[1]="right"
alignimg[2]="right"
alignimg[3]="left"
alignimg[4]="right"
alignimg[5]="right"
alignimg[6]="left"

var alignmessage=new Array()
alignmessage[0]="right"
alignmessage[1]="left"
alignmessage[2]="left"
alignmessage[3]="right"
alignmessage[4]="left"
alignmessage[5]="left"
alignmessage[6]="right"

var target_url="_self"

var textwidth=240

var textheight=100

var borderwidth=0

var font_size=2

var font_face="Arial,Verdana"

var font_color="white"

var bg_ticker="000000"

var x_finalpos=22
//По горизонтали

var y_finalpos=90
//По вертикали

var x_slices=7

var pause=2000

var i_loop=0
var i_message=0
var width_slice=Math.ceil(textwidth/x_slices)
var cliptop=0
var clipbottom=textheight
var i_clipright=10
var content=""

function initiate() {
content+="<table border="+borderwidth+" cellpadding='5' width="+textwidth+" height="+textheight+">"
content+="<tr><td bgcolor="+bg_ticker+" align="+alignmessage[i_message]+">"
content+="<img hspace=5 src="+messageimg[i_message]+" align="+alignimg[i_message]+" border='0'>"
content+= "<a href="+messageurl[i_message]+" target="+target_url+">"
content+="<font face="+font_face+" size="+font_size+" color="+font_color+">"
content+=message[i_message]
content+="</font></a></td></tr></table>"
if (document.all) {
for (i=0;i<=x_slices;i++) {
var thisinners=eval("s"+i)
thisinners.innerHTML=content
var thiss= eval("document.all.s"+i+".style")
thiss.posLeft=x_finalpos
thiss.posTop=y_finalpos
}
i_message++
openlamellar()
}
if (document.layers) {
for (i=0;i<=x_slices;i++) {
var thisinners=eval("document.s"+i+".document")
thisinners.write(content)
thisinners.close()
var thiss=eval("document.s"+i)
thiss.left=x_finalpos
thiss.top=y_finalpos
}
i_message++
openlamellarNN()
}
}

function openlamellar() {
clipleft=-width_slice
clipright=0
if (i_clipright<=width_slice) {
for (i=0;i<=x_slices;i++) {
var thiss=eval("document.all.s"+i+".style")
thiss.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
clipleft+=width_slice
clipright=clipleft+i_clipright
}
i_clipright++
var timer=setTimeout("openlamellar()",10)
}
else {
clearTimeout(timer)
var timer=setTimeout("closelamellar()",9000)
}
}

function openlamellarNN() {
clipleft=-width_slice
clipright=0
if (i_clipright<=width_slice) {
for (i=0;i<=x_slices;i++) {
var thiss=eval("document.s"+i)
thiss.clip.left=clipleft
thiss.clip.right=clipright
thiss.clip.top=cliptop
thiss.clip.bottom=clipbottom
clipleft+=width_slice
clipright=clipleft+i_clipright
}
i_clipright++
var timer=setTimeout("openlamellarNN()",10)
}
else {
clearTimeout(timer)
var timer=setTimeout("closelamellarNN()",9000)
}
}

function closelamellar() {
clipleft=-width_slice
clipright=0
if (i_clipright>=0) {
for (i=0;i<=x_slices;i++) {
var thiss=eval("document.all.s"+i+".style")
thiss.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
clipleft+=width_slice
clipright=clipleft+i_clipright
}
i_clipright--
var timer=setTimeout("closelamellar()",10)

}
else {
clearTimeout(timer)
var timer=setTimeout("changeimage()",2000)
}
}

function closelamellarNN() {
clipleft=-width_slice
clipright=0
if (i_clipright>=0) {
for (i=0;i<=x_slices;i++) {
var thiss=eval("document.s"+i)
thiss.clip.left=clipleft
thiss.clip.right=clipright
thiss.clip.top=cliptop
thiss.clip.bottom=clipbottom
clipleft+=width_slice
clipright=clipleft+i_clipright
}
i_clipright--
var timer=setTimeout("closelamellarNN()",10)

}
else {
clearTimeout(timer)
var timer=setTimeout("changeimageNN()",2000)
}
}

function changeimage() {
content=""
if (i_message>message.length-1) {i_message=0}
content+="<table border="+borderwidth+" cellpadding='5' width="+textwidth+" height="+textheight+">"
content+="<tr><td bgcolor="+bg_ticker+" align="+alignmessage[i_message]+">"
content+="<img hspace=5 src="+messageimg[i_message]+" align="+alignimg[i_message]+" border='0'>"
content+="<a href="+messageurl[i_message]+" target="+target_url+">"
content+="<font face="+font_face+" size="+font_size+" color="+font_color+">"
content+=message[i_message]
content+="</font></a></td></tr></table>"
for (i=0;i<=x_slices;i++) {
var thisinners=eval("s"+i)
thisinners.innerHTML=content
}
i_message++
openlamellar()
}

function changeimageNN() {
content=""
if (i_message>message.length-1) {i_message=0}
content+="<table border="+borderwidth+" cellpadding='5' width="+textwidth+" height="+textheight+">"
content+="<tr><td bgcolor="+bg_ticker+" align="+alignmessage[i_message]+">"
content+="<img hspace=5 src="+messageimg[i_message]+" align="+alignimg[i_message]+" border='0'>"
content+="<a href="+messageurl[i_message]+" target="+target_url+">"
content+="<font face="+font_face+" size="+font_size+" color="+font_color+">"
content+=message[i_message]
content+="</font></a></td></tr></table>"
for (i=0;i<=x_slices;i++) {
var thisinners=eval("document.s"+i+".document")
thisinners.write(content)
thisinners.close()
}
i_message++
openlamellarNN()
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="initiate()">

<script>
<!-- Beginning of JavaScript -
for (i=0;i<=x_slices;i++) {
document.write("<span id='s"+i+"' class='s'></span>")
}
// - End of JavaScript - -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

1gold.gif
2gold.gif
3gold.gif
4gold.gif
5gold.gif
6gold.gif
7gold.gif


Menu47

Меню "ГОЛЛИВУД"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: black;}
a:hover { text-decoration: none; color: yellow; }
</style>
<STYLE type=text/css>A {
FONT-FAMILY: Times; FONT-SIZE: 18px; LINE-HEIGHT: 18px; TEXT-DECORATION: none; wodth: 100%; weight: heavy
}
A:hover {
COLOR: #ffff99
}
BODY {
FONT-FAMILY: Helvetica
}
</STYLE>
<SCRIPT language=JavaScript><!--
dd=document;hexa=new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f')
function hex(i){
if (i<0)return "00";
else
if (i>255)
return "ff";
else return ""+hexa[Math.floor(i/16)]+hexa[i%16]
}
function setbg(r,g,b){
hr=hex(r);
hg=hex(g);
hb=hex(b);
bg="#"+hr+hg+hb
}
function setBGCOLOR(L,color){
if(dd.layers)
dd.layers[L].bgColor=color;
else obg=dd.getElementById(L);
obg.style.background=color
}

mn=new Array(
new Array('home.htm','СТРАНИЦА'),
new Array('home.htm','ГЛАВНАЯ 2'),
new Array('another.htm','ДРУГАЯ СТРАНИЦА'),
new Array('Link.htm','СТРАНИЦА С ЛИНКАМИ'),
new Array('popdemo.htm','ДЕМО СТРАНИЦА'),
new Array('i_digital.htm','ПРОСТО ЛИНК 1'),
new Array('ind_e_www.htm','ПРОСТО ЛИНК 2'),
new Array('ind_e_bnk.htm','ЕЩЕ ПРОСТО ЛИНК 3'),
new Array('index_eng.htm','ЕЩЕ ПРОСТО ЛИНК 4'),
new Array('ind_iq_test.htm','ЕЩЕ ОДИН ПРОСТО ЛИНК 5'),
new Array('index_hist.htm','ЕЩЕ ОДИН ПРОСТО ЛИНК 6'),
new Array('index_r.htm','ЕЩЕ ОДИН ПРОСТО ЛИНК 7'),
new Array('index_teatr.htm','И ЕЩЕ ОДИН ПРОСТО ЛИНК 8')
)

mnlen=mn.length;Rst=Math.floor(250/mnlen)
lact=0;aah=0

function lght(){
lact--;if(lact<0)lact=mnlen-1
lact1=lact+1;if(lact1==mnlen)lact1=0
lact2=lact1+1;if(lact2==mnlen)lact2=0
for(var j=0;j<mnlen;j++){
setbg(250-Rst*j,0,0);setBGCOLOR('ln'+j,bg)
}
setbg(320-Rst*lact,50,50);
setBGCOLOR('ln'+lact,bg)
setbg(300-Rst*lact1,30,30);
setBGCOLOR('ln'+lact1,bg)
setbg(280-Rst*lact2,10,10);
setBGCOLOR('ln'+lact2,bg)
setTimeout ("lght()",99)
}
function goPg(num){window.location='http://ваш_сайт.com/'+mn[num][0]}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body  bgColor=black link=black onload=lght()
 text=#ffff99>

<p align="center"><font color="#FF0000" size="5">Меню &quot;ГОЛЛИВУД&quot;</font><b><font size="4" color="#FF0000"><BR></font></b>
<font size="3" color="#000000">
<p align="center">
<CENTER><IMG src="oscar.gif">
<SCRIPT language=JavaScript><!--
if (dd.all)xm=dd.body.offsetWidth;
else xm=window.innerWidth;
xm=xm-180;
xst=Math.floor(xm/mnlen)
for(i=0;i<mnlen;i++){
setbg(Rst*i,0,0);
bg1=bg;setbg(250-Rst*i,0,0);
tw=130+xst*i
if(dd.layers){
y=90+18*i;
lft=Math.floor((xm-tw+150)/2);
dd.write('<layer name=ln'+i+' bgcolor='+bg+' top='+y+' left='+lft+'><TABLE border=0 cellSpacing=0><TR><TD width=10 align=center>•</TD><TD width='+tw+' align=center><a href=http://ваш_сайт.com/'+mn[i][0]+'>'+mn[i][1]+'</a></TD><TD width=10 align=center>•</TD></TR></TABLE></layer>')
}
else{
dd.write('<TABLE border=0 cellSpacing=0><TR id=ln'+i+' bgColor='+bg+'><TD width=10 align=center>•</TD><TD width='+tw+' align=center onclick=goPg('+i+')><a id=ah'+i+' href=http://ваш_сайт.com/'+mn[i][0]+'>'+mn[i][1]+'</a></TD><TD width=10 align=center>•</TD></TR></TABLE>')}
}
//--></SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


menu24

Горизонтальное многоуровневое следящее за скроллингом меню
(для всех видов браузеров!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
all.clsMenuItemNS{font: bold x-small Verdana; color: white; text-decoration: none;}
.clsMenuItemIE{text-decoration: none; font: bold xx-small Verdana; color: white; cursor: hand;}
A:hover {color: red;}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body marginwidth="0" marginheight="0" leftmargin="0"
 topmargin="0">

<script language="JavaScript">
/*
Static Top Menu Script
By Constantin Kuznetsov Jr. (GoldenFox@bigfoot.com)
Featured on Dynamicdrive.com
For full source code and installation instructions to this script, visit Dynamicdrive.com
*/
if (document.all)    {n=0;ie=1;fShow="visible";fHide="hidden";}
if (document.layers) {n=1;ie=0;fShow="show";   fHide="hide";}

window.onerror=new Function("return true")
////////////////////////////////////////////////////////////////////////////
// Function Menu()                                                        //
////////////////////////////////////////////////////////////////////////////
rightX = 0;
function Menu()
{
this.bgColor     = "#008080";
if (ie) this.menuFont = "bold xx-small Verdana";
if (n)  this.menuFont = "bold x-small Verdana";
//	this.fontColor   = "white";

this.addItem    = addItem;
this.addSubItem = addSubItem;
this.showMenu   = showMenu;
this.mainPaneBorder = 1;
this.subMenuPaneBorder = 1;

this.subMenuPaneWidth = 150;

lastMenu = null;

rightY = 0;
leftY = 0;
leftX = 0;

HTMLstr = "";
HTMLstr += "<!-- MENU PANE DECLARATION BEGINS -->\n";
HTMLstr += "\n";
if (ie) HTMLstr += "<div id='MainTable' style='position:relative'>\n";
//	if (n)  HTMLstr += "<layer name='MainTable'>\n";
HTMLstr += "<table width='100%' bgcolor='"+this.bgColor+"' border='"+this.mainPaneBorder+"'>\n";
HTMLstr += "<tr>";
if (n) HTMLstr += "<td>&nbsp;";
HTMLstr += "<!-- MAIN MENU STARTS -->\n";
HTMLstr += "<!-- MAIN_MENU -->\n";
HTMLstr += "<!-- MAIN MENU ENDS -->\n";
if (n) HTMLstr += "</td>";
HTMLstr += "</tr>\n";
HTMLstr += "</table>\n";
HTMLstr += "\n";
HTMLstr += "<!-- SUB MENU STARTS -->\n";
HTMLstr += "<!-- SUB_MENU -->\n";
HTMLstr += "<!-- SUB MENU ENDS -->\n";
HTMLstr += "\n";
if (ie) HTMLstr+= "</div>\n";
//	if (n)  HTMLstr+= "</layer>\n";
HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n";
}

function addItem(idItem, text, hint, location, altLocation)
{
var Lookup = "<!-- ITEM "+idItem+" -->";
if (HTMLstr.indexOf(Lookup) != -1)
{
alert(idParent + " already exist");
return;
}
var MENUitem = "";
MENUitem += "\n<!-- ITEM "+idItem+" -->\n";
if (n)
{
MENUitem += "<ilayer name="+idItem+">";
MENUitem += "<a href='.' class=clsMenuItemNS onmouseover=\"displaySubMenu('"+idItem+"')\" onclick=\"return false;\">";
MENUitem += "|&nbsp;";
MENUitem += text;
MENUitem += "</a>";
MENUitem += "</ilayer>";
}
if (ie)
{
MENUitem += "<td>\n";
MENUitem += "<div id='"+idItem+"' style='position:relative; font: "+this.menuFont+";'>\n";
MENUitem += "<a ";
MENUitem += "class=clsMenuItemIE ";
//		MENUitem += "style='text-decoration: none; font: "+this.menuFont+"; color: "+this.fontColor+"; cursor: hand;' ";
if (hint != null)
MENUitem += "title='"+hint+"' ";
if (location != null)
{
MENUitem += "href='"+location+"' ";
MENUitem += "onmouseover=\"hideAll()\" ";
}
else
{
if (altLocation != null)
MENUitem += "href='"+altLocation+"' ";
else
MENUitem += "href='.' ";
MENUitem += "onmouseover=\"displaySubMenu('"+idItem+"')\" ";
MENUitem += "onclick=\"return false;\" "
}
MENUitem += ">";
MENUitem += "|&nbsp;\n";
MENUitem += text;
MENUitem += "</a>\n";
MENUitem += "</div>\n";
MENUitem += "</td>\n";
}
MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
MENUitem += "<!-- MAIN_MENU -->\n";

HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
}

function addSubItem(idParent, text, hint, location)
{
var MENUitem = "";
Lookup = "<!-- ITEM "+idParent+" -->";
if (HTMLstr.indexOf(Lookup) == -1)
{
alert(idParent + " not found");
return;
}
Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
if (HTMLstr.indexOf(Lookup) == -1)
{
if (n)
{
MENUitem += "\n";
MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";
MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
MENUitem += "</table>\n";
MENUitem += "</layer>\n";
MENUitem += "\n";
}
if (ie)
{
MENUitem += "\n";
MENUitem += "<div id='"+idParent+"submenu' style='position:absolute; visibility: hidden; width: "+this.subMenuPaneWidth+"; font: "+this.menuFont+"; top: -300;'>\n";
MENUitem += "<table border='"+this.subMenuPaneBorder+"' bgcolor='"+this.bgColor+"' width="+this.subMenuPaneWidth+">\n";
MENUitem += "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
MENUitem += "</table>\n";
MENUitem += "</div>\n";
MENUitem += "\n";
}
MENUitem += "<!-- SUB_MENU -->\n";
HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
}

Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
if (n)  MENUitem = "<tr><td><a class=clsMenuItemNS title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
if (ie) MENUitem = "<tr><td><a class=clsMenuItemIE title='"+hint+"' href='"+location+"'>"+text+"</a><br></td></tr>\n";
MENUitem += Lookup;
HTMLstr = HTMLstr.replace(Lookup, MENUitem);

}

function showMenu()
{
document.writeln(HTMLstr);
}

////////////////////////////////////////////////////////////////////////////
// Private declaration
function displaySubMenu(idMainMenu)
{
var menu;
var submenu;
if (n)
{
submenu = document.layers[idMainMenu+"submenu"];
if (lastMenu != null && lastMenu != submenu) hideAll();
submenu.left = document.layers[idMainMenu].pageX;
submenu.top  = document.layers[idMainMenu].pageY + 25;
submenu.visibility = fShow;

leftX  = document.layers[idMainMenu+"submenu"].left;
rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
leftY  = document.layers[idMainMenu+"submenu"].top+
document.layers[idMainMenu+"submenu"].clip.height;
rightY = leftY;
} else if (ie) {
menu = eval(idMainMenu);
submenu = eval(idMainMenu+"submenu.style");
submenu.left = calculateSumOffset(menu, 'offsetLeft');
//		submenu.top  = calculateSumOffset(menu, 'offsetTop') + 30;
submenu.top  = menu.style.top+23;
submenu.visibility = fShow;
if (lastMenu != null && lastMenu != submenu) hideAll();

leftX  = document.all[idMainMenu+"submenu"].style.posLeft;
rightX = leftX + document.all[idMainMenu+"submenu"].offsetWidth;

leftY  = document.all[idMainMenu+"submenu"].style.posTop+
document.all[idMainMenu+"submenu"].offsetHeight;
rightY = leftY;
}
lastMenu = submenu;
}

function hideAll()
{
if (lastMenu != null) {lastMenu.visibility = fHide;lastMenu.left = 0;}
}

function calculateSumOffset(idItem, offsetName)
{
var totalOffset = 0;
var item = eval('idItem');
do
{
totalOffset += eval('item.'+offsetName);
item = eval('item.offsetParent');
} while (item != null);
return totalOffset;
}

function updateIt(e)
{
if (ie)
{
var x = window.event.clientX;
var y = window.event.clientY;

if (x > rightX || x < leftX) hideAll();
else if (y > rightY) hideAll();
}
if (n)
{
var x = e.pageX;
var y = e.pageY;

if (x > rightX || x < leftX) hideAll();
else if (y > rightY) hideAll();
}
}

if (document.all)
{
document.body.onclick=hideAll;
document.body.onscroll=hideAll;
document.body.onmousemove=updateIt;
}
if (document.layers)
{
document.onmousedown=hideAll;
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove=updateIt;
}
</script>
<script language="JavaScript">
function showToolbar()
{
// AddItem(id, text, hint, location, alternativeLocation);
// AddSubItem(idParent, text, hint, location);

menu = new Menu();
menu.addItem("webmasterid", "Web Building Sites", "Web Building Sites",  null, null);
menu.addItem("newsid", "News Sites", "News Sites",  null, null);
menu.addItem("freedownloadid", "Free Downloads", "Free Downloads",  null, null);
menu.addItem("searchengineid", "Search Engines", "Search Engines",  null, null);
menu.addItem("miscid", "Miscellaneous", "Miscellaneous",  null, null);

menu.addSubItem("webmasterid", "Dynamic Drive", "Dynamic Drive",  "http://www.dynamicdrive.com/");
menu.addSubItem("webmasterid", "Website Abstraction", "Website Abstraction",  "http://www.wsabstract.com/");
menu.addSubItem("webmasterid", "Web Review", "Web Review",  "http://www.webreview.com/");
menu.addSubItem("webmasterid", "Developer.com", "Developer.com",  "http://www.developer.com/");
menu.addSubItem("webmasterid", "Freewarejava.com", "Freewarejava.com",  "http://www.freewarejava.com/");
menu.addSubItem("webmasterid", "Web Monkey", "Web Monkey",  "http://www.webmonkey.com/");
menu.addSubItem("webmasterid", "JS Library", "JS Library",  "http://javashelp.cjb.net/");
menu.addSubItem("webmasterid", "Intro DHTML Guide", "Intro DHTML Guide",  "http://members.tripod.com/~toolmandavid");

menu.addSubItem("newsid", "CNN", "CNN",  "http://www.cnn.com");
menu.addSubItem("newsid", "ABC News", "ABC News",  "http://www.abcnews.com");
menu.addSubItem("newsid", "MSNBC", "MSNBC",  "http://www.msnbc.com");
menu.addSubItem("newsid", "CBS news", "CBS News",  "http://www.cbsnews.com");
menu.addSubItem("newsid", "News.com", "News.com",  "http://news.com");
menu.addSubItem("newsid", "Wired News", "Wired News",  "http://www.wired.com");
menu.addSubItem("newsid", "TechWeb", "TechWeb",  "http://www.techweb.com");

menu.addSubItem("freedownloadid", "Dynamic Drive", "Dynamic Drive",  "http://www.dynamicdrive.com/");
menu.addSubItem("freedownloadid", "Download.com", "Download.com",  "http://download.com/");
menu.addSubItem("freedownloadid", "Jumbo", "Jumbo",  "http://www.jumbo.com/");
menu.addSubItem("freedownloadid", "Tucows", "Tucows",  "http://tucows.com/");
menu.addSubItem("freedownloadid", "WinFiles.com", "WinFiles.com",  "http://winfiles.com/");

menu.addSubItem("searchengineid", "Yahoo", "Yahoo",  "http://www.yahoo.com/");
menu.addSubItem("searchengineid", "Infoseek", "Infoseek",  "http://www.infoseek.com/");
menu.addSubItem("searchengineid", "Excite", "Excite", "http://www.excite.com");
menu.addSubItem("searchengineid", "HotBot", "HotBot",  "http://www.hotbot.com");

menu.addSubItem("miscid", "Hitbox.com", "Hitbox.com",  "http://www.hitbox.com/");
menu.addSubItem("miscid", "Cnet", "Cnet",  "http://www.cnet.com/");
menu.addSubItem("miscid", "Andover.net", "Andover.net",  "http://www.andover.net/");
menu.addSubItem("miscid", "RealAudio", "RealAudio",  "http://www.realaudio.com/");
menu.addSubItem("miscid", "MP3.com", "MP3.com", "http://www.mp3.com/");

menu.showMenu();
}
</script>
<script language="JavaScript">
showToolbar();
</script>
<script language="JavaScript">
function UpdateIt(){
if (document.all){
document.all["MainTable"].style.top = document.body.scrollTop;
setTimeout("UpdateIt()", 200);
}
}
UpdateIt();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Голубым цветом выделена та часть скрипта, где Вам следует поместить собственные данные об адресах и названиях страниц, разделов и т.д.

(в примере установлено значение marginwidth="10" ( см. тэг BODY) для удобства пользования таблицами. В реальном HTML документе лучше использовать значение marginwidth="0" как и указано в таблице)


Menu29

"Дерево"

  • Новости
    • CNN
    • ABC News
    • Vancouver Sun
  • Игры
    • GameSpot
    • Happy Puppy
    • Game Center
  • Софт
    • outer 1
    • outer 2
    • JavaScript & DHTML
      • Dynamicdrive
      • JS Help
    • outer 3
    • outer 4

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
#foldheader{cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--
/**
* Based on Folding Menu Tree
* Dynamic Drive (www.dynamicdrive.com)
* For full source code, installation instructions,
* 100's more DHTML scripts, and Terms Of
* Use, visit dynamicdrive.com
*
* Updated to support arbitrarily nested lists
* by Mark Quinn (mark@robocast.com) November 2nd 1998
*/

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

function change(){
if(!document.all)
return
if (event.srcElement.id=="foldheader") {
var srcIndex = event.srcElement.sourceIndex
var nested = document.all[srcIndex+1]
if (nested.style.display=="none") {
nested.style.display=''
event.srcElement.style.listStyleImage="url(open.gif)"
}
else {
nested.style.display="none"
event.srcElement.style.listStyleImage="url(fold.gif)"
}
}
}

document.onclick=change

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <ul>
<li id="foldheader">Новости</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href= "http://www.abcnews.com">ABC News</a></li>
<li><a href= "http://www.vancouversun.com">Vancouver Sun</a></li>
</ul>

<li id="foldheader">Игры</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href= "http://www.gamespot.com">GameSpot</a></li>
<li><a href= "http://www.happypuppy.com">Happy Puppy</a></li>
<li><a href= "http://www.gamecenter.com">Game Center</a></li>
</ul>

<li id="foldheader">Софт</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.download.com">outer 1</a></li>
<li><a href="http://www.hotfiles.com">outer 2</a></li>
<li id="foldheader">JavaScript &amp; DHTML</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href= "http://www.dynamicdrive.com">Dynamicdrive </a>
 </li>
<li><a href="http://javashelp.cjb.net">JS Help</a></li>
</ul>
<li><a href="http://www.windows95.com">outer 3</a></li>
<li><a href="http://www.shareware.com">outer 4</a></li>
</ul>
</ul>
<script language="JavaScript1.2">
<!--
/**
* Get cookie routine by Shelley Powers
* (shelley.powers@ne-dev.com)
*/
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue= unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

if (get_cookie(window.location.pathname) != ''){
var openresults= get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
foldinglist[openresults[i]].style.display=''
document.all[foldinglist[openresults[i]].sourceIndex -
1].style.listStyleImage="url(open.gif)"
}
}

if (document.all){
var nodelength=foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function check(){
for (i=0 ; i <= nodelength ; i++){
if (foldinglist[i].style.display=='')
openones=openones + " " + i
}
document.cookie=window.location.pathname+"= "+openones
}

if (document.all)
document.body.onunload=check
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: foldertree.zip


Menu48

МЕНЮ для позиционирования текста

Универсальные функции
СКРЫТЬ
ПОКАЗАТЬ
Положение: X=250
Вернуть X
Положение: Y=330
Вернуть Y
Новый текст
Вернуть текст
Вернуть Y/X

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: red; }
</style>
<STYLE>
#test {
FONT-SIZE: 20px; LEFT: 10px; LINE-HEIGHT: 20px; POSITION: absolute; TOP: 10px
}
</STYLE>
<SCRIPT language=JavaScript><!--
dd=document;NS=(dd.layers)?1:0;IE=(dd.all)?1:0;DOM=(dd.getElementById)?1:0

function uniF(id,vsbl,xx,yy,cont){
tx=xx;ty=yy;
if(tx=='0')
tx=1;
if(ty=='0')
ty=1;
if (NS)
ob=dd.layers[''+id+''];
else
if (IE)
ob=dd.all[''+id+''];
else if (DOM)ob=dd.getElementById(''+id+'')
if (!NS)obs=ob.style
if (vsbl==1){
if (NS)ob.visibility='show';
else
obs.visibility='visible'
}
else
if (vsbl==0){
if (NS)
ob.visibility='hide';
else
obs.visibility='hidden'
}
if (tx){
if (DOM)xx=xx+'px';
if (NS)ob.left=xx;
else
obs.left=xx
}
if (ty){
if (DOM)yy=yy+'px';
if (NS)
ob.top=yy;
else
obs.top=yy
}
if (cont){
if (NS){
obd=ob.document;obd.open();
obd.write(cont);obd.close()
}
else
if (IE)ob.innerHTML=cont;
else
if (DOM){
rng=dd.createRange();
rng.setStartBefore(ob);
HFrg=rng.createContextualFragment(cont)
while(ob.hasChildNodes())ob.removeChild(ob.lastChild);
ob.appendChild(HFrg)
}
}
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV class=test id=test>Универсальные функции</DIV>
<TABLE cellPadding=1 cellSpacing=1 width=150>
<TBODY>
<TR>
<TD bgColor=#280000>
<TABLE cellPadding=7 cellSpacing=0 width=150>
<TBODY>
<TR>
<TD bgColor=#ffdd77><A
href="javascript:uniF('test',0)">СКРЫТЬ</A><BR><A
href="javascript:uniF('test',1)">ПОКАЗАТЬ</A><BR><A
href="javascript:uniF('test',1,250)">Положение: X=250</A><BR><A
href="javascript:uniF('test',1,10)">Вернуть X</A><BR><A
href="javascript:uniF('test',1,null,330)">Положение: Y=330</A><BR><A
href="javascript:uniF('test',1,null,10)">Вернуть Y</A><BR><A
href="javascript:uniF('test',1,null,null,'НОВЫЙ%20ТЕКСТ!')">Новый текст</A><BR><A
href="javascript:uniF('test',1,null,null,'Универсальные%20функции')">Вернуть текст</A><BR><A
href="javascript:uniF('test',1,10,10)">Вернуть Y/X</A><BR><A
</A><BR></a></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu31

Дистанционное меню

Слева вверху находится кнопка. При нажатии на нее появляется POP-UP окно с элементами меню. После выбора какого-либо пункта, выбранная страница появляется уже в этом окне, взамен страницы с кнопкой. Однако меню не пропадает и, при необходимости, если среди пунктов меню есть и эта страница, ее всегда можно вернуть. Само по-себе меню, открытое не с помощью этой страницы (читай, скрипта на этой странице) работать не будет, сообщая об ошибке в коде. То есть это действительно remote control ! Единый скрипт, разнесенный на две страницы. Внимательно ознакомьтесь с информацией о том, КУДА помещать части скрипта!!!

Ни в коем случае не копируйте скрипты из источников! Там они только похожи на то, что Вам нужно. В HTML файле они будут работать некорректно!

Создайте новый HTML документ remote.htm (это и есть МЕНЮ) и сохраните его в той же директории, где находится страница, с которой он будет запускаться. В таблице приведен полный код этой страницы. Комментарий к нему читайте ниже.

<html>
<head>
<title>Remote Control</title>
<script>
<!--
function remote2(url){
creator.location=url
}
//-->
</script>
</head>

<body bgcolor="ffffff">
<div align="left">

<table border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFF00">
<tr>
<td width="100%"><p align="center"><strong><big><font face="Arial">Дистанционное меню</font></big></strong></td>
</tr>
</table>
</div>

<p align="left"><font face="Arial" size="2"><a
href="javascript:remote2('../javaindex.htm')"><strong>JavaScript Tutorials</strong></a></font></p>

<p align="left"><font face="Arial"><a href="javascript:remote2('../howto/webbuild.htm')"><strong><small>Web
building tutorials</small></strong></a></font></p>

<p align="left"><a href="javascript:remote2('../cutpastejava.htm')"><font face="Arial"
size="2"><strong>Free JavaScripts</strong></font></a></p>

<p align="left"><a href="javascript:remote2('../java/javafront.htm')"><small><font
face="Arial"><strong>Free Java applets</strong></font></small></a></p>

<p align="left"><font face="Arial" size="2"><a
href="javascript:remote2('../frontpage.htm')"><strong>FrontPage Tutorials</strong></a></font></p>

<p align="left"><a href="javascript:remote2('../backgr.htm')"><font face="Arial" size="2"><strong>Web
Graphics</strong></font></a></p>

<p align="left"><a
href="javascript:remote2('http://www.wsabstract.com/script/cut105.htm')"><font
face="Arial" size="2"><strong>Back to script</strong></font></a></p>
</body>
</html>

Содержимое этой таблицы поместите между <BODY> и </BODY> главной страницы, с которой будет запускаться Дистанционное меню

<script>
<!--
function remote(){
/*Credit: Website Abstraction www.wsabstract.com more JavaScripts here.*/
win2=window.open("remote.htm","","width=150,height=350,scrollbars")
win2.creator=self
}
//-->
</script>
<form>
<input type="button" value="Открыть меню!" onClick="remote()">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом отмечены адреса для пунктов меню, желтым - названия пунктов меню, голубым - размеры открываемого pop-up.


Menu61

ЛЕСТНИЦА
К сожалению, меню довольно сложно в позиционировании. Каждая строка в отношении к верхнему краю страницы позиционируется только одной цифрой (желтая). А вот от левого края... Видите выделенные белым цветом числа? Поэксперементируйте! Меню очень красивое и стоит затраченного на него времени!

САМАЯ ГЛАВНАЯ СТРАНИЦА
ЕШЕ ОДНА СТРАНИЦА
ДРУГАЯ СТРАНИЦА
ЕЩЕ СТРАНИЦА
СТРАНИЦА 255
СТРАНИЦА 0

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<SCRIPT language=JavaScript>
<!--DocOzone's Javascript code, copyright 1999
//  Feel free to borrow and modify this javascript,
//  but be sure leave this credit in the source!
//  (Please note, the CODE, not the images! :)
//  Your pal,   -Dr. Thaddeus Ozone-
//        http://www.ozones.com/
window.onerror=null;
netscape = (document.layers) ? 1:0
goodIE = (document.all) ? 1:0
if (netscape) {
layerstart = "document.";
layerleft = ".left";
layertop = ".top";
layerstyle = "";  }
else if (goodIE) {
layerstart = "document.all.";
layerleft = ".left";
layertop = ".top";
layerstyle = ".style"; }
// end error trapping

leftlocation = new Array( 0,80,155,231,211,238,285,118,-19,-19,17,63,-296 );
templeftlocation = new Array( 0,80,155,231,211,238,285,190,220,350,480,0 );
Xorigin = new Array(  -250,105,90,90,100,110,180 );
      // СТАРТОВАЯ ПОЗИЦИЯ
difftop = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );
diffleft = new Array( 0,0,0,0,0,0,0,0,0,0,0,0 );
var Ypos2 = 72;
var Xpos2 = 72;

beenthere = 0;
oldactive = 0;
active = 0;
function startthedots() {
loaded=1;
spinnew();
}
var OrbitSize = 150;
count=1; delay=100; direction = -1;
Count = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
Xpoint = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
Ypoint = new Array ( 0, .63, 1.26, 1.89, 2.52, 3.15, 3.78, 4.41, 5.04, 5.67 );
var speed = -0.0628;
var offset = 1;
Xcount = new Array()
Ycount = new Array()
for ( j = 0 ; j <= 300 ; j++ ) {
Xcount[j] = Math.sin(j*speed);
Ycount[j] = Math.cos(j*speed);
}

go=1;
function speedup() { go=2; }
function slowdown() { go=1; }

placeholder = 100;
function spinnew() {
if (loaded) {
placeholder = placeholder + go;
if (placeholder > 199) { placeholder=100;  }
for ( j = 1 ; j <= 6 ; j++ ) {
Xpoint[j] = Xorigin[j] + ( (OrbitSize*offset) * Xcount[placeholder+(j*10*offset)] );
diffleft[j] = Xpoint[j] - templeftlocation[j];
diff = 30;
templeftlocation[j] = templeftlocation[j] + diffleft[j]/diff;
eval(layerstart+"block"+j+layerstyle+layerleft+" = templeftlocation["+j+"]");
}
setTimeout('spinnew()',25);
}}

//-- end script -->
</SCRIPT>
<!---Здесь белым отмечено
      положение строк в неактивном состоянии (без
      поддержки JavaScript)--->
<STYLE type=text/css>#block1 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 80px; POSITION: absolute; TOP: 146px; WIDTH: 230px; Z-INDEX: 2000
}
#block2 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 75px; POSITION: absolute; TOP: 172px; WIDTH: 215px; Z-INDEX: 2000
}
#block3 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 151px; POSITION: absolute; TOP: 200px; WIDTH: 187px; Z-INDEX: 2000
}
#block4 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 111px; POSITION: absolute; TOP: 225px; WIDTH: 175px; Z-INDEX: 2000
}
#block5 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 138px; POSITION: absolute; TOP: 243px; WIDTH: 172px; Z-INDEX: 2000
}
#block6 {FONT-FAMILY:MS SANS SERIF; FONT-WEIGHT: bold; FONT-SIZE:8pt;
LEFT: 185px; POSITION: absolute; TOP: 255px; WIDTH: 115px; Z-INDEX: 2000
}

</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload=startthedots()>

<DIV align=right id=block1><A href="#top">САМАЯ ГЛАВНАЯ СТРАНИЦА</A></DIV>
<DIV align=right id=block2><A href="#top">ЕШЕ ОДНА СТРАНИЦА</A></DIV>
<DIV align=right id=block3><A href="#top">ДРУГАЯ СТРАНИЦА</A></DIV>
<DIV align=right id=block4><A href="#top">ЕЩЕ СТРАНИЦА</A></DIV>
<DIV align=right id=block5><A href="#top">СТРАНИЦА 255</A></DIV>
<DIV align=right id=block6><A href="#top">СТРАНИЦА 0</A></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu59

Динамическое меню в форме

  • СПРАВКА

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript">
function makeArray(q){
for(i=1 ; i < q ; i++){this[i]=0}}
w=1;
howmanysites=2;
Sites = new makeArray(howmanysites);
Sites[1] = "home.htm|На главную";
Sites[2] = "another.htm|На другую";
function showSites() {
if (w > howmanysites) { w=1; };
var string=Sites[w] + "";
var split=string.indexOf("|");
var url=string.substring(0,split);
var word=string.substring(split + 1,string.length);
document.form.url.value=url;
document.form.word.value=word;
w+=1;
window.setTimeout('showSites()',5000);
}
function visitSite() {
window.location=document.form.url.value;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="form">
<input type="hidden" name="url" value><table>
<tr>
<td align="center"><input type="text" name="word" value onFocus="visitSite()" size="13"> </td>
</tr>
</table>
</form>
<script>
showSites();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu58

МЕНЮ "КАРУСЕЛЬ"
(наиболее важные моменты выделены в таблицах)

Важная ссылка !

Java Scripts

Главная

Карусельное меню

Комментарий к важной ссылке

Оглавление раздела

Наши награды

Главная страница сайта

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<STYLE>.fly {
COLOR: aqua; FONT-FAMILY: arial; FONT-SIZE: 20px; POSITION: absolute; VISIBILITY: hidden; Z-INDEX: 2
}
.logo {FILTER: shadow(color:996633,direction=225,enabled:1);
      <!---СОЗДАЕТ ОБЪЕМ ЗАГЛАВИЯ-->
COLOR: lightgreen; FONT-FAMILY: times; FONT-SIZE: 35px; LEFT: 30px; POSITION: absolute; TOP: 0px; VISIBILITY: visible; Z-INDEX: 1
}
.desc {
COLOR: red; FONT-FAMILY: arial; FONT-SIZE: 12px; LEFT: 20px; POSITION: absolute; TEXT-ALIGN: center; TOP: 320px; VISIBILITY: hidden; WIDTH: 400px
}
</STYLE><SCRIPT language=JavaScript>

/* Show an object */
function showObject(object) {
object.visibility = VISIBLE;
}

/* Hide an object */
function hideObject(object) {
object.visibility = HIDDEN;
}

/* Slide the logo from top to middle */
function slideLogo(from, to) {
if (from < to) {
company.top = (from += 10);
setTimeout('slideLogo(' + from + ',' + to + ')', 75);
}
else initObjects();
}

/* Rotate selected objects */
function rotateObjects() {
for (var i = 0; i < pos.length; i++) {
pos[i] += inc; objects[i].visibility = 'visible';
objects[i].left = (r * Math.cos(pos[i])) + xoff
objects[i].top = (r * Math.sin(pos[i])) + yoff;
}
rotateTimer = setTimeout("rotateObjects()", 70);
}

/* Initialize selected objects for rotation */
function initObjects() {
/* Here is the array of HTML elements that will be rotated, from fly1 to fly4
Just put the shortcut variables to the HTML elements in this little array
and they will be rotated automatically */
objects = new Array(fly1, fly2, fly3, fly4);
pos = new Array();
pos[0] = 0;
for (var i = 1; i < objects.length; i++) {
pos[i] = parseFloat(pos[i - 1] + ((2 * pi) / objects.length));
}
rotateObjects();
}

/* Variables for rotating objects */
var objects;
var pos;
var r = 100;        // РАДИУС
var xoff = 130;     // РАССТОЯНИЕ ОТ
      ЦЕНТРА ОКРУЖНОСТИ ДО ЛЕВОГО КРАЯ
var yoff = 170;     // РАССТОЯНИЕ ОТ
      ЦЕНТРА ОКРУЖНОСТИ ДО ВЕРХНЕГО КРАЯ
var pi = Math.PI;
var inc = pi / 180; // degrees per rotation cycle
var objects;        // objects to be rotated
var pos;            // position for objects

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV class=fly id=fly1>
<P><A
href="#top"
onmouseout=hideObject(desc1) onmouseover=showObject(desc1)>Важная ссылка !</A> </P></DIV>
<DIV class=fly id=fly2 style="z-index:-2">
<P><A
href="#top"
onmouseout=hideObject(desc2) onmouseover=showObject(desc2) >Java Scripts</A> </P></DIV>
<DIV class=fly id=fly3 style="z-index:-2">
<P><A
href="#top"
onmouseout=hideObject(desc3) onmouseover=showObject(desc3)
><img src="spinstar.gif" border=0></A> </P></DIV>
<DIV class=fly id=fly4>
<P><A
href="#top"
onmouseout=hideObject(desc4) onmouseover=showObject(desc4)
>Главная</A> </P></DIV>
<!----КОММЕНТАРИИ (ПОДСКАЗКИ) К ССЫЛКАМ---->
<DIV class=logo id=company>
<P>Карусельное меню</P></DIV>
<DIV class=desc id=desc1>
<P>Комментарий к важной ссылке</P></DIV>
<DIV class=desc id=desc2>
<P>Оглавление раздела</P></DIV>
<DIV class=desc id=desc3>
<P>Наши награды</P></DIV>
<DIV class=desc id=desc4>
<P>Главная страница сайта</P></DIV>
<SCRIPT language=JavaScript>

/* Simple version detection */
var isNS = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) >= 4);

/* They can be used in place
of hidden and visible because on occasion Navigator has problems with the two */
var HIDDEN = (isNS) ? 'hide' : 'hidden';
var VISIBLE = (isNS) ? 'show' : 'visible';

/* Create shortcut variables for different absolutely positioned elements */
var fly1 = (isNS) ? document.fly1 : document.all.fly1.style;
var fly2 = (isNS) ? document.fly2 : document.all.fly2.style;
var fly3 = (isNS) ? document.fly3 : document.all.fly3.style;
var fly4 = (isNS) ? document.fly4 : document.all.fly4.style;
var company = (isNS) ? document.company : document.all.company.style;
var desc1 = (isNS) ? document.desc1 : document.all.desc1.style;
var desc2 = (isNS) ? document.desc2 : document.all.desc2.style;
var desc3 = (isNS) ? document.desc3 : document.all.desc3.style;
var desc4 = (isNS) ? document.desc4 : document.all.desc4.style;

/* Begin the sliding of the logo */
slideLogo(0, 140);

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu19

Комбинированное меню
(в форме)

Выбор начинаете с первого слева меню. Уточните какие сайты Вам нужны. Затем во втором (среднем) меню выбираете тему. И, наконец, в третьем, самом правом меню, выбираете конкретный сайт.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM name="isc">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11"> &nbsp;

<select name="example" size="1"
onChange="redirect(this.options.selectedIndex)">
<option selected>---Select1-------------</option>
<option>Webmaster Sites</option>
<option>News Sites</option>
</select>

<select name="stage2" size="1"
onChange="redirect1(this.options.selectedIndex)">
<option value=" " selected> </option>
<option value=" " selected>---Select2--------------</option>
<option value=" " selected>---Select2--------------</option>
</select>

<select name="stage3" size="1"
onChange="redirect2(this.options.selectedIndex)">
<option value=" " selected> </option>
<option value=" " selected>---Select3----------------</option>
<option value=" " selected>---Select3----------------</option>
</select>

<script>
<!--

/*
Triple Combo Script Credit
By Hamid Cheheltani/ Website Abstraction
(http://www.wsabstract.com)
Visit http://wsabstract.com for this and over 400+ other scripts
*/

var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("---Select2---"," ");

group[1][0]=new Option("Now Select This One"," ");
group[1][1]=new Option("JavaScript","47");
group[1][2]=new Option("DHTML","46");
group[1][3]=new Option("CGI","45");

group[2][0]=new Option("Now Select This One"," ");
group[2][1]=new Option("General News","115");
group[2][2]=new Option("Technology News","116");

var temp=document.isc.stage2

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}

var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++) {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++) {
secondGroup[i][j]=new Array() }}

secondGroup[0][0][0]=new Option("---Select 3---"," ");
secondGroup[1][0][0]=new Option("---Select 3---"," ");
secondGroup[1][1][0]=new Option("Теперь выберите здесь"," ");
secondGroup[1][1][1]=new Option("CyberiaPC.com","http://www.cyberiapc.com");
secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/");
secondGroup[1][1][3]=new Option("JavasHelp.cjb.net","http://javashelp.cjb.net");

secondGroup[1][2][0]=new Option("Теперь выберите здесь"," ");
secondGroup[1][2][1]=new Option("DHTML Zone","http://www.dhtmlzone.com");
secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/");
secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/");

secondGroup[1][3][0]=new Option("Теперь выберите здесь"," ");
secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com");
secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/");

secondGroup[2][0][0]=new Option("---Select 3---"," ");
secondGroup[2][1][0]=new Option("Теперь выберите здесь"," ");
secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com");
secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com");
secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com");

secondGroup[2][2][0]=new Option("Теперь выберите сайт"," ");
secondGroup[2][2][1]=new Option("News.com","http://www.news.com");
secondGroup[2][2][2]=new Option("Wired","http://www.wired.com");

var temp1=document.isc.stage3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for
(i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
temp1.options[i]=new
Option(secondGroup[document.isc.example.options.selectedIndex][y][i]
.text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}

function redirect2(z){
window.location=temp1[z].value
}

//-->
</script>

</td>
</tr>
</table>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu50

Красивые таблицы (Andrey S. Dubovsky on www.aurora.ru)
Используйте эти профессионального вида таблицы для изготовления выплывающих меню описанных в предыдущих разделах. (К каждой таблице дан HTML код внизу страницы.)

Просто красивые таблицы.

Таблица 1 (посмотреть код)

# | Proverbs
1 | Curiosity killed a cat.
2 | Brevity is the soul of wit.
3 | A good example is the best sermon.
4 | Truth is stranger than fiction.

Таблица 2 (посмотреть код)

# | Shakespare
1 | Do not give dalliance
2 | Too much the rein,
3 | The strongest oaths are straw
4 | To the fire i'the blood.

Таблица 3 (посмотреть код)

# | Proverbs
1 | Honesty is the better policy.
2 | A word is enough to the wise.
3 | A danger forseen is half avoided.
4 | Nothing venture nothing have.

Таблица 4 (посмотреть код)

# | Proverbs
1 | The last drop makes the cup run over.
2 | A good anvil not fear the hammer.
3 | Drive the nail that will go.
4 | Honey is sweet, but the bee stings.

Код для Таблицы 1

<TABLE bgColor=#330000 border=0 cellPadding=0>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=1>
<TBODY>
<TR>
<TD align=right bgColor=#330000><FONT
color=#ffcc66><B>#</B></FONT></TD>
<TD align=middle bgColor=#330000><FONT
color=#ffcc66><B>Proverbs</B></FONT></TD></TR>
<TR bgColor=#cc9966>
<TD align=middle>1</TD>
<TD align=left>&nbsp; Curiosity killed a cat.</TD></TR>
<TR bgColor=#ffcc99>
<TD align=middle>2</TD>
<TD align=left>&nbsp; Brevity is the soul of wit.</TD></TR>
<TR bgColor=#cc9966>
<TD align=middle>3</TD>
<TD align=left>&nbsp; A good example is the best sermon.</TD></TR>
<TR bgColor=#ffcc99>
<TD align=middle>4</TD>
<TD align=left>&nbsp; Truth is stranger than
fiction.</TD></TR></TBODY></TABLE> </TD></TR></TBODY></TABLE>

Код для Таблицы 2

<TABLE bgColor=#000033 border=0 cellPadding=0>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=1>
<TBODY>
<TR>
<TD align=right bgColor=#000033><FONT color=white><B>#</B></FONT></TD>
<TD align=middle bgColor=#000033><FONT color=white><B>Shakespare
&nbsp; &nbsp; &nbsp; </B></FONT></TD></TR>
<TR bgColor=#ccddff>
<TD align=middle>1</TD>
<TD align=left>&nbsp; Do not give dalliance</TD></TR>
<TR bgColor=#fafaff>
<TD align=middle>2</TD>
<TD align=left>&nbsp; Too much the rein,</TD></TR>
<TR bgColor=#ccddff>
<TD align=middle>3</TD>
<TD align=left>&nbsp; The strongest oaths are straw</TD></TR>
<TR bgColor=#fafaff>
<TD align=middle>4</TD>
<TD align=left>&nbsp; To the fire i'the
blood.</TD></TR></TBODY></TABLE> </TD></TR></TBODY></TABLE>

Код для Таблицы 3

<TABLE bgColor=black border=0 cellPadding=0>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=1>
<TBODY>
<TR>
<TD align=right bgColor=#333333><FONT color=white><B>#</B></FONT></TD>
<TD align=middle bgColor=#333333><FONT
color=white><B>Proverbs</B></FONT></TD></TR>
<TR bgColor=#cccccc>
<TD align=middle>1</TD>
<TD align=left>&nbsp; Honesty is the better policy.</TD></TR>
<TR bgColor=#fafafa>
<TD align=middle>2</TD>
<TD align=left>&nbsp; A word is enough to the wise.</TD></TR>
<TR bgColor=#cccccc>
<TD align=middle>3</TD>
<TD align=left>&nbsp; A danger forseen is half avoided.</TD></TR>
<TR bgColor=#fafafa>
<TD align=middle>4</TD>
<TD align=left>&nbsp; Nothing venture nothing
have.</TD></TR></TBODY></TABLE> </TD></TR></TBODY></TABLE>

Код для Таблицы 4

<TABLE bgColor=#003300 border=0 cellPadding=0>
<TBODY>
<TR>
<TD>
<TABLE border=0 cellPadding=0 cellSpacing=1>
<TBODY>
<TR>
<TD align=right bgColor=#003300><FONT
color=#ffcc66><B>#</B></FONT></TD>
<TD align=middle bgColor=#003300><FONT
color=#ffcc66><B>Proverbs</B></FONT></TD></TR>
<TR bgColor=#006600>
<TD align=middle>1</TD>
<TD align=left>&nbsp; The last drop makes the cup run over.</TD></TR>
<TR bgColor=#009900>
<TD align=middle>2</TD>
<TD align=left>&nbsp; A good anvil not fear the hammer.</TD></TR>
<TR bgColor=#00cc00>
<TD align=middle>3</TD>
<TD align=left>&nbsp; Drive the nail that will go.</TD></TR>
<TR bgColor=#00ff00>
<TD align=middle>4</TD>
<TD align=left>&nbsp; Honey is sweet, but the bee
stings.</TD></TR></TBODY></TABLE> </TD></TR></TBODY></TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu63

Супер - кнопочки
По необходимости, вставьте внутрь ячейки, где расположена кнопка, onClick="window.location=('Документ.htm')" - это для открытия документа в этом же окне. Или onClick="window.оpen('Документ.htm')" - для открытия документа в отдельном окне. Рисунки для кнопок найдите сами - такого добра кругом навалом.

Без рисунков:

JS Library Что нового Когда выйдет Форум

И с рисунками:

JS Library Что нового Когда выйдет Форум

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
//////////////////////////////////////////// ///////////////////////////
// This Button Script was designed by Erik Arvidsson for WebFX //
// //
// For more info and examples see: http://webfx.eae.net/ //
// or send mail to erik@eae.net //
// //
// Feel free to use this code as lomg as this disclaimer is //
// intact. //
//////////////////////////////////////////////// ///////////////////////

document.onmouseover = doOver;
document.onmouseout = doOut;
document.onmousedown = doDown;
document.onmouseup = doUp;

function doOver() {
var toEl = getReal(window.event.toElement, "className", "coolButton");
var fromEl = getReal(window.event.fromElement, "className", "coolButton");
if (toEl == fromEl) return;
var el = toEl;

// alert(el);

// var cDisabled = el.getAttribute("cDisabled");
var cDisabled = el.cDisabled;
// alert(cDisabled);
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (el.className == "coolButton")
el.onselectstart = new Function("return false");

if ((el.className == "coolButton") && !cDisabled) {
makeRaised(el);
makeGray(el,false);
}
}

function doOut() {
var toEl = getReal(window.event.toElement, "className", "coolButton");
var fromEl = getReal(window.event.fromElement, "className", "coolButton");
if (toEl == fromEl) return;
var el = fromEl;

// var cDisabled = el.getAttribute("cDisabled");
var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;
toggle_disabled = (cToggle != null); // If CTOGGLE atribute is present

if (cToggle && el.value) {
makePressed(el);
makeGray(el,true);
}
else if ((el.className == "coolButton") && !cDisabled) {
makeFlat(el);
makeGray(el,true);
}

}

function doDown() {
el = getReal(window.event.srcElement, "className", "coolButton");

var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if ((el.className == "coolButton") && !cDisabled) {
makePressed(el)
}
}

function doUp() {
el = getReal(window.event.srcElement, "className", "coolButton");

var cDisabled = el.cDisabled;
cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if ((el.className == "coolButton") && !cDisabled) {
makeRaised(el);
}
}

function getReal(el, type, value) {
temp = el;
while ((temp != null) && (temp.tagName != "BODY")) {
if (eval("temp." + type) == value) {
el = temp;
return el;
}
temp = temp.parentElement;
}
return el;
}

function findChildren(el, type, value) {
var children = el.children;
var tmp = new Array();
var j=0;

for (var i=0; i<children.length; i++) {
if (eval("children[i]." + type + "==\"" + value + "\"")) {
tmp[tmp.length] = children[i];
}
tmp = tmp.concat(findChildren(children[i], type, value));
}

return tmp;
}

function disable(el) {

if (document.readyState != "complete") {
window.setTimeout("disable(" + el.id + ")", 100); // If document not finished rendered try later.
return;
}

var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (!cDisabled) {
el.cDisabled = true;

el.innerHTML = '<span style="background: buttonshadow; width: 100%; height: 100%; text-align: center;">' +
'<span style="filter:Mask(Color=buttonface) DropShadow(Color=buttonhighlight, OffX=1, OffY=1, Positive=0); height: 100%; width: 100%%; text-align: center;">' +
el.innerHTML +
'</span>' +
'</span>';

if (el.onclick != null) {
el.cDisabled_onclick = el.onclick;
el.onclick = null;
}
}
}

function enable(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

if (cDisabled) {
el.cDisabled = null;
el.innerHTML = el.children[0].children[0].innerHTML;

if (el.cDisabled_onclick != null) {
el.onclick = el.cDisabled_onclick;
el.cDisabled_onclick = null;
}
}
}

function addToggle(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;

cToggle = (cToggle != null); // If CTOGGLE atribute is present

if (!cToggle && !cDisabled) {
el.cToggle = true;

if (el.value == null)
el.value = 0; // Start as not pressed down

if (el.onclick != null)
el.cToggle_onclick = el.onclick; // Backup the onclick
else
el.cToggle_onclick = "";

el.onclick = new Function("toggle(" + el.id +"); " + el.id + ".cToggle_onclick();");
}
}

function removeToggle(el) {
var cDisabled = el.cDisabled;

cDisabled = (cDisabled != null); // If CDISABLED atribute is present

var cToggle = el.cToggle;

cToggle = (cToggle != null); // If CTOGGLE atribute is present

if (cToggle && !cDisabled) {
el.cToggle = null;

if (el.value) {
toggle(el);
}

makeFlat(el);

if (el.cToggle_onclick != null) {
el.onclick = el.cToggle_onclick;
el.cToggle_onclick = null;
}
}
}

function toggle(el) {
el.value = !el.value;

if (el.value)
el.style.background = "URL(/images/tileback.gif)";
else
el.style.backgroundImage = "";

// doOut(el);
}

function makeFlat(el) {
with (el.style) {
background = "";
border = "1px solid buttonface";
padding = "1px";
}
}

function makeRaised(el) {
with (el.style) {
borderLeft = "1px solid buttonhighlight";
borderRight = "1px solid buttonshadow";
borderTop = "1px solid buttonhighlight";
borderBottom = "1px solid buttonshadow";
padding = "1px";
}
}

function makePressed(el) {
with (el.style) {
borderLeft = "1px solid buttonshadow";
borderRight = "1px solid buttonhighlight";
borderTop = "1px solid buttonshadow";
borderBottom = "1px solid buttonhighlight";
paddingTop = "2px";
paddingLeft = "2px";
paddingBottom = "0px";
paddingRight = "0px";
}
}

function makeGray(el,b) {
var filtval;

if (b)
filtval = "gray()";
else
filtval = "";

var imgs = findChildren(el, "tagName", "IMG");

for (var i=0; i<imgs.length; i++) {
imgs[i].style.filter = filtval;
}

}

document.write("<style>");
document.write(".coolBar {background: buttonface;border-top: 1px solid buttonhighlight; border-left: 1px solid buttonhighlight; border-bottom: 1px solid buttonshadow; border-right: 1px solid buttonshadow; padding: 2px; font: menu;}");
document.write(".coolButton {border: 1px solid buttonface; padding: 1px; text-align: center; cursor: default;}");
document.write(".coolButton IMG {filter: gray();}");
document.write("</style>");

/*
Depressible DHTML buttons (By Erik Arvidsson at http://webfx.eae.net)
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Без рисунков: <br><br>
<table class="coolBar" style="margin-left: 10px;cursor:hand">
<tr>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>JS Library</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Что нового</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Когда выйдет</b></font>
</td>
<td class="coolButton" width="120">
<font face="Verdana" size="2"><b>Форум</b></font>
</td>
</tr>
</table>
<br><br>

И с рисунками:<br><br>
<table class="coolBar">
<tr>
<td class="coolButton" width="130" onClick="window.location=('home.htm')">
<img src="home.gif"> <font face="Verdana" size="2"><b>JS Library</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Что нового</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Когда выйдет</b></font>
</td>
<td class="coolButton" width="130">
<img src="htmlicon.gif"> <font face="Verdana" size="2"><b>Форум</b></font>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu49

МЕНЮ для МЕНЮ
Текст и URL для
линков поставьте свои

Beloved creature:
Whisker
Pads
Tail
Hate it!
Beloved creature-2:
Eyes
Ears
Legs
Hate! Hate! Hate!
Favorite links
Playboy
Playgirl
President Administration
Map of site:
Map 1
Map 2
Map 3
Any news?
VERY COOL!!!
It wasn't end, yet.
Beloved cat
Beloved (wo)man
Favorite links
Map of site
News

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: white;}
a:hover { text-decoration: none; color: yellow; }
</style>
<SCRIPT LANGUAGE=JavaScript><!--
act='sm'+1;
dd=document;
NS=(dd.layers)?1:0
function setob(L){
if(NS){
obg=dd.layers[L]
}
else {
obg=dd.getElementById(L);
obg=obg.style
}
}
function showlr(L){
setob(L);
if(NS)obg.visibility='show';
else
obg.visibility='visible'
}
function hidelr(L){
setob(L);
if(NS)obg.visibility='hide';
else
obg.visibility='hidden'
}
function slide(lName){
objX='sm'+lName;x=-120;
hidelr(act);
act='sm'+lName;
showlr(objX);
slide1(objX)
}
function slide1(lName){
objX=lName;
x+=10;

obg.left=x;
if (x<10)
setTimeout("slide1(objX)",10);
else
x=-200
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV ID=sm1 STYLE="position:absolute;left:-200;top:216;width:180;height:230; z-index:1">
<TABLE bgColor=#330000 border=0 cellPadding=0 cellSpacing=0 width=180>
<TR><TD align=center><FONT color=#ffcc66>Beloved creature:</FONT></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Whisker</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Pads</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Tail</a></TD></TR>
<TR bgColor=#ff3300><TD><a href=#top onclick=hidelr('sm1') class=sm>Hate it!</a></TD></TR>
</TABLE></DIV>

<DIV ID=sm2 STYLE="position:absolute;left:-200;top:216;width:180;height:230">
<TABLE bgColor=#660000 border=0 cellPadding=0 cellSpacing=0 width=180>
<TR><TD align=center><FONT color=#ffcc66>Beloved creature-2:</FONT></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Eyes</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Ears</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Legs</a></TD></TR>
<TR bgColor=#ff0000><TD><a href=#top onmouseover=hidelr('sm2') class=sm>Hate! Hate! Hate!</a></TD></TR>
</TABLE></DIV>

<DIV ID=sm3 STYLE="position:absolute;left:-200;top:216;width:180;height:230">
<TABLE bgColor=#cc0000 border=0 cellPadding=0 cellSpacing=0 width=180>
<TR><TD align=center><FONT color=#ffcc66>Favorite links</FONT></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Playboy</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Playgirl</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>President Administration</a></TD></TR>
</TABLE></DIV>

<DIV ID=sm4 STYLE="position:absolute;left:-200;top:216;width:180;height:230">
<TABLE bgColor=#990000 border=0 cellPadding=0 cellSpacing=0 width=180>
<TR><TD align=center><FONT color=#ffcc66>Map of site:</FONT></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Map 1</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Map 2</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>Map 3</a></TD></TR>
</TABLE></DIV>

<DIV ID=sm5 STYLE="position:absolute;left:-200;top:216;width:180;height:230">
<TABLE bgColor=#ff0000 border=0 cellPadding=0 cellSpacing=0 width=180>
<TR><TD align=center><FONT color=#ffcc66>Any news?</FONT></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>VERY COOL!!!</a></TD></TR>
<TR bgColor=#996633><TD><a href=#top class=sm>It wasn't end, yet.</a></TD></TR>
</TABLE></DIV>

<DIV STYLE="position:absolute;left:10;top:0">
<TABLE border=0 cellSpacing=0 width=150>
<TR><TD width=190 valign=top bgColor=#ffcc66>
<table width=180 height=22>
<tr bgColor=#330000><td><a href=#top class=mm onclick=slide(1)>Beloved cat</a></td></tr>
<tr bgColor=#660000><td><a href=#top class=mm onclick=slide(2)>Beloved (wo)man</a></td></tr>
<tr bgColor=#990000><td><a href=#top class=mm onclick=slide(3)>Favorite links</a></td></tr>
<tr bgColor=#cc0000><td><a href=#top class=mm onclick=slide(4)>Map of site</a></td></tr>
<tr bgColor=#ff0000><td><a href=#top class=mm onclick=slide(5)>News</a></td></tr>
</table></div>
</TD></TR></TABLE></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu45

Многоуровневое меню в форме
Выбирайте элементы меню не единожды, как в обычном выпадающем меню - это меню переходит на подуровни, находясь при этом в одной и той же форме!

На какой сайт отправиться?
Чем бы перекусить?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
window.onerror = errorHandler;
function errorHandler(e,f,l){
alert("Ошибка в файле: " + f + ", строка: " +l+"\n\t" + e);
return true;
}
function DURPM(text,value,parent){
this.parent = parent;
this.children = new Array();
this.text = text;
this.value = value;
this.header = "Выберите из этого:"; // default
this.target = "_self"; // default
this.winArgs = ""; // default
this.stat = false; // default

this.addChild = addChild;
this.relate = relate;
this.loadSelection = loadSelection;
this.back = back;
this.jmp = jmp;
this.isStatic = isStatic;
this.redir = redir;
this.write = write;

if(typeof(parent)=="undefined"){
this.parent = null;
DURPMArray.current = DURPMArray[this.value] = this;
}

function addChild(text, value){
return (this.children[this.children.length] = new DURPM(text, value, this));
}
function relate(menu){
var index = menu.selectedIndex - 1; // remove header
if(this.parent!=null)
index--;
if(index==-1 && this.parent!=null)
this.back(menu);
else if(index > -1)
if(this.children[index].children.length > 0)
this.children[index].loadSelection(menu);
else
this.jmp(index);
}
function loadSelection(menu){
if(menu==null){
menu = document.forms[this.text][this.value];
menu.durpm = this;
}
for(var i = menu.options.length; i > 0; i--)
menu.options[i-1] = null;
menu.options[0] = new Option(this.header, null, true, true);
if(this.parent!=null)
menu.options[1] = new Option("Отменить", null);
offset = menu.options.length;
for(var i = 0; i < this.children.length; i++)
menu.options[i+offset] = new Option(this.children[i].text,
this.children[i].text);
menu.durpm = this;
}
function back(menu){
this.parent.loadSelection(menu);
}
function jmp(index){
if(!((this.parent!=null)?this.parent.isStatic():this.stat))
window.location="http://"+ this.children[index].value + ""
}
function isStatic(){
return (this.parent!=null)?this.parent.isStatic():this.stat;
}

function redir(page){
if(this.parent!=null)
this.parent.redir(page);
else if(page!=null){
if(this.winArgs.length == 0)
win = window.open(page, this.target);
else
win = window.open(page, this.target, this.winArgs);
if(typeof(focus)!="undefined")
win.focus();
}
}
function write(cols, rows, size){
document.writeln("<select name=\""+this.value+"\" size=\""+size+"\" onChange=\"this.durpm.relate(this);\">");
for(var i = 0; i < rows-1; i++)
document.writeln("<option> </option>");
document.write("<option>");
for(var i = 0; i < cols; i++)
document.write("=");
document.writeln("</option>");
document.writeln("</select>");
}
}
function main(){
for(var durpm in DURPMArray)
if(typeof(DURPMArray[durpm])=="object")
DURPMArray[durpm].loadSelection(null);
}
function addCat(text){
DURPMArray.current = DURPMArray.current.addChild(text);
}
function endCat(){
if(DURPMArray.current.parent!=null)
DURPMArray.current = DURPMArray.current.parent;
}
function addItem(text, value){
DURPMArray.current.addChild(text, value);
}
function addHeader(text){
DURPMArray.current.header = text;
}
function setWindowArgs(args){
DURPMArray.current.winArgs = args;
}
function setTarget(target){
DURPMArray.current.target = target;
}
function setStatic(){
DURPMArray.current.stat = true;
}

var v = (typeof(Option)!="undefined");
var DURPMArray = new Array();

if(v){

new DURPM("form1","foo");
setTarget("_blank");
setWindowArgs("width=300,height=200");
addHeader("Выберите уровень:");
addCat("Experts");
addHeader("Выберите тему:");
addCat("3-D Animation");
addHeader("Пожалуйста, уточните:");
addItem("Glossary","process.html?page=/3d/glossary/");
addItem("Lesson56","process.html?page=/3d/lesson56/");
addItem("Lesson57","process.html?page=/3d/lesson57/");
addItem("------------", null);
addItem("Lesson58","process.html?page=/3d/lesson58/");
addItem("Lesson59","process.html?page=/3d/lesson59/");
endCat();
addCat("Design");
addHeader("Пожалуйста, уточните:");
addItem("About","process.html?page=/dlab/about.html");
addItem("Books","process.html?page=/dlab/books/");
addItem("Dessert Links","process.html?page=/dlab/dessert.html");
addItem("People Say","process.html?page=/dlab/peoplesay.html");
endCat();
addCat("DHTML");
addHeader("Пожалуйста, уточните:");
addItem("Dynomat","process.html?page=/dhtml/dynomat/");
addItem("Diner","process.html?page=/dhtml/diner/");
addItem("Hiermenus","process.html?page=/dhtml/hiermenus/");
addItem("About","process.html?page=/dhtml/about.html");
endCat();
addCat("E-Commerce");
addHeader("Пожалуйста, уточните:");
addItem("About","process.html?page=/ecommerce/mm/about.html");
addItem("Archive","process.html?page=/ecommerce/mm/archives.html");
addItem("Links","process.html?page=/ecommerce/mm/linkidx.html");
endCat();
addCat("Graphics");
addHeader("Пожалуйста, уточните:");
addItem("Bio","process.html?page=/graphics/bio.html");
addItem("Column1","process.html?page=/graphics/column1/");
addItem("Column2","process.html?page=/graphics/column2/");
addItem("Column3","process.html?page=/graphics/column3/");
endCat();
addCat("HTML");
addHeader("Пожалуйста, уточните:");
addItem("About","process.html?page=/html/about/");
addItem("What's New","process.html?page=/html/new/");
addItem("Tutorials","process.html?page=/html/tutorials/");
addItem("Style Watch","process.html?page=/html/watch/");
endCat();
addCat("JavaScript");
addHeader("Пожалуйста, уточните:");
addItem("About","process.html?page=/js/about.html");
addItem("Jx Pharmacy","process.html?page=/js/pharmacy/");
addItem("Column1","process.html?page=/js/column1/");
addItem("Column2","process.html?page=/js/column2/");
addItem("Column3","process.html?page=/js/column3/");
endCat();
endCat();
addCat("Contents");
addHeader("Выберите тему:");
addCat("Authoring");
addHeader("Пожалуйста, уточните:");

addItem("Collections","process.html?page=/authoring/collections.html");
addItem("Design","process.html?page=/authoring/design/");
addItem("FAQs","process.html?page=/authoring/faqs.html");
addItem("Graphics","process.html?page=/authoring/graphics/");
addItem("Languages","process.html?page=/authoring/languages/");

addItem("Organizations","process.html?page=/authoring/organizations.html");
addItem("Programming","process.html?page=/programming/");
addItem("Site Management","process.html?page=/authoring/languages/html/site.html");
addItem("Style","process.html?page=/authoring/style/");
addItem("Tutorials","process.html?page=/authoring/tutorials.html");
endCat();
addCat("Internet");
addHeader("Пожалуйста, уточните:");
addItem("Collections","process.html?page=/internet/collections.html");
addItem("Conferences","process.html?page=/internet/conferences.html");
addItem("Discussion","process.html?page=/internet/discussion.html");
addItem("FAQs","process.html?page=/internet/faqs.html");
addItem("Formats","process.html?page=/internet/formats.html");
addItem("Glossaries","process.html?page=/internet/glossaries.html");
addItem("History","process.html?page=/internet/history.html");
addItem("Intranet","process.html?page=/internet/intranet/");
addItem("Jobs","process.html?page=/internet/jobs/");
endCat();
endCat();
endCat();

new DURPM(1,"bar");
setStatic();
addHeader("Выбирайте мясное блюдо.");
addCat("Говядина");
addItem("Гамбургер","burg");
addItem("Бифштекс","steak");
addItem("Котлета","mb");
endCat();
addCat("Цыпленок");
addItem("Вареный цыпл.","lchx");
addItem("Цыпл. табака","McN");
addItem("Гриль","chx_strips");
endCat();
addCat("Свинина");
addItem("Отбивная","prok_chops");
addItem("Бекон","bac");
addItem("Ветчина","ham");
endCat();
endCat();
} // if(v)
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="main()">

<center>
<table width="300" align="center">
<tr><td align="center">На какой сайт отправиться?</td></tr>
<tr><td align="center">
<form name="form1">
<script>
<!--
if(v)DURPMArray["foo"].write(9,35,1);
//-->
</script>
</form>
</td></tr>
<tr><td> </td></tr>
<tr><td align="center">Что бы перекусить?</td></tr>
<tr><td align="center">
<form>
<script>
<!--
if(v)DURPMArray["bar"].write(7,30,5);
//-->
</script>
</form>
</td></tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu38

Наборное меню 1
(выпадающее)

Для использования этого скрипта необходимо, чтобы на Вашем сайте имелись страницы примерно такого вида: http://ваш_сайт.com/ford/1999.htm, где "ford" и "1999" оказываются элементами выпадающего меню.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Idea by: Selvi Narayanan -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
site = "http://ваш_сайт.com"; // не добавляйте в конце"/" !!!!!
function combineMenus(frm, menu1, menu2) {
with (frm) {
str = menu1.options[menu1.selectedIndex].value;
str += menu2.options[menu2.selectedIndex].value;
url = site + "/" + str + ".htm"; // при необходимости замените "htm" на "html"
window.location.href = url;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=menufrm>
<select name=menu1>
<option value="">Марка</option>
<option value="Ford">Ford</option>
<option value="Chevy">Chevy</option>
<option value="Toyota">Toyota</option>
</select>

<select name=menu2>
<option value="">Год</option>
<option value="1998">1998</option>
<option value="1999">1999</option>
<option value="2000">2000</option>
</select>

<input type=button value="Перейти" onClick="combineMenus(this.form, this.form.menu1, this.form.menu2)">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu39

Наборное меню 2
(радио-кнопки)

Марка Chevy Ford Dodge Oldsmobile

Год выпуска 1998 1999 2000 2001

Для использования этого скрипта необходимо, чтобы на Вашем сайте имелись страницы примерно такого вида: http://ваш_сайт.com/ford/1999.htm, где "ford" и "1999" оказываются элементами наборного меню.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor, based on Select Option by: Selvi Narayanan -->
<!-- Modified: Mike Watts (mike.watts@watts-internet.com) -->
<!-- Web Site: http://www.watts-internet.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
site="http://ваш_сайт.com";
function combineMenus(frm, menu1, menu2) {
with (frm) {
for (var i = 0; i < document.menufrm.menu1.length; i++) {
if (document.menufrm.menu1[i].checked) {
str = document.menufrm.menu1[i].value;
break;
}
}
for (var i = 0; i < document.menufrm.menu2.length; i++) {
if (document.menufrm.menu2[i].checked) {
str += document.menufrm.menu2[i].value;
break;
}
}
url = site + "/" + str + ".htm"; //при необходимости замените "htm" на "html"
window.location.href = url;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="menufrm">
<table alibn=center bgcolor="#CCCCCC">
<tr>
<td>
Марка&nbsp; <INPUT TYPE="radio" NAME="menu1" VALUE="chevy" CHECKED>Chevy
<INPUT TYPE="radio" NAME="menu1" VALUE="ford">Ford
<INPUT TYPE="radio" NAME="menu1" VALUE="dodge">Dodge
<INPUT TYPE="radio" NAME="menu1" VALUE="olds">Oldsmobile<P>Год выпуска
<INPUT TYPE="radio" NAME="menu2" VALUE="1998" CHECKED>1998
<INPUT TYPE="radio" NAME="menu2" VALUE="1999">1999
<INPUT TYPE="radio" NAME="menu2" VALUE="2000">2000
<INPUT TYPE="radio" NAME="menu2" VALUE="2001">2001
<P>
<INPUT TYPE="button" VALUE="Перейти" onClick="combineMenus(this.form, this.form.menu1, this.form.menu2)">
</td>
</tr>
</table>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form55

Обменник меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
sortitems = 1; // Automatically sort items within lists? (1 or 0)

function move(fbox,tbox) {
for(var i=0; i<fbox.options.length; i++) {
if(fbox.options[i].selected && fbox.options[i].value != "") {
var no = new Option();
no.value = fbox.options[i].value;
no.text = fbox.options[i].text;
tbox.options[tbox.options.length] = no;
fbox.options[i].value = "";
fbox.options[i].text = "";
}
}
BumpUp(fbox);
if (sortitems) SortD(tbox);
}
function BumpUp(box) {
for(var i=0; i<box.options.length; i++) {
if(box.options[i].value == "") {
for(var j=i; j<box.options.length-1; j++) {
box.options[j].value = box.options[j+1].value;
box.options[j].text = box.options[j+1].text;
}
var ln = i;
break;
}
}
if(ln < box.options.length) {
box.options.length -= 1;
BumpUp(box);
}
}

function SortD(box) {
var temp_opts = new Array();
var temp = new Object();
for(var i=0; i<box.options.length; i++) {
temp_opts[i] = box.options[i];
}
for(var x=0; x<temp_opts.length-1; x++) {
for(var y=(x+1); y<temp_opts.length; y++) {
if(temp_opts[x].text > temp_opts[y].text) {
temp = temp_opts[x].text;
temp_opts[x].text = temp_opts[y].text;
temp_opts[y].text = temp;
temp = temp_opts[x].value;
temp_opts[x].value = temp_opts[y].value;
temp_opts[y].value = temp;
}
}
}
for(var i=0; i<box.options.length; i++) {
box.options[i].value = temp_opts[i].value;
box.options[i].text = temp_opts[i].text;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form ACTION="" METHOD="POST">
<table border="0">
<tr>
<td><select multiple size="5" name="list1">
<option value="11"> item 1.1 </option>
<option value="12"> item 1.2 </option>
<option value="13"> item 1.3 </option>
</select></td>
<td>
<input type="button" value=" >> " onclick="move(this.form.list1,this.form.list2)" name="B1"><br>
<input type="button" value=" << " onclick="move(this.form.list2,this.form.list1)" name="B2">
</td>
<td><select multiple size="5" name="list2">
<option value="21"> item 2.1 </option>
<option value="22"> item 2.2 </option>
<option value="23"> item 2.3 </option>
</select></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu23

Однострочное выезжающее слева меню

Главная страница - Другая страница - JS Library 1.0 - MENU

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>

#divMenu {font-family:arial,helvetica; font-size:12pt; font-weight:bold}
#divMenu a{text-decoration:none;}
#divMenu a:hover{color:red;}
</style>
<script language="JavaScript1.2">**
/************************
Submitted with modifications by Jack Routledge (http://fastway.to/compute) to DynamicDrive.com
Copyright (C) 1999 Thomas Brattli @ www.bratta.com
This script is made by and copyrighted to Thomas Brattli
This may be used freely as long as this msg is intact!
This script has been featured on http://www.dynamicdrive.com
**************************/
Browsercheck:*/
ie=document.all?1:0
n=document.layers?1:0

//These are the variables you have to set:

//Величина, на
      которую меню "высовывается" в
      неактивном виде
lshow=40

//How many pixels should it move every step?
var move=10;

//At what speed (in milliseconds, lower value is more speed)
menuSpeed=40

//Если не хотите,
      чтобы меню НЕдвигалось вниз-вверх при
      скроллинге напишите false
var moveOnScroll=true

/*************************
You should't have to change anything below this.
**************************/
//Defining variables
var tim;
var ltop;

//Object constructor
function makeMenu(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.css=(n) ? eval(nest+'document.'+obj):eval(obj+'.style')
this.state=1
this.go=0
this.width= n?this.css.document.width:eval(obj+'.offsetWidth')
this.left=b_getleft
this.obj = obj + "Object"; 	eval(this.obj + "=this")
}
//Get's the top position.
function b_getleft(){
var gleft=(n) ? eval(this.css.left):eval(this.css.pixelLeft);
return gleft;
}
/************************
Deciding what way to move the menu (this is called onmouseover, onmouseout or
      onclick)
**************************/
function moveMenu(){
if(!oMenu.state){
clearTimeout(tim)
mIn()
}else{
clearTimeout(tim)
mOut()
}
}
//Menu in
function mIn(){
if(oMenu.left()>-oMenu.width+lshow){
oMenu.go=1
oMenu.css.left=oMenu.left()-move
tim=setTimeout("mIn()",menuSpeed)
}else{
oMenu.go=0
oMenu.state=1
}
}
//Menu out
function mOut(){
if(oMenu.left()<0){
oMenu.go=1
oMenu.css.left=oMenu.left()+move
tim=setTimeout("mOut()",menuSpeed)
}else{
oMenu.go=0
oMenu.state=0
}
}
/*****************************
Checking if the page is scrolled, if it is move the menu after
*******************************/
function checkScrolled(){
if(!oMenu.go) oMenu.css.top=eval(scrolled)+ltop
if(n) setTimeout('checkScrolled()',30)
}
/***************************
Inits the page, makes the menu object, moves it to the right place,
show it
***************************/
function menuInit(){
oMenu=new makeMenu('divMenu')
scrolled= n?"window.pageYOffset":"document.body.scrollTop"
oMenu.css.left=-oMenu.width+lshow
ltop=(n)?oMenu.css.top:oMenu.css.pixelTop;
oMenu.css.visibility='visible'
if(moveOnScroll) ie?window.onscroll= checkScrolled:checkScrolled();
}

//Initing menu on pageload
onload=menuInit;
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="divMenu" style="position:absolute; top:250; left:35; width:200; visibility:hidden; background-color:F0F0F0; font-size:13px">
<nobr>
<a href="home.htm">Главная страница</a> -
<a href="another.htm">Другая страница</a> -
<a href="http://javashelp.cjb.net">JS Library 1.0</a> -
<a href="javascript://" onclick="moveMenu()" style="background-color:yellow; text-decoration:none">MENU</a>
</nobr>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 10

Меню "Загорающиеся рисунки"

(меню отлично выглядит на черном фоне)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
function high(which2){
theobject=which2
highlighting=setInterval ("highlightit(theobject)",50)
}
function low(which2){
clearInterval(highlighting)
which2.filters. alpha.opacity=10
}
function highlightit(cur2){
if (cur2.filters.alpha. opacity<100)
cur2.filters.alpha. opacity+=5
else if (window. highlighting)
clearInterval (highlighting)
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<p align="center">
<a href="mailto:eugenezz@yandex.ru" target="_blank"><img src="0gold.gif"
border=0 style="filter:alpha(opacity=40)"
onMouseover="high(this)"
onMouseout="low(this)" alt="Почта" width="56" height="75"></a>
<a href="home.htm" target="_blank"><img src="1gold.gif" border=0 style="filter:alpha(opacity=40)"
onMouseover="high(this)"
onMouseout="low(this)" alt="Линки" width="39" height="75"></a>
<a href="home.htm" target="_blank"><img src="2gold.gif" border=0 style="filter:alpha(opacity=40)"
onMouseover="high(this)"
onMouseout="low(this)" alt="Главная страница" width="59" height="75"></a>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Menu40

Перетаскиваемое меню

Перетаскиваемое
Меню

Элемент # 1
Элемент # 2
Элемент # 3

Кликните по белому полю - меню "прилипнет" к курсору, после двойного клика меню "отцепится". Не слишком удобно, к тому же необходимо объяснять это каждому посетителю... Тем не менее, у этого меню есть одно неоспоримое преимущество перед немалым количеством ему подобных - оно является перетаскиваемым во всех браузерах, а не только в IE.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/utility/javahead.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkVersion4() {
var x = navigator.appVersion;
y = x.substring(0,4);
if (y>=4) setVariables();moveOB();
}

function setVariables() {
if (navigator.appName == "Netscape") {
h=".left=";v=".top=";dS="document.";sD="";
}
else{
h=".pixelLeft=";v=".pixelTop=";dS="";sD=".style";
}
objectX="object11"
XX=-70;
YY=-70;
OB=11;
}

function setObject(a) {
objectX="object"+a;
OB=a;
XX=eval("xpos"+a);
YY=eval("ypos"+a);
}

function getObject() {
if (isNav) document.captureEvents(Event.MOUSEMOVE);
}

function releaseObject() {
if (isNav) document.releaseEvents(Event.MOUSEMOVE);
check="no";
objectX="object11";
document.close();
}

function moveOB() {
eval(dS + objectX + sD + h + Xpos);
eval(dS + objectX + sD + v + Ypos);
}

var isNav = (navigator.appName.indexOf("Netscape") !=-1);
var isIE = (navigator.appName.indexOf("Microsoft") !=-1);
nsValue=(document.layers);
check="no";
function MoveHandler(e) {
Xpos = (isIE) ? event.clientX : e.pageX;
Ypos = (nsValue) ? e.pageY : event.clientY;
if (check=="no") {
diffX=XX-Xpos;
diffY=YY-Ypos;
check="yes";
if (objectX=="object11") check="no";
}
Xpos+=diffX;
Ypos+=diffY;
if (OB=="1") xpos1=Xpos,ypos1=Ypos;
moveOB();
}
if (isNav) {
document.captureEvents(Event.CLICK);
document.captureEvents(Event.DBLCLICK);
}
xpos1=50; // make this the left pixel value for object1 below
ypos1=50; // make this the top pixel value for object1 below
xpos11 = -50;
ypos11 = -50;
Xpos=5;
Ypos=5;
document.onmousemove = MoveHandler;
document.onclick = getObject;
document.ondblclick = releaseObject;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="checkVersion4()">

<div id="object1" style="position:absolute; visibility:show; left:50px; top:50px; z-index:2">
<table border=1 cellpadding=5>
<tr>
<td bgcolor=eeeeee style="cursor:hand" onmousedown="setObject(1)"> Перетаскиваемое<br>Меню</td>
</tr>
<tr>
<td>
<br>
<A HREF="javascript:void(0)">Элемент # 1</A><br>
<A HREF="javascript:void(0)">Элемент # 2</a><br>
<A HREF="javascript:void(0)">Элемент # 3</a>
</td>
</tr>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu41

"Пестрое" меню

МЕНЮ
Элемент 1
Элемент 2
Элемент 3
Элемент 4
Наведите мышь на элементы меню

Белым цветом отмечены "#top", которые следует заменить на адреса, а желтым - элементы меню (дайте свои названия)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Original: CodeLifter.com (support@codelifter.com) -->
<!-- Web Site: http://www.codelifter.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<style>
<!-- Begin
.BorderOn { width:90px;
margin-left:10px;
border:1px solid #456789 }
.BorderOff { width:90px;
margin-left:0px;
border:1px solid #444444 }
A.mBlue:link {color:#0000FF; text-decoration:none;}
A.mBlue:visited {color:#0000FF; text-decoration:none;}
A.mBlue:active {color:#0000FF; text-decoration:none;}
A.mBlue:hover {color:#FF0000; text-decoration:underline;}
A.mGreen:link {color:#00FF80; text-decoration:none;}
A.mGreen:visited {color:#00FF80; text-decoration:none;}
A.mGreen:active {color:#00FF80; text-decoration:none;}
A.mGreen:hover {color:#FF0000; text-decoration:underline;}
A.mYellow:link {color:#FFFF00; text-decoration:none;}
A.mYellow:visited {color:#FFFF00; text-decoration:none;}
A.mYellow:active {color:#FFFF00; text-decoration:none;}
A.mYellow:hover {color:#FF0000; text-decoration:underline;}
//-->
</style>
<script language="JavaScript1.2">
<!-- Begin
offMessage = "Используйте это меню на своем сайте!"
function boxOn(which,message) {
if (document.all||document.getElementById) {
which.className = 'BorderOn';
if (document.getElementById) {
document.getElementById("Message").innerHTML = message
}
else {
Message.innerHTML = message;
}
}
}
function boxOff(which) {
if (document.all||document.getElementById) {
which.className = 'BorderOff';
if (document.getElementById) {
document.getElementById("Message").innerHTML = offMessage
}
else {
Message.innerHTML = offMessage;
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!-- Outer Container Table //-->
<table cellpadding="0" cellspacing="0" width="100" height="250">
<tr>
<td align="center" height="30">
<!-- Header Table // -->
<table cellpadding="3" cellspacing="0" bgcolor="#000000" class="BorderOff" width="100" height="30">
<tr>
<td height="30">
<font color="#FEDCBA" size="2" face="Arial"><b>МЕНЮ</b></font>
</td>
</tr>
</table>
<!-- End Header Table //-->
<!-- Menu Items Tables
- To add more, just follow the pattern
- Note class= in each <a href> to attach link style colors
//-->
<!-- Menu Item One Table //-->
<table cellpadding="3" cellspacing="0" class="BorderOff" onMouseover="boxOn(this,'Описание 1')" onMouseout="boxOff(this)" width="100" height="30">
<tr>
<td>
<font color="#00FF80" size="2" face="Arial"><a class="mBlue" href="#top" target="_self">Элемент 1</a></font>
</td>
</tr>
</table>
<!-- Menu Item Two Table //-->
<table cellpadding="3" cellspacing="0" class="BorderOff" onMouseover="boxOn(this,'Описание 2')" onMouseout="boxOff(this)" width="100" height="30">
<tr>
<td>
<font color="#00FF80" size="2" face="Arial"><a class="mBlue" href="#top" target="_self">Элемент 2</a></font>
</td>
</tr>
</table>
<!-- Menu Item Three Table //-->
<table cellpadding="3" cellspacing="0" class="BorderOff" onMouseover="boxOn(this,'Описание 3')" onMouseout="boxOff(this)" width="100" height="30">
<tr>
<td>
<font color="#00FF80" size="2" face="Arial"><a class="mGreen" href="#top" target="_self">Элемент 3</a></font>
</td>
</tr>
</table>
<!-- Menu Item Four Table //-->
<table cellpadding="3" cellspacing="0" class="BorderOff" onMouseover="boxOn(this,'Описание 4')" onMouseout="boxOff(this)" width="100" height="30">
<tr>
<td>
<font color="#00FF80" size="2" face="Arial"><a class="mYellow" href="#top" target="_self">Элемент 4</a></font>
</td>
</tr>
</table>
<!-- End Menu Items Tables //-->
<!-- Message Table //-->
<!-- Set the width= of this table the same as the overall width in the <style> //-->
<table cellpadding="1" cellspacing="0" bgcolor="#444444" width="90">
<tr>
<td>
<!-- Set the width= of this table to the overall width
in the style table minus 2x the border width; set
the height= long (large) enough to accommodate your
longest message //-->
<table cellpadding="3" cellspacing="0" bgcolor="#000000" width="88" height="70">
<tr>
<td align="left" valign="top" style="font-family: MS Sans Serif; font-size: 8pt; font-weight: bold; color: #CBA987 " height="70">
<font id="Message"><b>Наведите мышь на элементы меню</b></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- End Message Table //-->
</td>
</tr>
</table>
<p align="center">
<!-- End Outer Container Table //-->
<!-- END OF MENU //-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 14

Меню при клике по рисунку
( повторный клик по рисунку скроет таблицу )

ЛИНКИ 1 | ЛИНКИ 2 | ЛИНКИ 3
Link 1.1 | Link 2.1 | Link 3.1
Link 1.2 | Link 2.2 | Link 3.2
Link 1.3 | Link 2.3 | Link 3.3
Link 1.4 | Link 2.4 | Link 3.4
Link 1.5 | Link 2.5 | Link 3.5
Link 1.6 | Link 2.6 | Link 3.6
Link 1.7 | Link 2.7 | Link 3.7

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE>
#pulldownButton {position: absolute; z-index: 2; left: 60px; top:
      100px;}
#pulldownMenu {position: absolute; z-index: 3; visibility: hidden; left: 5px; top:
      125px;}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
var visibleVar="null";
function init1(){
if (navigator.appName == "Netscape") {
layerStyleRef="layer.";
layerRef="document.layers";
styleSwitch="";
visibleVar="show";
}else{
layerStyleRef="layer.style.";
layerRef="document.all";
styleSwitch=".style";
visibleVar="visible";
}
}
function showHideLayerSwitch(layerName){
if (eval(layerRef+'["'+layerName+'"]'
      +styleSwitch+'.visibility ==
      visibleVar')){
hideLayer(layerName);
}else{
showLayer(layerName);
}
}
function showLayer(layerName){
eval(layerRef+'["'+layerName+'"]' +styleSwitch+'.visibility="visible"');
}
function hideLayer(layerName){
eval(layerRef+'["'+layerName+'"]' +styleSwitch+'.visibility="hidden"');
}
function showLayer1(layerName){
if (eval(layerRef+'["'+layerName+'"]'
      +styleSwitch+'.visibility ==
      visibleVar')){
showLayer(layerName);
}
}
function hideLayer1(layerName){
if (eval(layerRef+'["'+layerName+'"]'
      +styleSwitch+'.visibility ==
      visibleVar')){
hideLayer(layerName);
}
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="init1()">

<div class=text3>
<div id="pulldownButton" >
<a href= "javascript:showHideLayerSwitch ('pulldownMenu');">
<IMG SRC="HELP/clickme1.gif" BORDER=0 width="75" height="22"></a>
</div>
<div id="pulldownMenu" style="width: 305; height: 196">
<table cellpadding=1 width=300 border=0 bgcolor="#66CCFF">
<tr>
<td width="100" align="center"><b><center>ЛИНКИ 1</center></b></td>
<td width="100" align="center"><b><center>ЛИНКИ 2</center></b></td>
<td width="100" align="center"><b><center>ЛИНКИ 3</center></b></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.1</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.1</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.1</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.2</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.2</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.2</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.3</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.3</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.3</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.4</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.4</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.4</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.5</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.5</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.5</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.6</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.6</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.6</a></td>
</tr>
<tr>
<td align="center"><a href="#top" class=linkint>Link 1.7</a></td>
<td align="center"><a href="#top" class=linkint>Link 2.7</a></td>
<td align="center"><a href="#top" class=linkint>Link 3.7</a></td>
</tr>
</table>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

>Белым цветом обозначены данные позиционирования рисунка меню, желтым - выпадающей таблицы. Настройка внешнего вида тааблицы осуществляется обычным образом. Голубым цветом отмечены URL. Поместите на эти места нужные Вам URL.

Нажмите кнопку и скопируйте, при необходимости, примерный рисунок(рисунки) обычным способом. Название рисунка, тем ни менее, придется вписывать самостоятельно. Кроме того, формат рисунка окажется BMP, а не GIF, что не приемлемо для веб. Лучший способ - это скопировать рисунок в буфер обмена прямо из окна файла справки и затем создать из него GIF (JPG) с нужным нажванием в программе Photoshop или подобной. Не забывайте, что применяя любые другие рисунки, отличные от используемых в скрипте, следует обязательно изменить названия рисунков в скрипте, указать реальную директорию их расположения и размеры (последнее не столь важно, но желательно). Всегда помните, что файл справки - это программа, а не HTML документ!


Menu28

Прокручиваемое горизонтальное меню

Содержимое этой таблицы поместите между <BODY> и </BODY>

<style>
body{
overflow-x:hidden;
overflow-y:scroll;
}
</style>

<script language="JavaScript1.2">

/*
Scrollable Menu Links- By Dynamicdrive.com
For full source, TOS, and 100s DTHML scripts
Visit http://dynamicdrive.com
*/

//configure path for left and right arrows
var goleftimage='pointer2.gif'
var gorightimage='pointer.gif'
//configure menu width
var menuwidth=300
//configure scroll speed (1-10), where larger is faster
var scrollspeed=6
//specify menu content
var menucontents='<nobr><a href="http://javashelp.cjb.net">JS Library</a> | <a href="home.htm">Главная страница</a> | <a href="another.htm">Другая страница</a> | <a href="Link.htm">Линки</a> | <a href="Color14.htm">Скрипт ДРОЖАЩИЙ РИСУНОК</a></nobr>'

////NO NEED TO EDIT BELOW THIS LINE////////////

var actualwidth=''
var ns_scroll
function fillup(){
if (document.all){
test2.innerHTML=menucontents
actualwidth=test2.offsetWidth
}
else if (document.layers){
ns_scroll= document.ns_scrollmenu.document.ns_scrollmenu2
ns_scroll.document.write(menucontents)
ns_scroll.document.close()
actualwidth=ns_scroll.document.width
}
}
window.onload=fillup

function moveleft(){
if (document.all&&test2.style.pixelLeft>(menuwidth-actualwidth))
test2.style.pixelLeft-=scrollspeed
else if (document.layers&&ns_scroll.left>(menuwidth-actualwidth))
ns_scroll.left-=scrollspeed
lefttime=setTimeout("moveleft()",50)
}

function moveright(){
if (document.all&&test2.style.pixelLeft<0)
test2.style.pixelLeft+=scrollspeed
else if (document.layers&&ns_scroll.left<0)
ns_scroll.left+=scrollspeed
righttime=setTimeout("moveright()",50)
}

if (document.all||document.layers){
with (document){
write('<table border="0" cellspacing="0" cellpadding="0">')
write('<td valign="middle"><a style="cursor:w-resize" onMouseover="moveleft()" onMouseout="clearTimeout(lefttime)"><img src="'+goleftimage+'"border=0></a>&nbsp;</td>')
write('<td valign="top">')
if (document.all){
write('<span style="position:relative;width:'+menuwidth+';">')
write('<span style="position:absolute; width:'+menuwidth+';clip:rect(0 '+menuwidth+' auto 0)">')
write('<span id="test2" style="position:absolute;left:0;top:0">')
write('</span></span></span>')
}
else if (document.layers){
write('<ilayer width='+menuwidth+' name="ns_scrollmenu">')
write('<layer name="ns_scrollmenu2" left=0 top=0></layer></ilayer>')
}
write('</td>')
write('<td valign="middle">&nbsp;<a style="cursor:e-resize" onMouseover="moveright()" onMouseout="clearTimeout(righttime)">')
write('<img src="'+gorightimage+'"border=0></a>')
write('</td></table>')
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

pointer2.gif
pointer.gif


Menu32

Профессиональное выдвигающееся меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

/*
Maximus' Slide-In Menu (By Maximus at http://absolutegb.com/maximus/)
Submitted and featured on Dynamicdrive.com
For full source, usage terms, and 100's more DHTML scripts, visit http://www.dynamicdrive.com
*/

#ssm2 A {
color:black;
text-decoration:none;
font-size:12;
font-family:verdana;
}

#ssm2 A:hover {
color:red;
}

-->
</style>

<script language="javascript1.2">
function MM_displayStatusMsg(msgStr) {
status=msgStr;
document.MM_returnValue = true;
}

function highlight(x){
document.forms[x].elements[0].focus()
document.forms[x].elements[0].select()
}

function MM_jumpMenu(targ,selObj,restore){
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

var NS
IE=document.all;
NS=document.layers;

hdrFontFamily="Verdana";
hdrFontSize="2";
hdrFontColor="white";
hdrBGColor="#666666";
linkFontFamily="Verdana";
linkFontSize="2";
linkBGColor="white";
linkOverBGColor="#CCCCCC";
linkTarget="_top";
YOffset=0;
      //Расстояние от верхнего края окна
staticYOffset=20;
menuBGColor="black";
menuIsStatic="no";
menuHeader="Main Index"
menuWidth=150; // Must be a multiple of 5!
staticMode="advanced"
barBGColor="#1298fd";
barFontFamily="Verdana";
barFontSize="2";
barFontColor="white";
barText="MENU";

function moveOut() {
if (window.cancel) {
cancel="";
}

if (window.moving2) {
clearTimeout(moving2);
moving2="";
}
if ((IE && ssm2.style.pixelLeft<0)||(NS && document.ssm2.left<0)) {
if (IE) {ssm2.style.pixelLeft += (5%menuWidth);
}
if (NS) {
document.ssm2.left += (5%menuWidth);
}

moving1 = setTimeout('moveOut()', 5)
}
else {
clearTimeout(moving1)
}
};

function moveBack() {
cancel = moveBack1()
}
function moveBack1() {
if (window.moving1) {
clearTimeout(moving1)
}

if ((IE && ssm2.style.pixelLeft>(-menuWidth))||(NS && document.ssm2.left>(-150))) {
if (IE) {ssm2.style.pixelLeft -= (5%menuWidth);
}
if (NS) {
document.ssm2.left -= (5%menuWidth);
}
moving2 = setTimeout('moveBack1()', 5)}
else {
clearTimeout(moving2)
}
};

lastY = 0;
function makeStatic(mode) {
if (IE) {winY = document.body.scrollTop;var NM=ssm2.style
}
if (NS) {winY = window.pageYOffset;var NM=document.ssm2
}
if (mode=="smooth") {
if ((IE||NS) && winY!=lastY) {
smooth = .2 * (winY - lastY);
if(smooth > 0) smooth = Math.ceil(smooth);
else smooth = Math.floor(smooth);
if (IE) NM.pixelTop+=smooth;
if (NS) NM.top+=smooth;
lastY = lastY+smooth;
}
setTimeout('makeStatic("smooth")', 1)
}

else if (mode=="advanced") {
if ((IE||NS) && winY>YOffset-staticYOffset) {
if (IE) {NM.pixelTop=winY+staticYOffset
}
if (NS) {NM.top=winY+staticYOffset
}
}
else {
if (IE) {NM.pixelTop=YOffset
}
if (NS) {NM.top=YOffset-7
}
}
setTimeout('makeStatic("advanced")', 1)
}
}

function init() {
if (IE) {
ssm2.style.pixelLeft = -menuWidth;
ssm2.style.visibility = "visible"
}
else if (NS) {
document.ssm2.left = -menuWidth;
document.ssm2.visibility = "show"
}
else {
alert('Choose either the "smooth" or "advanced" static modes!')
}
}

function MM_displayStatusMsg(msgStr) {
status=msgStr;
document.MM_returnValue = true;
}
</script>
</head>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY onload="init()">

//Поместите этот скрипт сразу после тэгов <BODY>
<script language="javascript1.2">
if (IE) {document.write('<DIV ID="ssm2" style="visibility:hidden;Position : Absolute ;Left : 0px ;Top : '+YOffset+'px ;Z-Index : 20;width:1px" onmouseover="moveOut()" onmouseout="moveBack()">')}
if (NS) {document.write('<LAYER visibility="hide" top="'+YOffset+'" name="ssm2" bgcolor="'+menuBGColor+'" left="0" onmouseover="moveOut()" onmouseout="moveBack()">')}
tempBar=""
for (i=0;i<barText.length;i++) {
tempBar+=barText.substring(i, i+1)+"<BR>"}
document.write('<table border="0" cellpadding="0" cellspacing="1" width="'+(menuWidth+16+2)+'" bgcolor="'+menuBGColor+'"><tr><td bgcolor="'+hdrBGColor+'" WIDTH=
 "'+menuWidth+'">&nbsp;<font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'">
 <b>'+menuHeader+'</b></font></td><td align="center" rowspan="100" width="16" bgcolor="'+barBGColor+'">
 <p align="center"><font face="'+barFontFamily+'" Size="'+barFontSize+'" COLOR="'+barFontColor+'">
 <B>'+tempBar+'</B></font></p></TD></tr>')
function addItem(text, link, target) {
if (!target) {target=linkTarget}
document.write('<TR><TD BGCOLOR="'+linkBGColor+'" onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=
 \''+linkBGColor+'\'"><ILAYER><LAYER onmouseover="bgColor=\''+linkOverBGColor+'\'" onmouseout="bgColor=
 \''+linkBGColor+'\'" WIDTH="100%"><FONT face="'+linkFontFamily+'" Size="'+linkFontSize+'">&nbsp;<A HREF="'+link+'" target=
 "'+target+'" CLASS="ssm2Items">'+text+'</A> </FONT></LAYER></ILAYER></TD></TR>')}
function addHdr(text) {
document.write('<tr><td bgcolor="'+hdrBGColor+'" WIDTH="140">&nbsp;<font face="'+hdrFontFamily+'" Size="'+hdrFontSize+'" COLOR="'+hdrFontColor+'">
 <b>'+text+'</b></font></td></tr>')}

//Only edit the script between HERE

addItem('Dynamic Drive', 'http://www.dynamicdrive.com', '');
addItem('What\'s New', 'http://www.dynamicdrive.com/new.htm', '');
addItem('What\'s Hot', 'http://www.dynamicdrive.com/hot.htm', '');
addItem('Forum', 'http://wsabstract.com/cgi-bin/Ultimate.cgi', '');
addItem('FAQs', 'http://www.dynamicdrive.com/faqs.htm', '');
addItem('Submit', 'http://www.dynamicdrive.com/submitscript.htm', '');
addHdr('External Links');
addItem('Website Abstraction', 'http://wsabstract.com', '_blank');
addItem('Freewarejava', 'http://freewarejava.com', '_blank');
addItem('DHTML Zone', 'http://www.dhtml-zone.com/', '_blank');
addItem('Active-X.com', 'http://www.active-x.com', '_blank');
addItem('Web Review', 'http://www.webreview.com', '_blank');
addItem('JS Help', 'http://javashelp.cjb.net', '_blank');
 //   Голубым цветом отмечен target . Если
 _self , то просто оставить ковычки пустыми

// and HERE! No more!

document.write('<tr> <td bgcolor="'+hdrBGColor+'"> <font size="0" face="Arial">&nbsp;
 </font></td></TR></table>')
if (IE) {document.write('</DIV>')}
if (NS) {document.write('</LAYER>')}
if ((IE||NS) && (menuIsStatic== "yes"&&staticMode)) {makeStatic(staticMode);}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu42

Прилетающее по частям меню
Замените "#top" на адреса ваших линков, а "Линк 1,2,3 и т.д." на название линков. Отрегулируйте конечное положение меню на странице с помощью выделенных белым значений.

Линк 1!
Линк 2!
Линк 3!
Линк 4!
Линк 5!
Линк 6!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/utility/javahead.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function buildMenu() {
speed=35;
topdistance=100; //конечное положение от верхнего края
items=6;
y=-50;
ob=1;
if (navigator.appName == "Netscape") {
v=".top=",dS="document.",sD="";
}
else {
v=".pixelTop=",dS="",sD=".style";
}
}
function scrollItems() {
if (ob<items+1) {
objectX="object"+ob; y+=10; eval(dS + objectX + sD + v + y);
if (y<topdistance) setTimeout("scrollItems()",speed);
else y=-50, topdistance+=40, ob+=1, setTimeout("scrollItems()",speed);
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="buildMenu(), scrollItems();">

<div id="object1" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 1!</a>
</center></td>
</table>
</div>

<div id="object2" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 2!</a>
</center></td>
</table>
</div>

<div id="object3" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 3!</a>
</center></td>
</table>
</div>

<div id="object4" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 4!</a>
</center></td>
</table>
</div>

<div id="object5" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 5!</a>
</center></td>
</table>
</div>

<div id="object6" style="position:absolute; visibility:show; left:25px; top:-50px; z-index:2"><!--Расстояние от левого края-->
<table border=1 width=150 bgcolor=80FFFF>
<td><center>
<a href=#top>Линк 6!</a>
</center></td>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu46

Меню правого клика
Очень короткий скрипт для столь впечатляющего результата. Кликните правой кнопкой мыши где-нибудь на странице. Скрипт позволяет даже менять скины для меню! (выделено белым цветом в первой таблице). К сожалению, он работает только с IE5+. Похожая по алгоритму версия такого скрипта, пригодного для всех видов браузеров, примерно раз в 15 больше по объему и потому здесь не приводится. Особо настойчивым вебмастерам универсальный скрипт может быть выслан по email.

Копирование кода из таблиц следует производить в соответствии с рекомендациями внизу страницы.

Назад
На Главную
На Другую
Демо страница
Наши Линки
Почта

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Web Site:  http://www.dynamicdrive.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var menuskin = "skin1"; // skin0,
      или skin1
var display_url = 0; // Показывать URL в статусной
      строке - 1, не показывать - 0
function showmenuie5() {
var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;
if (rightedge < ie5menu.offsetWidth)
ie5menu.style.left = document.body.scrollLeft + event.clientX - ie5menu.offsetWidth;
else
ie5menu.style.left = document.body.scrollLeft + event.clientX;
if (bottomedge < ie5menu.offsetHeight)
ie5menu.style.top = document.body.scrollTop + event.clientY - ie5menu.offsetHeight;
else
ie5menu.style.top = document.body.scrollTop + event.clientY;
ie5menu.style.visibility = "visible";
return false;
}
function hidemenuie5() {
ie5menu.style.visibility = "hidden";
}
function highlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
if (display_url)
window.status = event.srcElement.url;
}
}
function lowlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
}
}
function jumptoie5() {
if (event.srcElement.className == "menuitems") {
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url, event.srcElement.getAttribute("target"));
else
window.location = event.srcElement.url;
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="ie5menu" class="skin0" onMouseover="highlightie5()" onMouseout="lowlightie5()" onClick="jumptoie5();">
<div class="menuitems" url="javascript:history.back();">Назад</div>
<div class="menuitems" url="home.htm">На Главную</div>
<hr>
<div class="menuitems" url="another.htm">На Другую</div>
<div class="menuitems" url="popdemo.htm">Демо страница</div>
<hr>
<div class="menuitems" url="Link.htm">Наши Линки</div>
<div class="menuitems" url="mailto:eugenezz@yandex.ru?Subject=Меню правого клика">Почта</div>
</div>
<script language="JavaScript1.2">
if (document.all && window.print) {
ie5menu.className = menuskin;
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu56

POP-UP МЕНЮ
КЛИКНИТЕ ПРАВОЙ КНОПКОЙ МЫШИ ГДЕ-НИБУДЬ В ДОКУМЕНТЕ...

Кликнули? Если у Вас MSIE 5.5, то Вы увидите великолепное меню, сильно отличающееся от меню правого клика по умолчанию. Здесь есть картинки, дополнительные функции... Кроме того, это меню раскрывается даже вне окна браузера если было активировано слишком близко от его края.... Поместите указанный код так, как предложенно в таблице, адаптируйте текст по своему усмотрению и не забудьте сохранить в директории с этим документом рисунки, находящиеся в zip архиве (см. внизу страницы).

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <!--Insert the following into the BODY of your page-->

<script language="JavaScript1.2">
<!--

/*
Context Menu script II (By Dheera Venkatraman at dheera@usa.net)
Submitted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.
 appVersion.substring(window.navigator. appVersion.indexOf("MSIE")+5,window.
 navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie) {
var html="";
html+='<TABLE STYLE="border:1pt solid #808080" BGCOLOR="#CCCCCC" WIDTH="140" HEIGHT="220" CELLPADDING="0" CELLSPACING="1">';
html+='<ST'+'YLE TYPE="text/css">\n';
html+='a:link {text-decoration:none;font-family:Arial;font-size:8pt;}\n';
html+='a:visited {text-decoration:none;font-family:Arial;font-size:8pt;}\n';
html+='td {font-size:8pt;}\n';
html+='</ST'+'YLE>\n';
html+='<SC'+'RIPT LANGUAGE="JavaScript">\n';
html+='\n<'+'!--\n';
html+='window.onerror=null;\n';
html+='/'+' -'+'->\n';
html+='</'+'SCRIPT>\n';
html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i0" ONMOUSEOVER="document.all.i0.style.background=\'#CFD6E8\';
 document.all.i0.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i0.style.background=\'#CCCCCC\';
 document.all.i0.style.border=\'1pt solid #CCCCCC\';" ONCLICK="window.history.go(-1);">&nbsp;<IMG SRC="menuback.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Back</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i1" ONMOUSEOVER="document.all.i1.style.background=\'#CFD6E8\';
 document.all.i1.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i1.style.background=\'#CCCCCC\';
 document.all.i1.style.border=\'1pt solid #CCCCCC\';" ONCLICK="window.history.go(1);">&nbsp;<IMG SRC="menuforward.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Forward</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC"><IMG SRC="pixel.gif" WIDTH="130" HEIGHT="1"></TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i4" ONMOUSEOVER="document.all.i4.style.background=\'#CFD6E8\';
 document.all.i4.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i4.style.background=\'#CCCCCC\';
 document.all.i4.style.border=\'1pt solid #CCCCCC\';" ONCLICK= "window.parent.external.AddFavorite(window.top.
 location.href,window.top. document.title);">&nbsp;<IMG SRC="menufavorite.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Add to Favorites...</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i5" ONMOUSEOVER="document.all.i5.style.background=\'#CFD6E8\';
 document.all.i5.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i5.style.background=\'#CCCCCC\';
 document.all.i5.style.border=\'1pt solid #CCCCCC\';" ONCLICK="window.parent.location=
 \'view-source:\'+window.parent.location.href;">&nbsp;<IMG SRC="menusource.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;View Source</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC"><IMG SRC="pixel.gif" WIDTH="130" HEIGHT="1"></TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i6" ONMOUSEOVER="document.all.i6.style.background=\'#CFD6E8\';
 document.all.i6.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i6.style.background=\'#CCCCCC\';
 document.all.i6.style.border=\'1pt solid #CCCCCC\';" ONCLICK="window.print();">&nbsp;<IMG SRC="menuprint.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Print</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i7" ONMOUSEOVER="document.all.i7.style.background=\'#CFD6E8\';
 document.all.i7.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i7.style.background=\'#CCCCCC\';
 document.all.i7.style.border=\'1pt solid #CCCCCC\';" ONCLICK="window.parent.location.
 href=window.parent.location.href;">&nbsp;<IMG SRC="menurefresh.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Refresh</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC"> <IMG SRC="pixel.gif" WIDTH="130" HEIGHT="1"></TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i8" ONMOUSEOVER="document.all.i8.style.background=\'#CFD6E8\';
 document.all.i8.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i8.style.background=\'#CCCCCC\';
 document.all.i8.style.border=\'1pt solid #CCCCCC\';" ONCLICK="if(window.parent.document.body.style.zoom!=0) window.parent.document.body.style.zoom*=1.6; else window.parent.document.body.style.zoom=1.6;">&nbsp;
 <IMG SRC="menuzoom.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Zoom In</TD></TR>';

html+='<TR><TD STYLE="border:1pt solid #CCCCCC" ID="i9" ONMOUSEOVER="document.all.i9.style.background=\'#CFD6E8\';
 document.all.i9.style.border=\'1pt solid #737B92\';" ONMOUSEOUT="document.all.i9.style.background=\'#CCCCCC\';
 document.all.i9.style.border=\'1pt solid #CCCCCC\';" ONCLICK="if(window.parent.document.body.style.zoom!=0) window.parent.document.body.style.zoom*=0.625; else window.parent.document.body.style.zoom=0.625;">&nbsp;<IMG SRC="menuzoom.gif" WIDTH="12" HEIGHT="12" BORDER="0" HSPACE="0" VSPACE="0" ALIGN="absmiddle">&nbsp;Zoom Out</TD></TR>';

html+='</TABLE>';

var oPopup = window.createPopup();

}

function dopopup(x,y) {
if(isie) {
var oPopupBody = oPopup.document.body;
oPopupBody.innerHTML = html;
oPopup.show(x, y, 140, 220, document.body);
}
}

function click(e) {
if(isie) {
if(document.all) {
if(event.button==2||event.button==3) {
dopopup(event.x-1,event.y-1);
}
}
}
}

if(isie) {
document.oncontextmenu = function() { dopopup(event.x,event.y);return false; }
document.onmousedown = click;
}
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: menu56.zip


Menu 6

РАЗВАЛИВАЮЩЕЕСЯ МЕНЮ

Каждое оглавление имеет несколько подменю. При повторном клике по оглавлению подменю складываются. Если Вы неопытный вебмастер, то для изменения текста и линков используйте FrontPage или Cold Fusion

► ГЛАВНОЕ МЕНЮ
► Home
► Дата и Время
► Часы
► Прокрутки (Scrollers)
► Другая страница
► Дата Обновления
► Линки

► ЕЩЕ ОДНО МЕНЮ
► Home
► Дата и Время
► Часы
► Прокрутки (Scrollers)
► Другая страница
► Дата Обновления
► Линки

► И ЕЩЕ ОДНО МЕНЮ
► Home
► Дата и Время
► Часы
► Прокрутки (Scrollers)
► Другая страница
► Дата Обновления
► Линки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
function clickHandler()
{ var targetId, srcElement,
targetElement; srcElement = window.event.srcElement;
if (srcElement.className == "Outline") {
targetId = srcElement.id + "details";
targetElement = document.all(targetId);
if (targetElement.style.display == "none") {
targetElement.style.display = "";
} else {
targetElement.style.display = "none";
} }} document.onclick = clickHandler;
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

</p>
<BR>
<a id="Out0" class="Outline" style="cursor: hand; color: #000000; font-weight: bold">
&#9658; ГЛАВНОЕ МЕНЮ</a>
<div id=Out0details style="display:None; position:relative; left:9;">
<a href="home.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Home</a><br>
<a href="DT1.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Дата и Время</a><br>
<a href="clocks1.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Часы</a><br>
<a href="Sc2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Прокрутки (Scrollers)</a><br>
<a href="another.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Другая страница</a><br>
<a href="MD2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Дата Обновления</a><br>
<a href="Link.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Линки</a>
</div><BR>
<a id="Out1" class="Outline" style="cursor: hand; color: #000000; font-weight: bold">
&#9658; ЕЩЕ ОДНО МЕНЮ</a>
<div id=Out1details style="display:None; position:relative; left:9;">
<a href="home.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Home</a><br>
<a href="DT1.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Дата и Время</a><br>
<a href="clocks1.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Часы</a><br>
<a href="Sc2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Прокрутки (Scrollers)</a><br>
<a href="another.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Другая страница</a><br>
<a href="MD2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Дата Обновления</a><br>
<a href="Link.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Линки</a>
</div><BR>
<a id="Out2" class="Outline" style="cursor: hand; color: #000000; font-weight: bold">
&#9658; И ЕЩЕ ОДНО МЕНЮ</a>
<div id=Out2details style="display:None; position:relative; left:9;">
<a href="home.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Home</a><br>
<a href="DT1.htm" target="_self" style="font-family: Courier; font-size: 8pt; text-decoration: none">&#9658;
Дата и Время</a><br>
<a href="clocks1.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Часы</a><br>
<a href="Sc2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Прокрутки (Scrollers)</a><br>
<a href="another.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Другая страница</a><br>
<a href="MD2.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Дата Обновления</a><br>
<a href="Link.htm" target="_self" style="font-size: 8pt; font-family: Courier; text-decoration: none">&#9658;
Линки</a>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню пользуйтесь кнопкой BACK для возврата к исходной странице.


Menu17

Меню - "рулетка"

Нажмите "Spin wheel"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>

/*
Wheel of links script
By Website Abstraction (http://wsabstract.com)
*/

var count=0
function dothis(){
setTimeout ("document.wheel. wheel2.selectedIndex =1000",100)
setTimeout ("document.wheel. wheel2.selectedIndex =count",200)
setTimeout ("document.wheel. wheel2.selectedIndex =1000",300)
setTimeout ("document.wheel. wheel2.selectedIndex =count",400)
setTimeout ("document.wheel. wheel2.selectedIndex =1000",500)
setTimeout ("document.wheel. wheel2.selectedIndex =count",600)
setTimeout ("window.location=document. wheel.wheel2.options [document.wheel.wheel2. selectedIndex].value",800)
}

function animate(){
var countfinal=Math.round(Math.random()* (document.wheel.wheel2.length-1))
document.wheel.wheel2.selectedIndex =count
if (count==countfinal){
dothis()
return
}
if (count<document.wheel.wheel2.length)
count++
else
count=0
setTimeout("animate()",50)
}

</script>

<form method="POST" name="wheel">
<div align="center"><center><p><select name="wheel2" size="8">
<option value="home.htm">HOME</option>
<option value="another.htm">Другая страница</option>
<option value="#top">Нет никакой страницы</option>
<option value="Link.htm">Еще одна страница</option>
<option value="#top">Нет никакой страницы</option>
</select></p>
</center></div><div align="center"><center><p><input type="button" value="Spin wheel!"
name="B1" onClick="animate()"></p>
</center></div>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu52

Ручное управление
Просто наведите курсор на выступающую часть меню и вытяните его. Точно так же задвиньте. Удобно.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#slidemenubar, #slidemenubar2{
cursor:hand;
position:absolute;
left:-155px;
width:160px;
top:170px;
border:1.5px solid green;
background-color:lightyellow;
layer-background-color:lightyellow;
font:bold 12px Verdana;
line-height:20px;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Sliding Menu Bar Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all)
document.write('<div id="slidemenubar2" style="left:-150">')
</script>
<p>
<p>
<layer id="slidemenubar">
<script language="JavaScript1.2">
var sitems=new Array()
var sitemlinks=new Array()

//extend or shorten this list
sitems[0]="Линк 1"
sitems[1]="Линк 2"
sitems[2]="Линк 3"
sitems[3]="Линк 4"
sitems[4]="Линк 5"
sitems[5]="Линк 6"
sitems[6]="Линк 7"
sitems[7]="Линк 8"
sitems[8]="Линк 9"
sitems[9]="Линк 10"
sitems[10]="Линк 11"
sitems[11]="Линк 12"
sitems[12]="Линк 13"

//These are the links pertaining to the above text.
sitemlinks[0]="#top"
sitemlinks[1]="#top"
sitemlinks[2]="#top"
sitemlinks[3]="#top"
sitemlinks[4]="#top"
sitemlinks[5]="#top"
sitemlinks[6]="#top"
sitemlinks[7]="#top"
sitemlinks[8]="#top"
sitemlinks[9]="#top"
sitemlinks[10]="#top"
sitemlinks[11]="#top"
sitemlinks[12]="#top"

for (i=0;i<=sitems.length-1;i++)
document.write('<a href='+sitemlinks[i]+'>'+sitems[i]+'</a><br>')
</script>
</layer>
<script language="JavaScript1.2">

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",400)
}
window.onload=regenerate2
if (document.all){
document.write('</div>')
themenu=document.all.slidemenubar2.style
rightboundary=0
leftboundary=-150
}
else{
themenu=document.layers.slidemenubar
rightboundary=150
leftboundary=10
}
var dragapproved=false
var x1,x2
if (document.layers)
themenu.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)

function move(e){
if (document.all&&event.button==1&&dragapproved){
if(temp1+event.clientX-x1>leftboundary)
themenu.pixelLeft=Math.min(rightboundary,temp1+event.clientX-x1)
else
themenu.pixelLeft=Math.max(leftboundary,temp1+event.clientX-x1)
}

else if (document.layers){
if(themenu.left+e.x-x2>leftboundary)
themenu.left=Math.min(rightboundary+2,themenu.left+e.x-x2)
else
themenu.left=Math.max(leftboundary-2,themenu.left+e.x-x2)
}
}

function drags(e){
if (document.all){
dragapproved=true
temp1=themenu.pixelLeft
x1=event.clientX
document.onmousemove=move
}
else{
themenu.captureEvents(Event.MOUSEMOVE)
x2=e.x
}
}

function stopit(){
if (document.all){
dragapproved=false
}
if (document.layers)
themenu.releaseEvents(Event.MOUSEMOVE)
}

if (document.all){
document.all.slidemenubar2.onmousedown=drags
document.all.slidemenubar2.onmouseup=new Function("dragapproved=false")
document.onselectstart=new Function("return false")
}
else if (document.layers){
themenu.onmousedown=drags
themenu.onmousemove=move
themenu.onmouseup=stopit
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu43

Меню с кнопкой и комментарием-подтверждением
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function go_to_station() {
if (document.stationform.stationselect.options[0].selected) {
window.location.href = "http://www.abctelevision.com";}
else if (document.stationform.stationselect.options[1].selected) {
window.location.href = "http://www.cbs.com";}
else if (document.stationform.stationselect.options[2].selected) {
window.location.href = "http://www.nbc.com";}
else if (document.stationform.stationselect.options[3].selected) {
window.location.href = "http://www.foxnetwork.com";}
else if (document.stationform.stationselect.options[4].selected) {
window.location.href = "http://www.filmzone.com";}
else if (document.stationform.stationselect.options[5].selected) {
window.location.href = "http://www.discovery.com";}
else if (document.stationform.stationselect.options[6].selected) {
window.location.href = "http://www.cs.brandeis.com";}
else if (document.stationform.stationselect.options[7].selected) {
window.location.href = "http://www.qvc.com";}
else if (document.stationform.stationselect.options[8].selected) {
window.location.href = "http://www.historychannel.com";}
else if (document.stationform.stationselect.options[9].selected) {
window.location.href = "http://www.mtv.com";}
else if (document.stationform.stationselect.options[10].selected) {
window.location.href = "http://www.cnn.com";}
else if (document.stationform.stationselect.options[11].selected) {
window.location.href = "http://www.aetv.com";}
else if (document.stationform.stationselect.options[12].selected) {
window.location.href = "http://www.amctv.com";}
else if (document.stationform.stationselect.options[13].selected) {
window.location.href = "http://www.bravotv.com";}
else if (document.stationform.stationselect.options[14].selected) {
window.location.href = "http://www.c-span.org";}
else if (document.stationform.stationselect.options[15].selected) {
window.location.href = "http://www.comcentral.com";}
else if (document.stationform.stationselect.options[16].selected) {
window.location.href = "http://espnet.sportszone.com";}
else if (document.stationform.stationselect.options[17].selected) {
window.location.href = "http://www.fxnetworks.com";}
else if (document.stationform.stationselect.options[18].selected) {
window.location.href = "http://www.hbohomevideo.com";}
else if (document.stationform.stationselect.options[19].selected) {
window.location.href = "http://www.scifi.com";}
else if (document.stationform.stationselect.options[20].selected) {
window.location.href = "http://showtimeonline.com";}
else if (document.stationform.stationselect.options[21].selected) {
window.location.href = "http://vh1.com";}
else if (document.stationform.stationselect.options[22].selected) {
window.location.href = "http://www.weather.com";}
else if (document.stationform.stationselect.options[23].selected) {
window.location.href = "http://www.disneychannel.com";}
return true;
}
function textValue() {
var stationInteger, stationString
stationInteger=document.stationform.stationselect.selectedIndex
stationString=document.stationform.stationselect.options[stationInteger].text
document.stationform.stationtext.value = "Перейти на " + stationString +"!"
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM name="stationform">
<SELECT name="stationselect" onChange="textValue()" multiple size="5">
<option>ABC
<option>CBS
<option>NBC
<option>Fox
<option>Cartoon Network
<option>Discovery Channel
<option>Warner Brothers Network
<option>QVC
<option>History Channel
<option>MTV
<option>CNN
<option>A&E
<option>American Movie Classics
<option>Bravo
<option>C-SPAN
<option>Comedy Central
<option>ESPN
<option>fX
<option>HBO
<option>Sci-Fi Channel
<option>Showtime
<option>VH-1
<option>Weather Channel
<option>Disney Channel
</SELECT>
<br>
<p>
<input type="button" name="stationbutton" value="Перейти" onClick="go_to_station()">
<p>
<input type="text" name="stationtext" value="" size="35" maxlength="35" style="background-color: #C0C0C0; color: #800000; font-size: 1em; font-weight: bold; border-style: solid; border-width: 0">
<p>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 1

Простые JavaScript часы
(в форме)

(европейский вид)

Как звали брата старика Хоттабыча?
Как звали самого старика Хоттабыча?
Как звали "хозяина" старика Хоттабыча?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

      <script language="JavaScript">

<!--
var content=new Array()
//Измените
текст в соответствии с Вашими вопросами (темами)
расположенными в нижней таблице.
Количество рабочих пар топик-комментарий
не ограничено.
content[0]='<br><big><b>ОМАР ЮСУФ ИБН ХОТТАБ</b></big>
      <br> (брательник старика Хоттабыча)'
content[1]='<br><big><b> ГАСАН АБДУРАХМАН ИБН ХОТТАБ</b></big><br>(сам старикан Хоттабыч)'
content[2]='<br><big><b>ВОЛЬКА КОСТЫЛЬКОВ</b></big><br>
      (хозяин старикашки Хоттабыча)'
content[3]='<br><br>
function regenerate(){
window.location.reload()
}

function regenerate2(){
if (document.layers)
setTimeout ("window.onresize=regenerate",450)
}

function changetext(whichcontent) {
if (document.all)
descriptions.innerHTML= '<font face="Verdana"><small>' +whichcontent+'<font></small>'
else if (document.layers){
document.d1.document. d2.document.write ('<font face="Verdana"> <small>'+whichcontent+'</small>
      </font>')
document.d1.document.d2. document.close()
}
}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<div id="scriptmenu" style="line-height: 20px; width: 720; height: 100"><p><strong><font face="Verdana">
<a href="#top" onMouseover="changetext(content[0])"
     onMouseout="changetext(content[3])"  style="font-size: 12pt; font-family: Arial"><small>Как звали брата старика Хоттабыча?</small></a><br>
<a href="#top" onMouseover="changetext(content[1])" onMouseout="changetext(content[3])" style="font-size: 12pt; font-family: Arial"><small>Как звали самого старика Хоттабыча?</small></a><br>
<a href="#top" onMouseover="changetext(content[2])"
     onMouseout="changetext(content[3])"  style="font-size: 12pt; font-family: Arial"><small>Как звали "хозяина" старика Хоттабыча?</small></a><br>

<TABLE align="right">
<ilayer id="d1" width="155" height="155">
<td valign="top" align="center">
<layer id="d2" width="155" height="155">
<div id="descriptions" align="left" style="position: absolute; left: 9; top: 181; width: 357; height: 19">
</div>
</ilayer>
</layer>
</TABLE>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

Если Вы удалите строки выделенные белым цветом (в обеих таблицах), то возникающие при наведении мыши комментарии пропадать не будут до тех пор, пока Вы вновь не наведете мышь на какой-нибудь вопрос (заголовок). Желтым выделены места, куда следует помещать нужный URL.


Menu57

Меню с подменю из линков и рисунков

Кликните по заголовку меню для появления подменю.

ЗАГОЛОВОК 1

Линк 1 Линк 2 Линк 3

ЗАГОЛОВОК 2

ЛИНК 4 ЛИНК 5 ЛИНК 6

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
<!--
var head="display:''"
function doit(header){
var head=header.style
if (head.display=="none")
head.display=""
else
head.display="none"
}
//-->

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
Кликните по заголовку меню для появления подменю.<BR><BR>
<h3 style="cursor:hand" onClick="doit(document.all[this.sourceIndex+1])">нЕОА 1</h3>
<span style="display:none">

<A HREF="#top">Линк 1</A>
<A HREF="#top">Линк 2</A>
<A HREF="#top">Линк 3</A>
</span>

<h3 style="cursor:hand" onClick="doit(document.all[this.sourceIndex+1])">нЕОА 2</h3>

<span style="display:none">

<a href="#top"><img src="fift1.gif" border="0"></A>
<a href="#top"><img src="fift2.gif" border="0"></A>
<a href="#top"><img src="fift3.gif" border="0"></A>
</span>

</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu34

Меню - селектор
 (в форме)

Выберите:
Выбрано:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Kathi O'Shea (Kathi.O'Shea@internet.com) -->
<!-- Web Site: http://www.web-savant.com/users/kathi/asp -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveOver()
{
var boxLength = document.choiceForm.choiceBox.length;
var selectedItem = document.choiceForm.available.selectedIndex;
var selectedText = document.choiceForm.available.options[selectedItem].text;
var selectedValue = document.choiceForm.available.options[selectedItem].value;
var i;
var isNew = true;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
thisitem = document.choiceForm.choiceBox.options[i].text;
if (thisitem == selectedText) {
isNew = false;
break;
}
}
}
if (isNew) {
newoption = new Option(selectedText, selectedValue, false, false);
document.choiceForm.choiceBox.options[boxLength] = newoption;
}
document.choiceForm.available.selectedIndex=-1;
}
function removeMe() {
var boxLength = document.choiceForm.choiceBox.length;
arrSelected = new Array();
var count = 0;
for (i = 0; i < boxLength; i++) {
if (document.choiceForm.choiceBox.options[i].selected) {
arrSelected[count] = document.choiceForm.choiceBox.options[i].value;
}
count++;
}
var x;
for (i = 0; i < boxLength; i++) {
for (x = 0; x < arrSelected.length; x++) {
if (document.choiceForm.choiceBox.options[i].value == arrSelected[x]) {
document.choiceForm.choiceBox.options[i] = null;
}
}
boxLength = document.choiceForm.choiceBox.length;
}
}
function saveMe() {
var strValues = "";
var boxLength = document.choiceForm.choiceBox.length;
var count = 0;
if (boxLength != 0) {
for (i = 0; i < boxLength; i++) {
if (count == 0) {
strValues = document.choiceForm.choiceBox.options[i].value;
}
else {
strValues = strValues + "\n" + document.choiceForm.choiceBox.options[i].value;
}
count++;
}
}
if (strValues.length == 0) {
alert("Вы ничего не выбрали.");
}
else {
alert("Вами выбраны следующие пункты меню:\r\n" + strValues);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="choiceForm">
<table border=0>
<tr>
<td valign="top" width=175>
Выберите:
<br>
<select name="available" size=10 onchange="moveOver();">
<option value="Company News">Company News
<option value="Industry News">Industry News
<option value="Product Updates">Product Updates
<option value="Product Specifications">Product Specifications
<option value="Order History">Order History
<option value="Order Status">Order Status
<option value="Contacts">Contacts
<option value="Calendar of Events">Calendar of Events
<option value="Scheduler">Scheduler
<option value="Notes">Notes
</select>
</td>
<td valign="top">
Выбрано:
<br>
<select multiple name="choiceBox" style="width:150;" size="10">
</select>
</td>
</tr>
<tr>
<td colspan=2 height=10>
<input type="button" value="Удалить" onclick="removeMe();">
<input type="button" value="Доставить выбранное" onclick="saveMe();">
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu27

Следующее за скроллингом меню

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE TYPE="text/css">
<!--

.menuh {
BORDER-COLOR : #FFFF99 ;
cursor : hand ;
Border-Left : #FFFF99 ;
Border-Top : #FFFF99 ;
Padding-Left : 1px ;
Padding-Top : 1px ;
Background-Color : #FFFF99 ;
}
.menu {
Background-Color : white ;
}
.home {
cursor : hand ;
}

.menulinks{
text-decoration:none;
}
//-->
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT Language="Javascript1.2">
<!--

/*
Static menu script III (By maXimus, maximus@nsimail.com, http://absolutegb.com/maximus/)
Modified slightly/ permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//configure below variable for menu width, position on page
var menuwidth=110
var offsetleft=0
var offsettop=0

function makeStatic() {
if (document.all) {object1.style.pixelTop=document.body.scrollTop+offsettop}
else{eval(document.object1.top= eval(window.pageYOffset+offsettop));}
setTimeout("makeStatic()",0);
}

if (document.all) {document.write('<DIV ALIGN="CENTER" ID="object1" STYLE="Position:absolute; Top:20; Left:'+offsetleft+'; Z-Index:5;cursor:hand;background-color:black"><TABLE BORDER="1" width="'+menuwidth+'" CELLPADDING="0" CELLSPACING="0" BORDERCOLOR="black" bgcolor="white">')}
else if (document.layers){ document.write('<LAYER top="20" name="object1" left="'+offsetleft+'" BGCOLOR=black><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="1"><TR><TD><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" width="'+menuwidth+'">')}

if (document.all||document.layers)
document.write('<TR><TD BGCOLOR="#3399FF" BORDERCOLORDARK="#99CCFF" BORDERCOLORLIGHT="#003399"><P ALIGN=CENTER><FONT SIZE="4" FACE=ARIAL>МЕНЮ</FONT></TD></TR>')

var menui = new Array();
var menul = new Array();

//configure below for menu items. Extend list as desired

menui[0]="Морковь";
menui[1]="Свекла";
menui[2]="Огурцы";
menui[3]="Томаты";
menui[4]="Лук";

menul[0]="#top";
menul[1]="#top";
menul[2]="#top";
menul[3]="#top";
menul[4]="#top";

for (i=0;i<=menui.length-1;i++)
if (document.all) {document.write('<TR><TD BORDERCOLOR="white" ONCLICK="location=\''+menul[i]+'\'" onmouseover="className=\'menuh\'" onMouseout="className=\'menu\'"><CENTER>
 <FONT>'+menui[i]+'</FONT></TD></TR>')}
else if (document.layers){document.write('<TR><TD BGCOLOR="white"><ILAYER><LAYER width="'+menuwidth+'" onmouseover="bgColor=\'yellow\'" onmouseout="bgColor=\'white\'"><CENTER><A HREF="'+menul[i]+'" class=menulinks>'+menui[i]+'</A></CENTER>
 </LAYER></ILAYER></TD></TR>')}

if (document.all) {document.write('</TABLE></DIV>')}
else if (document.layers){document.write('</TABLE> </TD></TR></TABLE></LAYER>')}

function menu3(){
if (document.all||document.layers)
makeStatic()
}

window.onload=menu3

//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом обозначены топики, желтым - их адреса. Нумерации топика и адреса должны совпадать. Голубым цветом отмечено, где следует установить значения для определения местоположения меню на странице.


Menu30

Следующее за скроллингом простое угловое меню

"Угловым" это меню можно назвать
с большой натяжкой. Легко настроить
его положение на странице можно
с помощью выделенных в нижней таблице
значений.

Menu Bar
Главная страница
ЛИНКИ
Другая страница
Скрипт "Дерево"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setVariables() {
if (navigator.appName == "Netscape") {
v=".top=";
dS="document.";
sD="";
y="window.pageYOffset";
}
else {
v=".pixelTop=";
dS="";
sD=".style";
y="document.body.scrollTop";
}
}
function checkLocation() {
object="object1";
yy=eval(y);
eval(dS+object+sD+v+yy);
setTimeout("checkLocation()",10);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setVariables(); checkLocation()">

<div id="object1" style="position: absolute; visibility: show; left: 0; top: 0; z-index: 2; width: 211; height: 282">
<table width=183 border=0 cellspacing=2 cellpadding=0 height="120">
<tr>
<td height="24" width="141">
<p align="left"><b>&nbsp;&nbsp;Menu Bar</b></p>
</td>
</tr>
<tr>
<td height="21" width="141"><a href="home.htm" ><b>&nbsp;&nbsp;Главная страница</b></a></td>
</tr>
<tr>
<td height="21" width="141"><a href="Link.htm" ><b>&nbsp;&nbsp;ЛИНКИ</b></a></td>
</tr>
<tr>
<td height="21" width="141"><a href="another.htm" ><b>&nbsp;&nbsp;Другая страница</b></a></td>
</tr>
<tr>
<td height="21" width="141"><a href="Menu29.htm" ><b>&nbsp;&nbsp;Скрипт "Дерево"</b></a></td>
</tr>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form32

Страна проживания
Например, при выборе Северной Америки, Вам будет предложено уточнить страну, а при выборе США - еще и штат.

Выберите страну, в которой Вы живете

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var africaArray = new Array("('Select country','',true,true)",
"('Ethiopia')",
"('Somalia')",
"('South Africa')",
"('Other')");
var middleeastArray = new Array("('Select country','',true,true)",
"('Egypt')",
"('Iran')",
"('Israel')",
"('Kuwait')",
"('Lebanon')",
"('Morocco')",
"('Saudi Arabia')",
"('Syria')",
"('Turkey')",
"('U. A. Emirates')",
"('Other')");
var asiaArray = new Array("('Select country','',true,true)",
"('Armenia')",
"('Bangladesh')",
"('Cambodia')",
"('China')",
"('India')",
"('Indonesia')",
"('Japan')",
"('Malaysia')",
"('Myanmar')",
"('Nepal')",
"('Pakistan')",
"('Philippines')",
"('Singapore')",
"('South Korea')",
"('Sri Lanka')",
"('Taiwan')",
"('Thailand')",
"('Uzbekistan')",
"('Vietnam')",
"('Other')");
var europeArray = new Array("('Select country','',true,true)",
"('Albania')",
"('Austria')",
"('Belarus')",
"('Belgium')",
"('Bosnia')",
"('Bulgaria')",
"('Croatia')",
"('Cyprus')",
"('Czech Rep.')",
"('Denmark')",
"('Estonia')",
"('Finland')",
"('France')",
"('Germany')",
"('Greece')",
"('Hungary')",
"('Iceland')",
"('Ireland')",
"('Italy')",
"('Latvia')",
"('Liechtenstein')",
"('Lithuania')",
"('Luxembourg')",
"('Macedonia')",
"('Malta')",
"('Monaco')",
"('Netherlands')",
"('Norway')",
"('Poland')",
"('Portugal')",
"('Romania')",
"('Russia')",
"('Slovakia')",
"('Slovenia')",
"('Spain')",
"('Sweden')",
"('Switzerland')",
"('Ukraine')",
"('United Kingdom')",
"('Other')");
var australiaArray = new Array("('Select country','',true,true)",
"('Australia')",
"('New Zealand')",
"('Other')");
var lamericaArray = new Array("('Select country','',true,true)",
"('Costa Rica')",
"('Cuba')",
"('El Salvador')",
"('Guatemala')",
"('Haiti')",
"('Jamaica')",
"('Mexico')",
"('Panama')",
"('Other')");
var namericaArray = new Array("('Select country','',true,true)",
"('Canada')",
"('USA')",
"('Other')");
var samericaArray = new Array("('Select country','',true,true)",
"('Argentina')",
"('Bolivia')",
"('Brazil')",
"('Chile')",
"('Colombia')",
"('Ecuador')",
"('Paraguay')",
"('Peru')",
"('Suriname')",
"('Uruguay')",
"('Venezuela')",
"('Other')");
function populateCountry(inForm,selected) {
var selectedArray = eval(selected + "Array");
while (selectedArray.length < inForm.country.options.length) {
inForm.country.options[(inForm.country.options.length - 1)] = null;
}
for (var i=0; i < selectedArray.length; i++) {
eval("inForm.country.options[i]=" + "new Option" + selectedArray[i]);
}
if (inForm.region.options[0].value == '') {
inForm.region.options[0]= null;
if ( navigator.appName == 'Netscape') {
if (parseInt(navigator.appVersion) < 4) {
window.history.go(0);
}
else {
if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {
window.history.go(0);
}
}
}
}
}
function populateUSstate(inForm,selected) {
var stateArray = new Array("('Select State','',true,true)",
"('Alabama')",
"('Alaska')",
"('Arizona')",
"('Arkansas')",
"('California')",
"('Colorado')",
"('Connecticut')",
"('Delaware')",
"('Columbia')",
"('Florida')",
"('Georgia')",
"('Hawaii')",
"('Idaho')",
"('Illinois')",
"('Indiana')",
"('Iowa')",
"('Kansas')",
"('Kentucky')",
"('Louisiana')",
"('Maine')",
"('Maryland')",
"('Massachusetts')",
"('Michigan')",
"('Minnesota')",
"('Mississippi')",
"('Missouri')",
"('Montana')",
"('Nebraska')",
"('Nevada')",
"('New Hampshire')",
"('New Jersey')",
"('New Mexico')",
"('New York')",
"('North Carolina')",
"('North Dakota')",
"('Ohio')",
"('Oklahoma')",
"('Oregon')",
"('Pennsylvania')",
"('Rhode Island')",
"('South Carolina')",
"('South Dakota')",
"('Tennessee')",
"('Texas')",
"('Utah')",
"('Vermont')",
"('Virginia')",
"('Washington')",
"('West Virginia')",
"('Wisconsin')",
"('Wyoming')");
if (selected == 'USA') {
for (var i=0; i < stateArray.length; i++) {
eval("inForm.country.options[i]=" + "new Option" + stateArray[i]);
}
if ( navigator.appName == 'Netscape') {
if (parseInt(navigator.appVersion) < 4) {
window.history.go(0)
}
else {
if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {
window.history.go(0)
}
}
}
}
else {
}
if (selected == 'Other') {
newCountry = "";
while (newCountry == ""){
newCountry=prompt ("Please enter the name of your country.", "");
}
if (newCountry != null) {
inForm.country.options[(inForm.country.options.length-1)]=new Option(newCountry,newCountry,true,true);
inForm.country.options[inForm.country.options.length]=new Option('Other, not listed','Other');
}
}
if(inForm.country.options[0].text == 'Select country') {
inForm.country.options[0]= null;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu35

Скользящий рисунок
Хорошо выглядит на белом фоне.

Много настроек положения. Все они выделены белым цветом, голубым цветом выделены размеры. Поэкспериментируйте!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
BODY
{
}
.clsMenu
{
LEFT: 100px;
POSITION: absolute;
TOP: 100px;
Z-INDEX: 9
}
.clsBlue
{
LEFT: 100px;
POSITION: absolute;
TOP: 100px;
Z-INDEX: 8
}
.clsLink1
{
LEFT: 100px;
POSITION: absolute;
TOP: 100px;
Z-INDEX: 10
}
.clsLink2
{
LEFT: 172px;
POSITION: absolute;
TOP: 100px;
Z-INDEX: 10
}
.clsLink3
{
LEFT: 246px;
POSITION: absolute;
TOP: 100px;
Z-INDEX: 10
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Daniel Dhillon (daniel@dhillon.com) -->
<!-- Web Site: http://www.daniel.dhillon.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
ie4 = ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4 ))
ns4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4 ))

var FStart = "";
var BStart = "";

if (ns4) {
layerRef="document.layers";
styleRef="";
} else {
layerRef="document.all";
styleRef=".style";
}

function movFwd(which, xstart, xfinish, ystart, yfinish, step, speed) {
BStart = "";
if (FStart == "") {
FStart = xstart;
}
if (ie4 || ns4) {
if (xstart < xfinish) {
eval(layerRef + '["' + which +'"]' + styleRef + '.top = ystart');
eval(layerRef + '["' + which +'"]' + styleRef + '.left = xstart');
xstart = xstart + step;
setTimeout("movFwd('" + which + "', " + xstart + ", " + xfinish + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
} else {
setTimeout("movBwd('" + which + "', " + xfinish + ", " + FStart+", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
}
}
}

function movBwd(which, xstart, xfinish, ystart, yfinish, step, speed) {
FStart = "";
if (BStart == "") {
BStart = xstart;
}
if (ie4 || ns4) {
if (xstart > xfinish) {
eval(layerRef + '["' + which +'"]' + styleRef + '.top = ystart');
eval(layerRef + '["' + which +'"]' + styleRef + '.left = xstart');
xstart = xstart - step;
setTimeout("movBwd('" + which + "', " + xstart + ", " + xfinish + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
} else {
setTimeout("movFwd('" + which + "', " + xfinish + ", " + BStart + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="movFwd('bl_grad',100,245,100,300,2,15)">

<img src="menuM.gif" border=0 class="clsMenu" width="200"
 height="16">
<img src="bl_grad.jpg" border=0 class="clsBlue" id="bl_grad" width="55"
 height="16">
<div style="position: absolute; top: 98; left: 99; width: 202; height: 30; z-index: 7">

<a href="JavaScript:void(0)"><img src="blank.gif" height="16"
 width="55" border=0 class="clsLink1" alt=home></a>
<a href="JavaScript:void(0)"><img src="blank.gif" height="16"
 width="55" border=0 class="clsLink2" alt="линки"></a>
<a href="JavaScript:void(0)"><img src="blank.gif" height="16"
 width="54" border=0 class="clsLink3" alt="другое"></a>

</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки (3 шт.), использованные в примере: slide.zip


Form16

Текущий месяц всегда наверху

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Don Demrow (d1102@home.com) -->
<!-- Modified: Benjamin Wright, JavaScript Source Editor -->
<!-- Web Site: http://resume.w3site.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var time = new Date();
var month = time.getMonth();
var date = month - 12;
var realJavaScriptMonth = month;
var future = month + 0;
month = month + 1; /* Compensate for "January" being "0" */
document.writeln ("<FORM><SELECT><OPTION value=\"\">Месяц");
do {
month = date;
if (month >= 12) {
month = month - 12;
}
if (month < 0) {
month = month + 12;
}
date++;
var dateName ="";
switch (month) {
case 0:
dateName = "Январь";
break;
case 1:
dateName = "Февраль";
break;
case 2:
dateName = "Март";
break;
case 3:
dateName = "Апрель";
break;
case 4:
dateName = "Май";
break;
case 5:
dateName = "Июнь";
break;
case 6:
dateName = "Июль";
break;
case 7:
dateName = "Август";
break;
case 8:
dateName = "Сентябрь";
break;
case 9:
dateName = "Октябрь";
break;
case 10:
dateName = "Ноябрь";
break;
case 11:
dateName = "Декабрь";
break
}
month++;
realJavaScriptMonth++;
document.write ("<OPTION value=\"" + realJavaScriptMonth + "\">" + dateName + "");
realJavaScriptMonth++;
}
while (date < future)
document.write ("</SELECT></FORM>");
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form34

Текущая дата всегда наверху

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
today = new Date();
thismonth = today.getMonth()+1;
thisyear = today.getYear();
thisday = today.getDate();
montharray=new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
maxdays=montharray[thismonth-1];
if (thismonth==2) {
if ((thisyear/4)!=parseInt(thisyear/4)) maxdays=28;
else maxdays=29;
}
thismonth = "" + thismonth
if (thismonth.length == 1) {
thismonth = "0" + thismonth;
}
document.write("<form>");
document.write("<select name=dates size=1>");
for (var theday = 1; theday <= maxdays; theday++) {
var theday = "" + theday;
if (theday.length == 1) {
theday = "0" + theday;
}
document.write("<option");
if (theday == thisday) document.write(" selected");
document.write(">");
document.write(thismonth + "-" + theday + "-" + thisyear);
}
document.write("</select></form>");
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu20

Меню угловое "Всегда наверху"

МЕНЮ
Страница 1
Страница 2
Страница 3

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/sitemap.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setVariables() {
if (navigator.appName == "Netscape") {
v = ".top=";
h = ".left=";
dS = "document.";
sD = "";
y = "window.pageYOffset";
x = "window.pageXOffset";
iW = "window.innerWidth";
iH = "window.innerHeight";
}

else {
h = ".pixelLeft=";
v = ".pixelTop=";
dS = "";
sD = ".style";
y = "document.body.scrollTop";
x = "document.body.scrollLeft";
iW = "document.body.clientWidth";
iH = "document.body.clientHeight";
}
xyz = 500;
innerX = eval(iW) - 115;
innerY = eval(iH) - 110;
object = "logo";
checkLocationA();
}
movex = 0;
movey = 0;
xdiff = 0;
ydiff = 0;
ystart = 0;
xstart = 0;

function checkLocation() {
yy = eval(y);
xx = eval(x);
ydiff = ystart - yy;
xdiff = xstart - xx;
if ((ydiff < (-1)) || (ydiff > (1))) movey = Math.round(ydiff / 10), ystart -= movey;
if ((xdiff < (-1)) || (xdiff > (1))) movex = Math.round(xdiff / 10), xstart -= movex;
eval(dS + object + sD + v + (ystart + innerY));
eval(dS + object + sD + h + (xstart + innerX));
setTimeout("checkLocation()", 10);
}

function checkLocationA() {
ystart = eval(y);
xstart=eval(x);
}

function switchLogo(abc) {
if (abc == "menu") {
eval(dS + object + sD + v + 0);
eval(dS + object + sD + h + (-200));
object = abc;
}
else xyz = setTimeout("delayLogo()", 2000)
}

function delayLogo() {
eval(dS + object + sD + v + 0);
eval(dS + object + sD + h + (-200));
object = 'logo';
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setVariables();checkLocation()">

<p align="center">
<div id="logo" style="position:absolute; visibility:show; left: 0px; top:-200px; z-index:2">

<table border=0 cellspacing=10 cellpadding=0 width=100>
<tr>
<td>
<center><br><br><br>
<A href="javascript:void(0)"; onmouseover="switchLogo('menu')">

<font style="color:white;"><B>МЕНЮ<B></font>

</A>
</center>
</b></b>
</td>
</tr>
</table>

</div>

<div id="menu" style="position:absolute; visibility:show; left:0px; top:-200px; z-index:2">

<table border=0 cellspacing=10 cellpadding=0 width=100>
<tr>
<td>
<center>
<a href="Link.htm"; onmouseover="clearTimeout(xyz)"; onmouseout="switchLogo('logo')">Страница 1</a>
</center>
</td>
</tr>
<tr>
<td>
<center>
<a href="another.htm"; onmouseover="clearTimeout(xyz)"; onmouseout="switchLogo('logo')">Страница 2</a>
</center>
</td>
</tr>
<tr>
<td>
<center>
<a href="home.htm"; onmouseover="clearTimeout(xyz)"; onmouseout="switchLogo('logo')">Страница 3</a>
</center>
</td>
</tr>
</table>

</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом обозначены URL для линков меню, желтым - цвет слова "МЕНЮ"


Menu37

Угловое многоуровневое неподвижное меню

Меню, довольно простое на вид, тем ни менее оказывается достаточно сложным. Для тех, кто совсем не понимает по-английски и не особенно в ладах с JavaScript, сделаны следующие подсказки: белым цветом отмечены значки # , вместо которых следует вписать адреса страниц, а желтым - название элементов меню, сответствующие стоящим напротив адресам (значкам #)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Angus Turnbull -->
<!-- Web Site: http://gusnz.cjb.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var isDOM = false, isNS4 = false;
if (document.all) var isDOM = true, docObj = 'document.all.', styObj = '.style';
else if (document.layers) var isNS4 = true, docObj = 'document.', styObj = '';
// Hide timeout
var popTimer = 0;
var litNow = new Array();
function popOver(menuNum, itemNum) {
clearTimeout(popTimer);
hideAllBut(menuNum);
litNow = getTree(menuNum, itemNum);
changeCol(litNow, true);
targetNum = menu[menuNum][itemNum].target;
if (targetNum > 0) {
targetName = menu[targetNum][0].id;
menuName = menu[menuNum][0].id;
menuRef = eval(docObj + menuName + styObj);
thisX = parseInt(menuRef.left);
thisY = parseInt(menuRef.top);
// Add onto this the position of the trigger item within the menu
itemPath = docObj;
if (isNS4) itemPath += menuName + '.document.';
itemRef = eval(itemPath + menuName + itemNum.toString() + styObj);
thisX += parseInt(itemRef.left);
thisY += parseInt(itemRef.top);
// Add those to the target's offset to set the target's position, show it.
with (eval(docObj + targetName + styObj)) {
left = parseInt(thisX + menu[targetNum][0].x);
top = parseInt(thisY + menu[targetNum][0].y);
visibility = 'visible';
}
}
}
function popOut(menuNum, itemNum) {
// Hide menu in 1/2 sec, *UNLESS* another mouseover clears the timeout!
popTimer = setTimeout('hideAllBut(0)', 500);
}
function getTree(menuNum, itemNum) {
// Array index is the menu number. The contents are null (if that menu is not a parent)
// or the item number in that menu that is an ancestor (to light it up).
itemArray = new Array(menu.length);
while(1) {
itemArray[menuNum] = itemNum;
if (menuNum == 0) return itemArray;
itemNum = menu[menuNum][0].parentItem;
menuNum = menu[menuNum][0].parentMenu;
}
}
// Pass an array and a boolean to specify colour change, true = over colour.
function changeCol(changeArray, isOver) {
for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
if (changeArray[menuCount]) {
thisMenu = menu[menuCount][0].id;
thisItem = thisMenu + changeArray[menuCount].toString();
newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
if (isDOM) document.all[thisItem].style.backgroundColor = newCol;
if (isNS4) document[thisMenu].document[thisItem].bgColor = newCol;
}
}
}
function hideAllBut(menuNum) {
var keepMenus = getTree(menuNum, 1);
for (count = 0; count < menu.length; count++)
if (!keepMenus[count])
eval(docObj + menu[count][0].id + styObj + '.visibility = "hidden"');
changeCol(litNow, false);
}
// *** MENU CONSTRUCTION FUNCTIONS ***
// Variable to end a div or layer based on browser.
var endDL = isDOM ? '</div>' : '</layer>';
function Menu(id, x, y, width, overCol, backCol, borderCol) {
this.id = id;
this.x = x;
this.y = y;
this.width = width;
// Colours of menu and items.
this.overCol = overCol;
this.backCol = backCol;
this.borderCol = borderCol;
// Parent menu and item numbers, indexed later.
this.parentMenu = null;
this.parentItem = null;
}
function Item(text, href, height, target) {
this.text = text;
this.href = href;
this.height = height;
this.target = target;
}
function startDL(id, x, y, width, height, vis, back, border, zIndex, extraProps) {
// Write a div in IE that resembles a layer's settings, or a layer in NS.
if (isDOM) {
str = '<div id="' + id + '" style="position: absolute; left: ' + x + '; top: ' + y +
'; width: ' + width + '; height: ' + height + '; visibility: ' + vis + '; ';
if (back) str += 'background: ' + back + '; ';
if (border) str += 'padding: 3px; border: 1px solid ' + border + '; ';
if (zIndex) str += 'z-index: ' + zIndex + '; ';
// End style declaration.
str += '" ';
}
if (isNS4) {
str = '<layer id="' + id + '" left="' + x + '" top="' + y + '" width="' + width +
'" height="' + height + '" visibility="' + vis + '" ';
if (back) str += 'bgcolor="' + back + '" ';
if (border) str += 'style="border: 1px solid ' + border + '" ';
if (zIndex) str += 'z-index="' + zIndex + '" ';
}
return str + extraProps + '>';
}
function mouseProps(currMenu, currItem) {
return 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' + currMenu + ',' + currItem + ')"';
}
function writeMenus(customRoot, popInd) {
for (currMenu = 0; currMenu < menu.length; currMenu++) {
showMenu = true;
if ((currMenu == 0) && customRoot) {
document.write(customRoot);
showMenu = false;
}
with (menu[currMenu][0]) {
// Start generating a div with position offset - no dimensions, colours, mouseovers.
// This position is only relevant for root menu anyway as all others are altered later.
menuHTML = startDL(id, x, y, 0, 0, 'hidden', null, null, 100, '');
// Width is less padding (3 left & right) and border (1 left & right).
var back = backCol, bord = borderCol, currWidth = width - 8;
}
// Y-position of next item, increase if you want a menu header.
itemPos = 0;
// Remember, items start from 1 in the array (0 is menu object itself, above).
for (currItem = 1; currItem < menu[currMenu].length; currItem++) {
// Auto-generate ID's in numerical sequence.
trigID = menu[currMenu][0].id + currItem.toString();
// Now, work with properties of individual menu items.
with (menu[currMenu][currItem]) {
// Start a menu item positioned vertically, with mouse events and colours.
menuHTML += startDL(trigID, 0, itemPos, 0, 0, 'inherit', back, bord, 100, mouseProps(currMenu, currItem)) + '<table width="' + currWidth + '" border="0" cellspacing="0" cellpadding="0"><tr>' + '<td align="left"><a class="Item" href="' + href + '">' + text + '</a></td>' + '<td class="Item" align="right">' + (target ? popInd : '') + '</td></tr></table>' + endDL;
if (target > 0) {
// Set target's parents to this and offset it by the current position.
menu[target][0].parentMenu = currMenu;
menu[target][0].parentItem = currItem;
}
// Move next item position down by this item's height.
itemPos += height;
}
}
// Write this menu to the document.
if (showMenu) document.write(menuHTML + endDL);
litNow[currMenu] = null;
}
}
// End -->
</script>
<style>
<!--
.Item { text-decoration: none; color: #FFFFFF; font: 12px Arial, Helvetica }
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Angus Turnbull -->
<!-- Web Site: http://gusnz.cjb.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
/* Syntaxes:
*
* menu[menuNumber][0] = new Menu('menu ID', left, top, width, 'mouseover colour',
*'background colour', 'border colour');
* Left and Top are measured on-the-fly relative to the top-left corner of its trigger.
*
* menu[menuNumber][itemNumber] = new Item('Text', 'URL', vertical spacing to next item,
*target menu number);
* If no target menu (popout) is desired, set it to 0. All menus must trace back their
* targets to the root menu! That is, every menu must be targeted by one item somewhere.
* Even if you're not writing the root menu, you must still specify its settings here.
*/
var menu = new Array();
// Default colours passed to most menu constructors (just passed to functions, not
// a global variable - makes things easier to change later).
var defOver = '#336699', defBack = '#003366', defBorder = '#000000';
// Default height of menu items - the spacing to the next item, actually.
var defHeight = 22;
// Menu 0 is the special, 'root' menu from which everything else arises.
menu[0] = new Array();
// Pass a few different colours, as an example.
menu[0][0] = new Menu('rootMenu', 0, 0, 80, '#669999', '#006666', defBorder);
// Notice how the targets are all set to nonzero values...
menu[0][1] = new Item('File', '#', defHeight, 1);
menu[0][2] = new Item('Edit', '#', defHeight, 2);
menu[0][3] = new Item('Help', '#', defHeight, 3);
menu[1] = new Array();
// The File menu is positioned 0px across and 22 down from its trigger, and is 80 wide.
menu[1][0] = new Menu('fileMenu', 0, 22, 80, defOver, defBack, defBorder);
menu[1][1] = new Item('Open', '#', defHeight, 0);
menu[1][2] = new Item('Save', '#', defHeight, 0);
// Non-zero target means this will trigger a popup.
menu[1][3] = new Item('Reopen', '#', defHeight, 4);
menu[1][4] = new Item('Exit', '#', defHeight, 0);
menu[2] = new Array();
menu[2][0] = new Menu('editMenu', 0, 22, 80, defOver, defBack, defBorder);
menu[2][1] = new Item('Cut', '#', defHeight, 0);
menu[2][2] = new Item('Copy', '#', defHeight, 0);
menu[2][3] = new Item('Paste', '#', defHeight, 0);
menu[3] = new Array();
menu[3][0] = new Menu('helpMenu', 0, 22, 80, defOver, defBack, defBorder);
menu[3][1] = new Item('Contents', '#', defHeight, 0);
menu[3][2] = new Item('Index', '#', defHeight, 0);
menu[3][3] = new Item('About', '#', defHeight, 5);
menu[4] = new Array();
// This is across but not down... a horizontal popout (with crazy colours :)...
menu[4][0] = new Menu('reopenMenu', 85, 0, 100, '#333366', '#666699', '#663399');
menu[4][1] = new Item('Recent Doc 1:<br>Schedule', '#', 36, 0);
menu[4][2] = new Item('Recent Doc 2:<br>Plan', '#', 40, 0);
menu[4][3] = new Item('Etc. etc...', '#', defHeight, 0);
menu[5] = new Array();
// Leftwards popout with a negative x relative to its trigger.
menu[5][0] = new Menu('aboutMenu', -85, -15, 80, defOver, defBack, defBorder);
menu[5][1] = new Item('Leftwards!<br>And up!', '#', 30, 0);
// Now, this next bit of script will write our own custom root menu -- a horizontal
// one, as the defaults are all vertical with borders. Even if you are writing your
// own root menu, you must still specify the names, colours and targets above -- the
// positions are calculated on the fly and hence are ignored.
// Basically, you must duplicate the output of the writeMenus() function. Just work
// from this example.
// Syntax: startDL('id', x, y, width, height, 'visibility', '#background colour or null
//for transparent', '#border colour or null for no border', 'additional properties');
// It returns a string of HTML text comprising the opening tag of a div or layer.
// mouseProps(menu, item) returns the 'onMouseEvent' properties for a specific menu item,
// passed as 'additional properties' to startDL. Just cut and paste below, or allow the
// script to write its own root menu.
// endDL is a variable containing either '</div>' or '</layer>', so add it afterwards.
newRoot = startDL('rootMenu', 0, 0, '100%', 17, 'hidden', '#006666', null, 100, '');
newRoot += startDL('rootMenu1', 5, 0, 40, 17, 'inherit', '#006666', null, 100, mouseProps(0, 1));
newRoot += '<span class="Item"> File</span>' + endDL;
newRoot += startDL('rootMenu2', 55, 0, 40, 17, 'inherit', '#006666', null, 100, mouseProps(0, 2));
newRoot += '<span class="Item"> Edit</span>' + endDL;
newRoot += startDL('rootMenu3', 105, 0, 40, 17, 'inherit', '#006666', null, 100, mouseProps(0, 3));
newRoot += '<span class="Item"> Help</span>' + endDL;
newRoot += endDL;
// Pass this two strings - the first is HTML to write a custom root menu, or null to
// generate one normally. The second is the popout indicator HTML - try an image...?
// Try writeMenus(null, '<img src="...">'); in your own script.
writeMenus(newRoot, '>');
// This is a quick snippet that captures all clicks on the document and hides the menus
// every time you click. Use if you want.
if (isNS4) document.captureEvents(Event.CLICK);
document.onclick = clickHandle;
function clickHandle(evt) {
if (isNS4) document.routeEvent(evt);
hideAllBut(0);
}
// Show root menu command - place in an onLoad="..." type function if you want.
eval(docObj + menu[0][0].id + styObj + '.visibility = "visible"');
// This is just the moving command for the example.
function moveRoot() {
rM = eval(docObj + menu[0][0].id + styObj);
if (parseInt(rM.top) < 40) rM.top = 40;
else rM.top = 0;
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Menu 5

ПЛАВАЮЩЕЕ МЕНЮ
(плавающее и переносимое - для переноса наведите курсор на "ладонь")
Это сложно-составное меню. Тем кто плохо разбирается в HTML и JavaScript лучше воспользоваться другими примерами. Здесь настраиваются буквально все параметры. Самый простой способ все же использовать флотер - это заменить примерный текст и линки в каком-нибудь визуальном редакторе вроде FrontPage или Cold Fusion. Как копировать.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style TYPE="text/css">
#floater {
position: absolute;
left: 15;
top: 170;
width: 125;
visibility: visible;
z-index: 10;
}
<!----Decoration---------->
a:link, a:visited, a:active { text-decoration: none; color: black;}
a:hover { text-decoration: none; color: red; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div ID="floater" style="width: 164; height: 172">
<dd><table BORDER="0" CELLPADDING="0"  CELLSPACING="0" height="180"
       bordercolor="#C0C0C0">
<tr>
<td style=CURSOR:move; height="22"><nobr> <b><font face="MS Sans Serif, Helvetica" size="1" color="#FF0000">НАВИГАТОР&nbsp;&nbsp;
<img border="0" src="Hand.gif" width="32" height="31">&nbsp; </font><font face="MS Sans Serif, Helvetica" size="1" color="#808080">&quot;Пионер&quot;</font>
       </b></nobr></td>
<tr>
<td height="21" bgcolor="#C8CCAC">
<marquee scrollamount="4" width="175" height="16" style="color: #FFFFFF; font-family: Arial; font-size: 10pt; font-weight: bold" align="bottom" loop="3">Выберите
пункт Меню...&nbsp;&nbsp;&nbsp; Чтобы Навигатор
Вам не мешал, перетяните его в любое
удобное для Вас место</marquee>
</td>
<tr>
<td height="90">
<a id=Out2 class=Outline  style="cursor: hand;"> <img SRC="piramid.gif" BORDER="0" width="13" height="12">
ГЛАВНОЕ МЕНЮ</a>
<div id=Out2details  style="display:None; position:relative; left:9;">
<a href="home.htm"  target="_self"  style="font-family: Courier; font-size: 8pt">&#9658;
Home</a><br>
<a href="DT1.htm" target="_self" style="font-family: Courier; font-size: 8pt">&#9658;
Дата и Время</a><br>
<a href="clocks1.htm" target="_self" style="font-size: 8pt; font-family: Courier">&#9658;
Часы</a><br>
<a href="Sc2.htm" target="_self" style="font-size: 8pt; font-family: Courier">&#9658;
Прокрутки (Scrollers)</a><br>
<a href="another.htm" target="_self" style="font-size: 8pt; font-family: Courier">&#9658;
Другая страница</a><br>
<a href="MD2.htm" target="_self" style="font-size: 8pt; font-family: Courier">&#9658;
Дата Обновления</a><br>
<a href="links.htm" target="_self" style="font-size: 8pt; font-family: Courier">&#9658;
Линки</a>
</div>
<nobr><img SRC="sel2.gif" BORDER="0" name=a1 width="10" height="10">
<a target="_self" href="#menu1" onmouseout="ImgOut(a1)" onmouseover="ImgOver(a1)" style="font-size: 10pt"><font face="Courier">Изменить
       рисунки флотера</font></a></nobr><br>
<nobr><img SRC="sel2.gif" BORDER="0" name=a2 width="10" height="10">
<a target="_self" href="#menu2" onmouseout="ImgOut(a2)" onmouseover="ImgOver(a2)" style="font-size: 10pt"><font face="Courier">Изменить
       положение флотера</font></a></nobr><br>
<nobr><img SRC="sel2.gif" BORDER="0" name=a3 width="10" height="10">
<a target="_self" href="#menu3" onmouseout="ImgOut(a3)" onmouseover="ImgOver(a3)" style="font-size: 10pt"><font face="Courier">Начало
       скрипта флотера</font></a></nobr><br>
<nobr><img SRC="sel2.gif" BORDER="0" name=a4 width="10" height="10">
<a target="_self" href="#menu4" onmouseout="ImgOut(a4)" onmouseover="ImgOver(a4)" style="font-size: 10pt"><font face="Courier">Начало
       скрипта меню</font></a></nobr><br>
<nobr><img SRC="sel2.gif" BORDER="0" name=a5 width="10" height="10">
<a target="_self" href="#menuai" onmouseout="ImgOut(a5)" onmouseover="ImgOver(a5)" style="font-size: 10pt"><font face="Courier">Начало
       скрипта &quotстрелок&quot</font></a></nobr><br>
<p>
</td>
</tr>
<tr>
<td style=CURSOR:move; height="21" bgcolor="#C8CCAC"> <nobr> <font FACE="MS Sans Serif, Helvetica" SIZE="-1" COLOR="#FFFFCC"><a HREF="mailto:eugenezz@yandex.ru" target="_blank"><img SRC="Email.gif" tppabs="" BORDER="0" width="13" height="9"></a></font></nobr><nobr>
       <font face="MS Sans Serif, Helvetica" size="-1" color="#FFFFCC">&nbsp;
</font><font color="#FFFF00"><a href="mailto:eugenezz@yandex.ru" target="_blank" style="color: #996633; font-family: Arial"><font face="MS Sans Serif, Helvetica" size="1">Email</font></a>
</font>
</nobr></td>
</tr>
<tr>
<td height="21">
<script language="Javascript">
<!--"Пионер"---
self.onError=null;

currentX = currentY = 0;
whichIt = null;
lastScrollX = 0; lastScrollY = 0;

NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1: 0;

<!-- STALKER CODE -->
function heartBeat() {

if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }
if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }

if(diffY != lastScrollY) {
percent = .1 * (diffY - lastScrollY);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelTop += percent;
if(NS) document.floater.top += percent;
lastScrollY = lastScrollY + percent;
}
if(diffX != lastScrollX) {
percent = .1 * (diffX - lastScrollX);
if(percent > 0) percent = Math.ceil(percent);
else percent = Math.floor(percent);
if(IE) document.all.floater.style.pixelLeft += percent;
if(NS) document.floater.left += percent;
lastScrollX = lastScrollX + percent;
}
}
<!-- /STALKER CODE -->

<!-- DRAG DROP CODE -->
function checkFocus(x,y) {
stalkerx = document.floater.pageX;
stalkery = document.floater.pageY;
stalkerwidth = document.floater.clip.width;
stalkerheight = document.floater.clip.height;
if( (x > stalkerx && x < (stalkerx+stalkerwidth))

&& (y > stalkery && y < (stalkery+stalkerheight))) return true;
else return false;
}

function grabIt(e) {
if(IE) {
whichIt = event.srcElement;
while (whichIt.id.indexOf("floater") == -1) {
whichIt = whichIt.parentElement;
if (whichIt == null) { return true; }
}
whichIt.style.pixelLeft = whichIt.offsetLeft;
whichIt.style.pixelTop = whichIt.offsetTop;
currentX = (event.clientX + document.body.scrollLeft);
currentY = (event.clientY + document.body.scrollTop);
} else {
window.captureEvents(Event.MOUSEMOVE);
if(checkFocus (e.pageX,e.pageY)) {
whichIt = document.floater;
StalkerTouchedX = e.pageX-document.floater.pageX;
StalkerTouchedY = e.pageY-document.floater.pageY;
}
}
return true;
}

function moveIt(e) {
if (whichIt == null) { return false; }
if(IE) {
newX = (event.clientX + document.body.scrollLeft);
newY = (event.clientY + document.body.scrollTop);
distanceX = (newX - currentX); distanceY = (newY - currentY);
currentX = newX; currentY = newY;
whichIt.style.pixelLeft += distanceX;
whichIt.style.pixelTop += distanceY;
if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;
if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;
if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;
if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;
event.returnValue = false;
} else {
whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);
if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;
if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;
if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;
if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;
return false;

}
return false;
}

function dropIt() {
whichIt = null;
if(NS) window.releaseEvents (Event.MOUSEMOVE);
return true;
}
<!-- DRAG DROP CODE -->

if(NS) {
window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);
window.onmousedown = grabIt;
window.onmousemove = moveIt;
window.onmouseup = dropIt;
}
if(IE) {
document.onmousedown = grabIt;
document.onmousemove = moveIt;
document.onmouseup = dropIt;
}

if(NS || IE) action = window.setInterval("heartBeat()",1);

var Img0 = "sel2.gif"
var Img1 = "sel1.gif"

function ImgOver(imgName){
imgName.src = Img1
}

function ImgOut(imgName){
imgName.src = Img0
}

function clickHandler()
{ var targetId, srcElement,
targetElement; srcElement = window.event.srcElement;
if (srcElement.className == "Outline") {
targetId = srcElement.id + "details";
targetElement = document.all(targetId);
if (targetElement.style.display == "none") {
targetElement.style.display = "";
} else {
targetElement.style.display = "none";
} }} document.onclick = clickHandler;
//--///"Пионер"//////-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню воспользуйтесь кнопкой BACK для возврата к исходной странице.

НАВИГАТОР [image] "Пионер"
Выберите пункт Меню... Чтобы Навигатор Вам не мешал, перетяните его в любое удобное для Вас место
ГЛАВНОЕ МЕНЮ Изменить рисунки флотера
Изменить положение флотера
Начало скрипта флотера
Начало скрипта меню
Начало скрипта "стрелок"


Window11

Анимированный переход на страницу

Главная страница
Внимание! Для теста работы скрипта откройте эту страницу в отдельном окне браузера (нажмите кнопку внизу страницы). В ином случае Вы рискуете "подвесить" программу или, как минимум, потеряете половину эффекта!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Sean Decker -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function expand() {
for(x = 0; x < 50; x++) {
window.moveTo(screen.availWidth * -(x - 50) / 100, screen.availHeight * -(x - 50) / 100);
window.resizeTo(screen.availWidth * x / 50, screen.availHeight * x / 50);
}
window.moveTo(0,0);
window.resizeTo(screen.availWidth, screen.availHeight);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="home.htm" onClick="expand();">Главная страница</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Window12

Анимированный переход на страницу 2
(сверху вниз, слева направо)

Открыть страницу с линками!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Martijn Sinnema (sinnemavleiger@wanadoo.nl) -->
<!-- Web Site:  http://home.wanadoo.nl/sinnemavlieger/martin -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function expandingWindow(website) {
var heightspeed = 2; // скорость вертикального разворачивания
var widthspeed = 20;  // скорость горизонтального разворачивания
var leftdist = 0;    // расстояние от левого края
      экрана
var topdist = 0;     // расстояние от верхнего края
      экрана
if (document.all) {
var winwidth = window.screen.availWidth - leftdist;
var winheight = window.screen.availHeight - topdist;
var sizer = window.open("","","left=" + leftdist + ",top=" + topdist +
      ",width=1,height=1,scrollbars=yes,
      menubar=yes");
for (sizeheight = 1; sizeheight < winheight; sizeheight += heightspeed) {
sizer.resizeTo("1", sizeheight);
}
for (sizewidth = 1; sizewidth < winwidth; sizewidth += widthspeed) {
sizer.resizeTo(sizewidth, sizeheight);
}
sizer.location = website;
}
else
window.location = website;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="Link.htm" onClick="expandingWindow('Link.htm'); return false;"> Открыть страницу с линками!</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Window15

Анимированный переход на страницу 3
УСКОЛЬЗАНИЕ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Daniel Clarke (daniel.clarke@ic.ac.uk) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveWin() {
for (var i = 1; i < 1001; i++)
window.moveBy(1, 1);
window.moveBy(-1000, -1000);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=button value="На Главную страницу" onClick="moveWin();window.location.href='home.htm';">
</form>
или<BR>
<a href="another.htm"; onClick="moveWin()">На другую страницу</a>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window44

Вертикальные жалюзи (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=8)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window43

Горизонтальные жалюзи (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=9)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window31

"Занавес закрывается" (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=13)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window32

"Занавес открывается" (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=14)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window34

"Занавес" слева направо (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=6)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window35

"Занавес" сверху вниз (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=5)">


window33

"Занавес" справа налево (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=7)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window36

"Занавес" снизу вверх (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=4)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window42

Зернистое растворение (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=12)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window55

Крупная цветная мозаика
(цвет выделен белым)

Эффект Вы только что видели.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:green;
background-color:green;
border:0.1px solid green;
z-index:10;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="p1" class="intro"></div>
<div id="p2" class="intro"></div>
<div id="p3" class="intro"></div>
<div id="p4" class="intro"></div>
<div id="p5" class="intro"></div>
<div id="p6" class="intro"></div>
<div id="p7" class="intro"></div>
<div id="p8" class="intro"></div>
<div id="p9" class="intro"></div>
<div id="p10" class="intro"></div>
<div id="p11" class="intro"></div>
<div id="p12" class="intro"></div>
<div id="p13" class="intro"></div>
<div id="p14" class="intro"></div>
<div id="p15" class="intro"></div>
<div id="p16" class="intro"></div>
<div id="p17" class="intro"></div>
<div id="p18" class="intro"></div>
<div id="p19" class="intro"></div>
<div id="p20" class="intro"></div>
<div id="p21" class="intro"></div>
<div id="p22" class="intro"></div>
<div id="p23" class="intro"></div>
<div id="p24" class="intro"></div>
<div id="p25" class="intro"></div>

<script>

/*
Boxing-away Script- By Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more free DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/

var espeed=300
var counter=1
var temp=new Array()
var temp2=new Array()

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

////////Code for Netscape NS 4+////
if (ns4){
for (i=1;i<=25;i++){
temp[i]=eval("document.p"+i+".clip")
temp2[i]=eval("document.p"+i)
temp[i].width=window.innerWidth/5
temp[i].height=window.innerHeight/5
}

for (i=1;i<=5;i++)
temp2[i].left=(i-1)*temp[i].width

for (i=6;i<=10;i++){
temp2[i].left=(i-6)*temp[i].width
temp2[i].top=temp[i].height
}

for (i=11;i<=15;i++){
temp2[i].left=(i-11)*temp[i].width
temp2[i].top=2*temp[i].height
}

for (i=16;i<=20;i++){
temp2[i].left=(i-16)*temp[i].width
temp2[i].top=3*temp[i].height
}

for (i=21;i<=25;i++){
temp2[i].left=(i-21)*temp[i].width
temp2[i].top=4*temp[i].height
}

}

function erasecontainerns(){
window.scrollTo(0,0)
var whichcontainer=Math.round(Math.random()*25)
if (whichcontainer==0)
whichcontainer=1
if (temp2[whichcontainer].visibility!="hide")
temp2[whichcontainer].visibility="hide"
else{
while (temp2[whichcontainer].visibility=="hide"){
whichcontainer=Math.round(Math.random()*25)
if (whichcontainer==0)
whichcontainer=1
}
temp2[whichcontainer].visibility="hide"
}

if (counter==25)
clearInterval(beginerase)

counter++
espeed-=10

}

////////End code for NS 4+////////

///////////Code for IE 4+ and NS6/////////

if (ie4||ns6){
var containerwidth=ns6?parseInt(window.innerWidth)/5-3 : parseInt(document.body.clientWidth/5)
var containerheight=ns6?parseInt(window.innerHeight)/5-2 : parseInt(document.body.offsetHeight/5)

for (i=1;i<=25;i++){
temp[i]=ns6?document.getElementById("p"+i).style : eval("document.all.p"+i+".style")
temp[i].width=containerwidth
temp[i].height=containerheight
}

for (i=1;i<=5;i++)
temp[i].left=(i-1)*containerwidth

for (i=6;i<=10;i++){
temp[i].left=(i-6)*containerwidth
temp[i].top=containerheight
}

for (i=11;i<=15;i++){
temp[i].left=(i-11)*containerwidth
temp[i].top=2*containerheight
}

for (i=16;i<=20;i++){
temp[i].left=(i-16)*containerwidth
temp[i].top=3*containerheight
}

for (i=21;i<=25;i++){
temp[i].left=(i-21)*containerwidth
temp[i].top=4*containerheight
}
}

function erasecontainerie(){
window.scrollTo(0,0)
var whichcontainer=Math.round(Math.random()*25)
if (whichcontainer==0)
whichcontainer=1
if (temp[whichcontainer].visibility!="hidden")
temp[whichcontainer].visibility="hidden"
else{
while (temp[whichcontainer].visibility=="hidden"){
whichcontainer=Math.round(Math.random()*25)
if (whichcontainer==0)
whichcontainer=1
}
temp[whichcontainer].visibility="hidden"
}

if (counter==25){
clearInterval(beginerase)
if (ns6){
for (i=1;i<26;i++)
temp[i].display="none"
}
}
counter++
espeed-=10

}

/////////End IE 4+ code////////

if (ns4)
beginerase=setInterval("erasecontainerns()",espeed)
else if (ie4||ns6){
beginerase=setInterval("erasecontainerie()",espeed)
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window46

Мелкие горизонтальные жалюзи (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=21)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window45

Мелкие вертикальные жалюзи (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=22)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window27

"Пила" справа снизу налево наверх (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=18)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window28

"Пила" сверху слева направо вниз (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=19)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window29

"Пила" слева снизу направо вверх (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=20)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window30

"Пила" справа сверху налево вниз (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=17)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window39

Прозрачный переход на страницу

Вы только что видели эффект

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=5.0)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window38

Раскрываемое окошко (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=1)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window41

Расширяющийся круг (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=3)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window37

Сжимаемое окошко (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=0)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window47

Случайный эффект перехода
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=23)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window50

Ставни-жалюзи вертикальные цветные
(цвет выделен белым)

Эффект Вы только что видели.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:blue;
background-color:blue;
border:0.1px solid blue;
z-index:10;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="i1" class="intro"></div><div id="i2" class="intro"></div><div id="i3"
class="intro"></div><div id="i4" class="intro"></div><div id="i5" class="intro"></div><div
id="i6" class="intro"></div><div id="i7" class="intro"></div><div id="i8" class="intro"></div>
<script language="JavaScript1.2">

/*
Left-Right Stripy Curtain Script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more free DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

var speed=20
var temp=new Array()
var temp2=new Array()
if (ns4){
for (i=1;i<=8;i++){
temp[i]=eval("document.i"+i+".clip")
temp2[i]=eval("document.i"+i)
temp[i].width=window.innerWidth
temp[i].height=window.innerHeight/8
temp2[i].top=(i-1)*temp[i].height
}
}
else if (ie4||ns6){
var clipright=ns6?window.innerWidth:document.body.clientWidth
clipleft=0
for (i=1;i<=8;i++){
temp[i]=ns6?document.getElementById("i"+i).style:eval("document.all.i"+i+".style")
temp[i].width=ns6?window.innerWidth-15:document.body.clientWidth
temp[i].height=ns6?window.innerHeight/8:document.body.offsetHeight/8
temp[i].top=(i-1)*parseInt(temp[i].height)
}
}
function openit(){
window.scrollTo(0,0)
if (ns4){
for (i=1;i<=8;i=i+2)
temp[i].right-=speed
for (i=2;i<=8;i=i+2)
temp[i].left+=speed
if (temp[2].left>window.innerWidth)
clearInterval(stopit)
}
else if (ie4||ns6){
clipright-=speed
for (i=1;i<=8;i=i+2){
temp[i].clip="rect(0 "+clipright+" auto 0)"
}
clipleft+=speed
for (i=2;i<=8;i=i+2){
temp[i].clip="rect(0 auto auto "+clipleft+")"
}
if (clipright<=0){
if (ns6){
for (i=1;i<=8;i++)
temp[i].display="none"
}
clearInterval(stopit)
}
}
}
function gogo(){
stopit=setInterval("openit()",100)
}
gogo()
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window51

Ставни-жалюзи горизонтальные цветные
(цвет выделен белым)

Эффект Вы только что видели

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:green;
background-color:green;
border:0.1px solid green;
z-index:10;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="i1" class="intro"></div><div id="i2" class="intro"></div><div id="i3"
class="intro"></div><div id="i4" class="intro"></div><div id="i5" class="intro"></div><div
id="i6" class="intro"></div><div id="i7" class="intro"></div><div id="i8" class="intro"></div>
<script language="JavaScript1.2">

/*
Top-Down Curtain Script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more free DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

var speed=20
var temp=new Array()
var temp2=new Array()
if (ns4){
for (i=1;i<=8;i++){
temp[i]=eval("document.i"+i+".clip")
temp2[i]=eval("document.i"+i)
temp[i].width=window.innerWidth/8-0.3
temp[i].height=window.innerHeight
temp2[i].left=(i-1)*temp[i].width
}
}
else if (ie4||ns6){
var clipbottom=ns6?window.innerHeight:document.body.offsetHeight
cliptop=0
for (i=1;i<=8;i++){
temp[i]=ns6?document.getElementById("i"+i).style:eval("document.all.i"+i+".style")
temp[i].width=ns6?window.innerWidth/8-2:document.body.clientWidth/8
temp[i].height=ns6?window.innerHeight:document.body.offsetHeight
temp[i].left=(i-1)*parseInt(temp[i].width)
}
}
function openit(){
window.scrollTo(0,0)
if (ns4){
for (i=1;i<=8;i=i+2)
temp[i].bottom-=speed
for (i=2;i<=8;i=i+2)
temp[i].top+=speed
if (temp[2].top>window.innerHeight)
clearInterval(stopit)
}
else if (ie4||ns6){
clipbottom-=speed
for (i=1;i<=8;i=i+2){
temp[i].clip="rect(0 auto+"+clipbottom+" 0)"
}
cliptop+=speed
for (i=2;i<=8;i=i+2){
temp[i].clip="rect("+cliptop+" auto auto auto)"
}
if (clipbottom<=0){
if (ns6){
for (i=1;i<=8;i++)
temp[i].display="none"
}
clearInterval(stopit)
}
}
}
function gogo(){
stopit=setInterval("openit()",100)
}
gogo()
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window40

Сужающийся круг (переход на страницу)
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=2)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window54

Уменьшающийся прямоугольник (цветной)
(цвет выделен белым)

Эффект Вы только что видели.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:white;
background-color:white;
border:0.1px solid white;
z-index:8;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="i1" class="intro"></div>
<script language="JavaScript1.2">

/*
Boxing In Script-© Dynamic Drive (www.dynamicdrive.com)
For source code, installation instructions, 100's DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

//change speed here
var speed=5
if (ns4){
var reference=window.innerWidth/window.innerHeight
var temp=eval("document.i1.clip")
temp.left=temp.top=0
temp.right=window.innerWidth
temp.bottom=window.innerHeight
}
else if (ie4||ns6){
var reference=ns6?parseInt(window.innerWidth)/window.innerHeight: document.body.clientWidth/document.body.clientHeight
var rightclip,leftclip,topclip,bottomclip
var temp=ns6?document.getElementById("i1").style:document.all.i1.style
topclip=leftclip=0
rightclip=temp.width=ns6?window.innerWidth*0.98:document.body.clientWidth
bottomclip=temp.height=ns6?window.innerHeight-2:document.body.clientHeight
}

function doit(){
window.scrollTo(0,0)
if (ns4){
if (temp.left>window.innerWidth/2)
clearInterval(stopit)
temp.left+=reference*speed
temp.top+=speed
temp.right-=reference*speed
temp.bottom-=speed
}
else if (ie4||ns6){
halfofbrowser=ns6?parseInt(window.innerWidth/2):document.body.clientWidth/2
if (leftclip>halfofbrowser){
clearInterval(stopit)
temp.display="none"
}
temp.clip="rect( "+topclip+" "+rightclip+" "+bottomclip+" "+leftclip+")"
leftclip+=reference*speed
topclip+=speed
rightclip-=reference*speed
bottomclip-=speed
}
}
stopit=setInterval("doit()",100)

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window25

"Шахматный" вертикальный переход на страницу
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=11)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window26

"Шахматный" горизонтальный переход на страницу
(IE4+)

Вы только что видели этот эффект.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!--Credit: George Chiang (www.abstract.simplenet.com) Free JavaScripts site-->
<meta http-equiv="Page-Enter" content="revealTrans(Duration=5.0,Transition=10)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window52

Шторы горизонтальные цветные 2
(цвет выделен белым)

Эффект Вы только что видели.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:yellow;
background-color:yellow;
border:0.1px solid yellow;
z-index:10;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="i1" class="intro"></div><div id="i2" class="intro"></div>
<script language="JavaScript1.2">

/*
Top-Down Curtain Script- By Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions, and TOS,
visit http://www.dynamicdrive.com
*/

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0
var speed=20
var temp=new Array()
var temp2=new Array()
if (ns4){
for (i=1;i<=2;i++){
temp[i]=eval("document.i"+i+".clip")
temp2[i]=eval("document.i"+i)
temp[i].width=window.innerWidth
temp[i].height=window.innerHeight/2
temp2[i].top=(i-1)*temp[i].height
}
}
else if (ie4||ns6){
var clipbottom=ns6?parseInt(window.innerHeight)/2:document.body.offsetHeight/2
cliptop=0
for (i=1;i<=2;i++){
temp[i]=ns6?document.getElementById("i"+i).style:eval("document.all.i"+i+".style")
temp[i].width=ns6?window.innerWidth-15:document.body.clientWidth
temp[i].height=ns6?window.innerHeight/2:document.body.offsetHeight/2
temp[i].top=(i-1)*parseInt(temp[i].height)
}
}

function openit(){
window.scrollTo(0,0)
if (ns4){
temp[1].bottom-=speed
temp[2].top+=speed
if (temp[1].bottom<=0)
clearInterval(stopit)
}
else if (ie4||ns6){
clipbottom-=speed
temp[1].clip="rect(0 auto+"+clipbottom+" 0)"
cliptop+=speed
temp[2].clip="rect("+cliptop+" auto auto auto)"
if (clipbottom<=-5){
clearInterval(stopit)
if (ns6){
temp[1].display="none"
temp[2].display="none"
}
}
}
}
function gogo(){
stopit=setInterval("openit()",100)
}
gogo()

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window53

Шторы вертикальные цветные
(цвет выделен белым)

Эффект Вы только что видели

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.intro{
position:absolute;
left:0;
top:0;
layer-background-color:red;
background-color:red;
border:0.1px solid red;
z-index:9;
}
-->
</style>

Содержимое этой таблицы поместите сразу после <BODY>

<div id="i1" class="intro"></div><div id="i2" class="intro"></div>
<script language="JavaScript1.2">

/*
Left-Right Curtain Script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more free DHTML scripts, and TOS,
visit http://dynamicdrive.com
*/

var ns4=document.layers?1:0
var ie4=document.all?1:0
var ns6=document.getElementById&&!document.all?1:0

var speed=20
var temp=new Array()
var temp2=new Array()
if (ns4){
for (i=1;i<=2;i++){
temp[i]=eval("document.i"+i+".clip")
temp2[i]=eval("document.i"+i)
temp[i].width=window.innerWidth/2
temp[i].height=window.innerHeight
temp2[i].left=(i-1)*temp[i].width
}
}
else if (ie4||ns6){
var clipright=ns6?window.innerWidth/2*0.98:document.body.clientWidth/2,clipleft=0
for (i=1;i<=2;i++){
temp[i]=ns6?document.getElementById("i"+i).style:eval("document.all.i"+i+".style")
temp[i].width=ns6?window.innerWidth/2*0.98:document.body.clientWidth/2
temp[i].height=ns6?window.innerHeight-1: document.body.offsetHeight
temp[i].left=(i-1)*parseInt(temp[i].width)
}
}

function openit(){
window.scrollTo(0,0)
if (ns4){
temp[1].right-=speed
temp[2].left+=speed
if (temp[2].left>window.innerWidth/2)
clearInterval(stopit)
}
else if (ie4||ns6){
clipright-=speed
temp[1].clip="rect(0 "+clipright+" auto 0)"
clipleft+=speed
temp[2].clip="rect(0 auto auto "+clipleft+")"
if (clipright<=0){
clearInterval(stopit)
if (ns6){
temp[1].display="none"
temp[2].display="none"
}
}
}
}

function gogo(){
stopit=setInterval("openit()",100)
}
gogo()

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window5

Автоматическая максимализация размера окна
Если окно браузера настроено только на часть экрана, то при открытии страницы с этим скриптом последний увеличит окно на весь экран (но не развернет!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
<!--

/*
Auto Maximize Window Script- By Nick Lowe (nicklowe@ukonline.co.uk)
For full source code, 100's more free DHTML scripts, and Terms Of Use
Visit http://www.dynamicdrive.com
*/

window.moveTo(0,0);
if (document.all) {
top.window.resizeTo(screen.availWidth,screen.availHeight);
}
else if (document.layers||document.getElementById) {
if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){
top.window.outerHeight = screen.availHeight;
top.window.outerWidth = screen.availWidth;
}
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<Form>
<p align="center"><input type="button" value="Пример" onclick="NewWindow('test3.htm','test3','300','300','yes','center');return false" onfocus="this.blur()">
</Form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window24

Автообновление страницы через заданный период времени
С отсчетом времени в статусной строке.

Фактически, это обычный редирект на эту же страницу с отсрочкой времени. Замените выделенную желтым цветом строку на window.location='Ваша_страница.htm' и загрузится именно Ваша_страница. А если Вы замените эту же строчку на window.open('Ваша_страница.htm'), то Ваша_страница загрузится в отдельном окне. Правда, через 30 секунд (выделено белым) Ваша_страница загрузится в еще одном окне, и в еще одном....так что, если посетитель отлучиться минут на 10-20, то компьютер придется перезагружать, причем reset-ом....:)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

/*
Auto Refresh Page with Time script
By Website Abstraction (wsabstract.com)
Over 200+ free scripts here!
*/

//enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
var limit="0:30"
      // ПЕРИОД ВРЕМЕНИ ДО ОБНОВЛЕНИЯ

if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
document.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+" минут(а) и "+cursec+" секунд
      осталось до обновления страницы!"
else
curtime=cursec+" сек. осталось до обновления
      страницы!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}

window.onload=beginrefresh
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Window13

Страница во весь экран

Кликните здесь для загрузки окна

Обязательно поместите на страницу линк Закрыть окно
Если Вы хотите, чтобы загрузка страницы производилась в полный экран автоматически, поместите onLoad="andBoom()" в тэг <BODY>. То есть это должно выглядеть так: <BODY onLoad="andBoom()">

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: David Sosnowski (support@codelifter.com) -->
<!-- Web Site: http://www.codelifter.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

/*
Во избежание ошибок, в особенности IE, лучше использовать
отгосительный, а не полный адрес открываемой страницы.
*/

// открываемая страница
url = "Window13.htm";

// скорость разворачивания окна по горизонтали
// lower is slower
var speedX = 7;

// скорость разворачивания окна по вертикали
// lower is slower
var speedY = 5;

// цвет "Загрузочного" экрана
var bgColor = "#000000";

// цвет текста в "Загрузочном" экране
var txtColor = "#FF80000";

// ---------------------------
if (document.all) {
var wide = window.screen.availWidth;
var high = window.screen.availHeight;
}
function andBoom() {
if (document.all) {
var Boomer = window.open("","BoomWindow","fullscreen");
Boomer.document.write('<HTML><BODY BGCOLOR='+bgColor+' SCROLL=NO><FONT FACE=ARIAL COLOR='+txtColor+'>Загрузка...</FONT></BODY></HTML>');
Boomer.focus();
for (H=1; H<high; H+= speedY) {
Boomer.resizeTo(1,H);
}
for (W=1; W<wide; W+= speedX) {
Boomer.resizeTo(W,H);
}
Boomer.location = url;
}
else {
window.open(url,"BoomWindow","");
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:andBoom()">Кликните здесь для загрузки окна</a><p align="center"><br>
Обязательно поместите на страницу линк <a href="javascript:window.close();">Закрыть окно</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Window10

Браузер в браузере
(только MSIE)

Введите адрес:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Rick Johnson (frj11@ev1.net) -->
<!-- Web Site: http://rickjohnson.tripod.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function writeLayer(text) {
document.frames['myFrame'].location.href = text;
document.addrForm.location.value = text;
}
function setLayer(text) {
if (text.indexOf("http://",0) <= 0)
text = "http://" +text;
document.frames['myFrame'].location.href = text;
document.addrForm.location.value = text;
}
function onLoad(text) {
if (text != "Microsoft Internet Explorer") {
alert("Netscape не поддерживается");
history.back();
}
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="onLoad(navigator.appName)">

<iframe src="about:blank" width=100% height=90% id=myFrame></iframe>
<center>
<form name=addrForm>
<input type=button value="Js Help" onClick="writeLayer('http://javashelp.cjb.net')">
<input type=button value="Yahoo" onClick="writeLayer('http://www.yahoo.com')">
<input type=button value="Ваш линк здесь" onClick="writeLayer('about:blank')">
Введите адрес:
<input type=text name=location value="Напечатайте любой URL адрес и нажмите Go" onFocus="this.value=''" size=35>
<input type=button value="Go" onClick="setLayer(document.addrForm.location.value)">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Window1

Вертикальный автоскроллинг страницы

(ОБЯЗАТЕЛЬНО! Страница не должна иметь горизонтального скроллинга! Для выделения используйте Ctrl+Click, для копирования выделенного используйте Ctrl+C)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">

/*
Top-Down scrolling window Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more free DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

//скорость скроллинга (чем больше число, тем
 быстрее)
var speed=1
var currentpos=0,alt=1,curpos1=0,curpos2=-1
function initialize(){
startit()
}
function scrollwindow(){
if (document.all)
temp=document.body.scrollTop
else
temp=window.pageYOffset
if (alt==0)
alt=1
else
alt=0
if (alt==0)
curpos1=temp
else
curpos2=temp
if (curpos1!=curpos2){
if (document.all)
currentpos=document.body.scrollTop+speed
else
currentpos=window.pageYOffset+speed
window.scroll(0,currentpos)
}
else{
currentpos=0
window.scroll(0,currentpos)
}
}
function startit(){
setInterval("scrollwindow()",10)
}
window.onload=initialize
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window23

Авто-скроллинг страницы
После полной прокрутки, страница перемещается к началу и все повторяется заново. Удобно для презентаций.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">
/*
Advanced window scroller script-
By Website Abstraction (www.wsabstract.com)
Over 200+ free JavaScripts here!
*/

var currentpos=0,alt=1,curpos1=0,curpos2=-1
function initialize(){
startit()
}
function scrollwindow(){
if (document.all)
temp=document.body.scrollTop
else
temp=window.pageYOffset
if (alt==0)
alt=1
else
alt=0
if (alt==0)
curpos1=temp
else
curpos2=temp
if (curpos1!=curpos2){
if (document.all)
currentpos=document.body.scrollTop+1
else
currentpos=window.pageYOffset+1
window.scroll(0,currentpos)
}
else{
currentpos=0
window.scroll(0,currentpos)
}
}
function startit(){
setInterval("scrollwindow()",10)
}
window.onload=initialize
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window9

Вид (размеры) страницы при разных разрешениях

Вид этой страницы при разрешении 640 x 480 pixels:

Вид этой страницы при разрешении 800 x 600 pixels:

Default Netscape Browser sizes:

640 x 480
Mac = 470x300:
PC = 580x300:

800 x 600
Mac = 470x430:
PC = 580x430:

1024 x 768
Mac = 470x600:
PC = 580x600:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function regular() {
window.open('window9.htm','640x480','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=640,height=480')}
function large() {
window.open('window9.htm','800x600','toolbar=yes ,status=yes,scrollbars=yes, location=yes, menubar=yes,directories=yes,width=800,height=600')}
function smallmacdefault() {
window.open('window9.htm','Mac','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=470,height=300')}
function smallpcdefault() {
window.open('window9.htm','PC','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=580,height=300')}
function mediummacdefault() {
window.open('window9.htm','Mac','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=470,height=430')}
function mediumpcdefault() {
window.open('window9.htm','PC','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=580,height=430')}
function largemacdefault() {
window.open('window9.htm','Mac','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=470,height=600')}
function largepcdefault() {
window.open('window9.htm','PC','toolbar=yes, status=yes,scrollbars=yes,location=yes, menubar=yes,directories=yes,width=580,height=600')}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
Вид этой страницы при разрешении 640 x 480 pixels:
<INPUT TYPE=BUTTON VALUE="640x480" onClick="regular()">
<P>Вид этой страницы при разрешении 800 x 600 pixels:
<INPUT TYPE=BUTTON VALUE="800x600" onClick="large()"><P>
<HR>
<P>
Default Netscape Browser sizes:
<P>
<B>640 x 480</B>
<BR>
Mac = 470x300:
<INPUT TYPE=BUTTON VALUE="Mac" onClick="smallmacdefault()">
<BR>
PC = 580x300:
<INPUT TYPE=BUTTON VALUE="PC" onClick="smallpcdefault()">
<P>
<B>800 x 600</B>
<BR>
Mac = 470x430:
<INPUT TYPE=BUTTON VALUE="Mac" onClick="mediummacdefault()">
<BR>
PC = 580x430:
<INPUT TYPE=BUTTON VALUE="PC" onClick="mediumpcdefault">
<P>
<B>1024 x 768</B><BR>
Mac = 470x600:
<INPUT TYPE=BUTTON VALUE="Mac" onClick="largemacdefault()">
<BR>
PC = 580x600: <INPUT TYPE=BUTTON VALUE="PC" onClick="largepcdefault()">
<P>
<P>
<HR>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window21

Страница в полноэкранном режиме
С СОХРАНЕНИЕМ КНОПОК МЕНЮ ДЛЯ ПОЛНОЭКРАННОГО РЕЖИМА!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*Channel mode window opener script: Written by Website Abstraction (www.wsabstract.com) More free scripts here*/
function channel(){
window.open("home.htm","","channelmode,scrollbars")
}
//-->
</script>
<form>
<input type="button" onClick="channel()" value="Главная страница">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window2

Горизонтальный автоскроллинг страницы
 (ОБЯЗАТЕЛЬНО! Страница не должна иметь вертикального скроллинга! Для выделения используйте Ctrl+Click, для копирования выделенного используйте Ctrl+C)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Left-Right scrolling window Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more free DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/
//.............................................................................................удалитеПОЛОСКУонаДЛЯрасширенияОКНАкакПРИМЕР............................................................................................................
//change speed to another integer to alter the scrolling speed. Greater is faster
var speed=2
var currentpos=0,alt=1,curpos1=0,curpos2=-1
function initialize(){
startit()
}
function scrollwindow(){
if (document.all)
temp=document.body.scrollLeft
else
temp=window.pageXOffset
if (alt==0)
alt=1
else
alt=0
if (alt==0)
curpos1=temp
else
curpos2=temp
if (curpos1!=curpos2){
if (document.all)
currentpos=document.body.scrollLeft+speed
else
currentpos=window.pageXOffset+speed
window.scroll(currentpos,0)
}
else{
currentpos=0
window.scroll(currentpos,0)
}
}
function startit(){
setInterval("scrollwindow()",10)
}
window.onload=initialize
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window

Задержка загрузки страницы.
Вот такой короткий тэг. И через пять секунд (выделено белым) эта страница переключится на страницу...- выделена желтым.

В эту страницу код не включен по понятным причинам.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<META HTTP-EQUIV="Refresh" Content="5; URL=nextpage.html">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window6

Изменение цвете Scrollbar для MSIE

(работает только с MSIE 5.5 )

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
BODY {
scrollbar-face-color: #CC3333;
scrollbar-shadow-color: #000000;
scrollbar-highlight-color: #000000;
scrollbar-3dlight-color: #999999;
scrollbar-darkshadow-color: #505050;
scrollbar-track-color: #cccccc;
scrollbar-arrow-color: #cccccc;
}
</style>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"


window7

Маленькое окно-спутник
 (только для Netscape 4.0)

Даже не думайте нажимать кнопку, если у Вас MSIE!!!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<Script Language="JavaScript1.2">
<!-- Hiding

/* Java Script by Lefteris Haritou 5/05/1997
http://www.geocities.com/SiliconValley/7096
Please do not remove the above credit !
No copyrights, but just be fair
*/
var x=0;
var y=0;
var plus=1;

function start(){
nw=window.open("","wd","scrolbar=0,toolbar=0,status=0");
window.nw.resizeTo(200,100);
window.nw.moveTo(0,0)
nw.document.open();
nw.document.writeln('<HTML><BODY onBlur="self.focus()" Bgcolor="#FFFFF0"><CENTER><BR><font face="Arial" color="#0000FF" size=4>Cool New Features Of Netscape 4</font></CENTER></BODY></HTML>');
nw.document.close();
gvar();
}

function earthquake(){
window.nw.moveBy(x,y);
gvar();
}

function gvar(){
if (plus==1){
if (x<35){
x+=1;
window.setTimeout("earthquake()",200);
}
else{
if (y<29){
y+=1;
window.setTimeout("earthquake()",200);
}
else{
plus=0;
x=0;
y=0;
gvar();
}
}
}
else{
if (x>-35){
x-=1;
window.setTimeout("earthquake()",200);
}
else{
if (y>-29){
y-=1;
window.setTimeout("earthquake()",200);
}
else{
fine();
}
}
}
}

function gvarm(){
if (y>0){
y-=1;
window.setTimeout("earthquake()",200);
}
else{
if (x>0){
x-=1;
window.setTimeout("earthquake()",200);
}
else{
fine();
}
}
}

function fine(){
alert("Demo presented to you by Lefteris Haritou \n http://www.geocities.com/~lef");
nw.close();
clearTimeout();
}

// Done Hiding -->

</Script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<Form>
<Input type="button" Value="Begin" onclick="start()">
</Form>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window3

Мини-окно внутри основного окна
Внутри мини-окна появляется полноценный документ.

(только для MSIE 4+, другие браузеры окна не увидят)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<iframe name="cwindow" style="border:15 outset blue" width=150 height=150 src="clocks14.htm"></iframe>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window56

Скроллер HTML документа
Весьма неожиданный и эффектный, но наудивление простой скрипт, позволяющий прокручивать в небольшом окошке любой другой HTML документ. При этом все ссылки в документе работать будут. Так же, при наведении мыши на бокс, скорость скроллинга заметно снижается для удобства чтения... К сожалению, из файла справки этот скрипт работать не может. Тем не менее, я очень рекомендую Вам, хотя бы в качестве эксперемента, поместите скрипт на какую-нибудь страницу и посмотрите на результат. Впечатляет. (ТОЛЬКО IE)

Желтым отмечена скорость скроллинга при наведении мыши. Голубым - прокручиваемая страница.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <!--[if IE]>

<IE:Download ID="marqueedata" STYLE="behavior:url(#default#download)" />
<marquee id="externalmarquee" direction=up scrollAmount=4 style="width:200px;height:150px;border:1px solid black;padding:3px"
 onMouseover="this.scrollAmount=1"
 onMouseout="this.scrollAmount=4" src="window49.htm"
 >
</marquee>

<script language="JavaScript1.2">

/*
External Data Source Marquee Script (Updated 99/11/02)-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/

function downloaddata(){
marqueedata.startDownload(externalmarquee.src,displaydata)
}

function displaydata(data){
externalmarquee.innerHTML=data
}

if (document.all)
window.onload=downloaddata

</script>

<![endif]-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC114

Окно с прокруткой на странице
(кроссбраузерное)

Этот отличный скрипт позволяет поместить на странице много дополнительной информации, не занимая слишком много места. Делает Вашу страницу более интерактивной. Скрипт включает две технологии: одна для IE. другая для NS. Для IE - скроллбары, для NS - линки ВВЕРХ ВНИЗ ВЕРХ НИЗ, поскольку NS не поддерживает скроллбары для контента.

верх | ВНИЗ | ВВЕРХ | низ

Содержимое этой таблицы поместите между <BODY> и </BODY>

<ilayer name="scroll1" width=170 height=150 clip="0,0,170,150">
<layer name="scroll2" width=170 height=150 bgColor="yellow">
<div id="scroll3" style="width:170;height:150;background-color:yellow;overflow:scroll">
<big>Э</big>тот отличный скрипт позволяет поместить на странице много дополнительной информации, не занимая слишком много места. Делает Вашу страницу более интерактивной. Скрипт включает две технологии: одна для IE. другая для NS. Для IE - скроллбары, для NS - линки ВВЕРХ ВНИЗ ВЕРХ НИЗ, поскольку NS не поддерживает скроллбары для контента.
</div>
</layer>
</ilayer>

<script>

/*
Scrollable content Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var nsstyle='display:""'
if (document.layers)
var scrolldoc=document.scroll1.document.scroll2
function up(){
if (!document.layers) return
if (scrolldoc.top<0)
scrolldoc.top+=10
temp2=setTimeout("up()",50)
}
function down(){
if (!document.layers) return
if (scrolldoc.top-150>=scrolldoc.document.height*-1)
scrolldoc.top-=10
temp=setTimeout("down()",50)
}

function clearup(){
if (window.temp2)
clearInterval(temp2)
}

function cleardown(){
if (window.temp)
clearInterval(temp)
}

</script>
<br><a href="#" onMousedown="up()"
onMouseup="clearup()" onClick="return false" onMouseout="clearup()"><sup>верх</sup></a><span style="display:none" style=&{nsstyle};>
| </span><span style="&{nsstyle};" style> <a href="#"
onMousedown="down()" onMouseup="cleardown()" onClick="return false"
onMouseout="cleardown()">ВНИЗ</a></span><span style="display:none" style=&{nsstyle};>
| </span><span style="&{nsstyle};" style> <a href="#" onClick="if (document.layers) scrolldoc.top=0;return false">ВВЕРХ</a></span><span style="&{nsstyle};" style>
| </span> <a href="#"
onClick="if (document.layers) scrolldoc.top=scrolldoc.document.height*(-1)+150;return false">низ</a><span style="&{nsstyle};" style>

Как обычно, имея свой вариант, хочу им поделиться. Не уверен, правда, на счет ранних версий NS, но последние прочитают все совершенно точно. Итак, сравнивайте. Прежде всего, внеший вид (большая ли разница?) и во-вторых, сам код (есть ли разница?)

А ВОТ ЭТО КОД:

<textarea rows="8" cols="20" readonly wrap=vertual style="background-color: #FFFF00; text-align: Center; font-family: Arial; font-size: 13pt; border-style: solid; border-width: 0" name="er">
ТЕКСТ СООБЩЕНИЯ
</textarea>

Код, мягко говоря, покороче...

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window19

Напоминание об открытом окне

Через 30 секунд (время можно изменить, см. таблицу) окно браузера с Вашей страницей, открытое не единственным у посетителя, окажется поверх всех других окон. По понятным причинам скрипт не включен в эту страницу - см. код в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="Javascript">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var time = 30 // время в секундах

function remind() {

this.focus()

var real = time * 1000
setTimeout("remind()",real)

}

remind();
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC84

Открыть страницу в новом окне
Предложенный способ нужен только в том случае, если Вы хотите определить каким панелям следует появляться в новом окне. Если же такой необходимости нет, используйте другой способ, описанный в третьей таблице (этот способ используется в JS Library - всего одна строка!!!)

или

Открыть эту страницу в новом окне

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function Start(page) {
OpenWin = this.open(page, "CtrlWindow", "toolbar=yes,menubar=yes,location=yes,
      scrollbars=yes,resizable=yes");
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<input type=button onClick="Start('RC84.htm')" value="Открыть эту страницу в новом окне">
</form>
или<P>
<a href="javascript:Start('RC84.htm')";>Открыть эту страницу в новом окне</a>
</center>

Другой способ (так работает кнопка внизу страницы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <!--И БОЛЬШЕ НИЧЕГО НЕ НАДО!!!-->

<input type=button value="Открыть в окне браузера" onClick="Javascript:window.open(self.location)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Window17

Передвигаемое окно
Когда откроете окно с примером, разверните его во весь экран и затем понажимайте кнопочки. Код, предложенный в таблицах, устанавливается непосредственно на двигаемую страницу.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Aaron Clinger (aaron@newtheory.net) -->
<!-- Web Site: http://www.newtheory.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveWindowLeft() {
window.moveBy(-15, 0);
window.moveBy(0, 0);
}
function moveWindowRight() {
window.moveBy(15, 0);
window.moveBy(0, 0);
}
function moveWindowUp() {
window.moveBy(0, 0);
window.moveBy(0, -15);
}
function moveWindowDown() {
window.moveBy(0, 0);
window.moveBy(0, 15);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table>
<tr>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrow.gif'); height: 22; width: 22" onClick="moveWindowUp();">
</td>
<td>
</td>
</tr>
<tr>
<td>
<input type=button value="" style="background-image: url('arrowl.gif'); width: 22; height: 22" onClick="moveWindowLeft();">
</td>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrowr.gif'); width: 22; height: 22" onClick="moveWindowRight();">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrowd.gif'); height: 22; width: 22" onClick="moveWindowDown();">
</td>
<td>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC93

Перезагрузка страницы после изменения размера окна
Скрипт перезагружает страницу при малейшей попытке изменить размер окна. Это бывает крайне полезно, когда Вы используете другие скрипты, получающие информацию о размерах окна для корректной работы. В эту страницу помещен для примера скрипт "Пропорциональное изменение размеров рисунка". Попробуйте вручную изменить размеры этого окна - страница будет перезагружена и рисунок соответственно уменьшится (увеличиться).

Содержимое этой таблицы поместите вместо тэга <BODY>

<BODY onResize="window.location.href = window.location.href;">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window22

Простой "открыватель" во весь экран

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*Full screen window opener script: Written by Website Abstraction (www.wsabstract.com) More free scripts here*/
function winopen(){
var targeturl="home.htm"
newwin=window.open("","","scrollbars")
if (document.all){
newwin.moveTo(0,0)
newwin.resizeTo(screen.width,screen.height)
}
newwin.location=targeturl
}
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


New Page 2

Эта страница использует frame-ы, но Ваш браузнр их не поддерживает.


window49

Скриптлет
 То, что Вы видите называется скриптлет. Наверняка, просматривая примеры работы скриптов в этой справке, Вам встречался этот файл под названием Link.htm. Так вот, теперь, для того, чтобы его увидеть, вернее показать Вам мне не надо делать линк (то есть линк, конечно понадобится, но в скрипте) и просить Вас по этому линку перейти на страницу Link.htm. Я просто вставляю страницу Link.htm в эту страницу! Коротенький скриптлет Вы видите в таблице. Там все предельно просто: назначайте размеры и файл и Вам не нужны никакие SSI. Одно "но". Не все элементы HTML и уж тем более JavaScript смогут работать в таком окошке (в отличии от iframe, которые, правда, половина браузеров не видит). Для примера можете кликнуть по слову СПРАВКА (это не ссылка - ссылки работают - это object).

Содержимое этой таблицы поместите между <BODY> и </BODY>

<object type="text/x-scriptlet" width=95% height="250" data="Link.htm">
</object>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Window14

Cтраница во весь экран
Обязательна нужна кнопка или линк "Закрыть"!!!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
function fullScreen(theURL) {
window.open(theURL, '', 'fullscreen=yes, scrollbars=auto');
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<input type=button value="Открыть страницу в полный экран" onClick="fullScreen(Window14.htm');"><br><br>
<input type=button value="ЗАКРЫТЬ" onClick="javascript:window.close();">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window16

"Ненормальное" окно

* Используйте CTRL-ALT-DEL чтобы остановить "ненормальное" окно!

Содержимое этой таблицы поместите между <HEAD> и </HEAD> "СУМАСШЕДШЕГО ОКНА"

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eric B. Dennis -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
if(document.layers || document.all) {
a = 1;
setInterval("Jump()", 10);
}
function Jump() {
a = a + 1;
self.moveBy((Math.random() * a * 2 - a), (Math.random() * a * 2) - a);
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window58

Сумасшедшее окно 2
В отличии от "Сумасшедшего окна 1" это окошечко генерируется скриптом прямо с этой страницы, а не создается с помощью отдельного HTML файла c встроенным JavaScript кодом "сводящим нормальный файл с ума". Это окошечко - чокнутое от рождения и ничем полезным, кроме развлечения быть не может.

Сумасшедшее Окно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript"><!--
var nw;
var faza=1;
//1-win not opened
//2-win not move
//3-win move until "stop" but. is pressed
var si;

function processMadWindow() {

nw.focus();
nw.moveBy(Math.random()*20-10, Math.random()*20-10);
nw.resizeBy(Math.random()*20-10, Math.random()*20-10);

};

function startWin() {
if (faza==1)
{
nw = window.open("","nw","toolbar=0, location=0,directories=0,resizable=1,
      status=0,menubar=0,scrollbars=0, width=100,height=100, top="+eval(screen.height/2-50)+",
      left="+eval(screen.width/2-150));
nw.focus();
document.manWin.startBut.value="Старт";
faza=2;
}
else
{
if (faza==2) {

document.manWin.startBut.value="Стоп";

setInterval('processMadWindow()',25);
faza=2;
}
else
{
faza=2;
document.manWin.startBut.value="Старт";
clearInterval(si);

}
}
};
//--></script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=manWin>
<font size=96 color=#dd4490><b>Сумасшедшее</b><i> Окно</i></font><p align=center>
<input name="startBut" value="Открыть Сумасшедшее окно" type="button" onClick="startWin()">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC32

"Трясучка" браузера
(иногда и самостоятельно)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">

<!---

bName = navigator.appName;

bVer = parseInt(navigator.appVersion);

if (bName == "Netscape" && bVer == 3) ver = "n3";
else if (bName == "Netscape" && bVer == 2) ver = "n2";
else if (bName == "Netscape" && bVer >= 4) ver = "n4";
else if (bName == "Microsoft Internet Explorer" && bVer == 2) ver = "e3";
else if (bName == "Microsoft Internet Explorer" && bVer > 2) ver = "e4";

if (navigator.appVersion.indexOf("Mac") != -1) ver+="m";

function shake() {
if (ver == "n4" || ver == "n4m" || ver == "e4" || ver == "e4m") {
for (i = 10; i > 0; i--) {

for (z = 10; z > 0; z--) {
self.moveBy(0,i);
self.moveBy(i,0);
self.moveBy(0,-i);

self.moveBy(-i,0);
} }
}
}

setTimeout('shake()',3000);

// --->

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window8

"Трясучка" браузера 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function shake(n) {
if (parent.moveBy) {
for (i = 10; i > 0; i--) {
for (j = n; j > 0; j--) {
parent.moveBy(0,i);
parent.moveBy(i,0);
parent.moveBy(0,-i);
parent.moveBy(-i,0);
}
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<input type=button onClick="shake(2)" value="Потрясти окно!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window57

Трясучка браузера 3
Кроссбраузерная, с вероятностью, что Вас "потрясет" 50 на 50, плю pop-up сообщение о том, что вас трясло с такой-то силой и теперь, мол, все в порядке. Нажмите кнопку и в открывшемся окне понажимайте REFRESH

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

</style>
<style>
#quakenotice_ie{
font:normal 14px Arial;
position:absolute;
width:300px;
height:55px;
border:2px solid black;
background-color:lightyellow;
visibility:hidden;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="earthquake()">

<layer id="quakenotice_ns" width=300 height=55 bgColor=lightyellow visibility=hide></layer>
<script>

/*
EarthQuake script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions, 100's more DHTML scripts, and Terms Of Use,
Visit http://dynamicdrive.com
*/

//configure the likelihood that an earthquake will occur (100% means always)
var chance_of_occurence="50%"

/////do NOT edit below this line/////////////

//variable used to store the equivalency of the 10 rector scales (in the form of 1, 3, 6...etc)
var rectorscale=new Array(1,3,6,9,12,15,18,21,24,27)
chance_of_occurence=parseInt(chance_of_occurence)

function earthquake(){
//randomly assign a number from 1 to 10 to variable rectorindex
rectorindex=Math.floor(Math.random()*10)
//randomly assign one of element rectorscale into variable rector
rector=rectorscale[rectorindex]
if ((document.all||document.layers)&&Math.floor(Math.random()*100)<=chance_of_occurence) {
//shake the browser's screen according to the random rector scale!
for (i=0;i,i<20;i++){
window.moveBy(0,rector)
window.moveBy(rector,0)
window.moveBy(0,-rector)
window.moveBy(-rector,0)
}
// show quake message
quakealert()
}
}

if (document.all)
document.write('<div id="quakenotice_ie"></div>')

function quakealert(){
var quakemessage='An earthquake of magnitude <b>'+eval(rectorindex+1)+'</b> has just occured! Please stay calm...everything\'s fine now.'

if (document.all){
quakemsg_ie=document.all.quakenotice_ie
quakemsg_ie.innerHTML=quakemessage
//position quake message in center of screen
quakemsg_ie.style.left=document.body.scrollLeft+document.body.clientWidth/2-quakemsg_ie.offsetWidth/2
quakemsg_ie.style.top=document.body.scrollTop+document.body.clientHeight/2-quakemsg_ie.offsetHeight/2
quakemsg_ie.style.visibility="visible"
setTimeout("quakemsg_ie.style.visibility='hidden'",5000)
}
else if (document.layers){
quakemsg_ns=document.quakenotice_ns
quakemsg_ns.document.write(quakemessage)
quakemsg_ns.document.close()
quakemsg_ns.left=pageXOffset+window.innerWidth/2-quakemsg_ns.document.width/2
quakemsg_ns.top=pageYOffset+window.innerHeight/2-quakemsg_ns.document.height/2
quakemsg_ns.visibility="show"
setTimeout("quakemsg_ns.visibility='hide'",5000)
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"


window18

Установка размеров окна браузера
Нажмите кнопку и в появившемся окне кликните по линку. Следуйте указаниям. Скрипт всего в одну строку! Правда, длинную...:)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:var intwidth;var intheight;intwidth=prompt('Введите желаемую ширину окна браузера.','');intheight=prompt('Введите желаемую высоту окна браузера.','');intwidth=parseInt(intwidth);intheight=parseInt(intheight);if(intwidth>0&&intheight>0) {window.resizeTo(intwidth,intheight);}else{alert('Для изменения размеров окна браузера\nШИРИНА и ВЫСОТА окна браузера\nобязательно должны быть определены.');}">Установить размеры окна</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


search14

Поиск в базе данных
Базу данных Вы составляете, конечно же, сами и располагаете ее здесь же, в коде страницы.

Доступ к данным
Порядок
Поиск

Для примера введите для поиска часть названия yah или Lyc

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript1.1">
<!--
// ****************************************
// Guillermo BT, Junio 1997 . Madrid.
// ----------------------------------------
// Netmani@ No. 18.
// http://www.canaldinamic.es/NETMANIA/
// ****************************************

var tname= new Array ();
// ------------------------
// Введите зднсь Ваши данные
// ------------------------
tname[0]="Yahoo;www.yahoo.com";
tname[1]="Infoseek;www.infoseek.com";
tname[2]="Lycos;www.lycos.com";
tname[3]="WebCrawler;www.webcrawler.com";
tname[4]="Trovator;trovator.combios.es";
tname[5]="BIWE;biwe.cesat.es";
tname[6]="Ole;www.ole.es";
tname[7]="Fantastico;www.fantastico.com";
tname[8]="SOL;www.sol.es";
tname[9]="donde;donde.uji.es";
tname[10]="Telepolis;www.telepolis.com";
tname[11]="El Cano;www.elcano.com";
// ------------------------

function QuickSort (vec) {

orderedVec= Ordenar (vec,0,vec.length-1);
return orderedVec
}

function Order (vec,iz,de) {

var i=iz;
var j=de;
var x= vec[Math.round((iz+de)/ 2)];
while (i<=j) {
while (vec[i]<x) {i++};
while (vec[j]>x) {j--};
if (i<=j) {
var w= vec[i];
vec[i]= vec[j];
vec[j]= w;
i++;
j--;
}
}
if (iz<j) Order(vec,iz,j);
if (i<de) Order(vec,i,de);
return vec;
}

function Vector2URL (elem, separation) {
var cArray= elem.split(separation);
var url="<a href=http://"+cArray[1]+">";
//alert (url);
v.document.write ("<li>",cArray[0].fontcolor('red'));
v.document.write (" (имеется ",url,"web</a> страница)<br>");
}

function ShowEntries (vec) {
v= window.open ('jv_sor2b.html','ventana', 'scrollbars=1,width=400,height=220');
v.document.write ("<b>Похожие названия:</b><br><ul>");
var i = 0;
n=vec.length;
if (n != 0) {
while (i<n) {
Vector2URL(vec[i], ';');
i++
}
}
v.document.write ("</ul>");
v.document.write ("<form><input type=button value=Закрыть onClick='self.close()'></form>");
}

function Manage (vector) {
if (vector.length==0) {
alert ("Похожих названий не найдено!");
}
else {
alert ("Поиск завершен!");
ShowEntries (vector);
}
}

function Search (strng, vector) {

var i=0; var j=0;
var array2= new Array();
while (i<(vector.length)) {
var cArray= vector[i].split(';');
nStr=new String (cArray[0]);
idx=nStr.toLowerCase().indexOf(strng);
if (idx != -1) {
array2[j]= vector[i];
j++
}
i++
}
return array2
}

// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<FORM name=formSearch>
<table border=2 cellpadding=3 cellspacing=4 bgcolor="#808080">
<tr bgcolor=yellow>
<th colspan=2><font size="3" color="#000000" face="Verdana">Доступ к
данным</font>
<tr align=center>
<td bgcolor=lightgreen><font size="2" face="Verdana" color="#000000"><b>Порядок</b></font>
</td><td>
<input type=button value="Хронология" name=botMostrar
onClick="ShowEntries(tname)">
<input type=button value="Алфавит" name=botOrder
onClick="tname.sort(); ShowEntries(tname)">
<tr align=center>
<td bgcolor=lightgreen><font size="2" face="Verdana" color="#000000"><b>Поиск</b></font>
</td><td align=center>
<input type=text size=20 name=who value=""><br>
<input type=button value="похожее слово" name=botSearch
onClick="
if (this.form.who.value=='') {
alert ('Вы должны ввести что-нибудь для поиска!')
}
else {
valor=Search(this.form.who.value.toLowerCase(), tname);
Manage (valor)
}"></td>
</table>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search1

Поиск по странице
(запрос JavaScript)

Кликните по ссылке и введите искомое слово в форму запроса JavaScript. Нажмите "OK"

НАЙТИ НА ЭТОЙ СТРАНИЦЕ

Содержимое этой таблицы поместите между <BODY> и </BODY>

<P ALIGN="Center"><a href="javascript:FD983r={x:function(){var r,i,s=document.selection.createRange().text;
if(!s)s=prompt('НАЙТИ:','');if(s){r=document.body.createTextRange();for(i=0;r.findText(s);i++)
{r.execCommand('BackColor','','lightyellow');r.collapse(false)};
alert('НАЙДЕНО: '+i+' СЛОВ(А)')}}};FD983r.x()">НАЙТИ НА ЭТОЙ СТРАНИЦЕ</a></p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search12

Найти на странице 2
Введите слово и нажмите кнопку - найденное слово будет выделено!

Введите слово

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike Hall (MHall75819@aol.com) -->
<!-- Web Site: http://members.aol.com/MHall75819 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var NS4 = (document.layers);
var IE4 = (document.all);

var win = this;
var n = 0;

function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " was not found on this page.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert(str + " was not found on this page.");
}
}
return false;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=search>
Введите слово
<input name=string type=text size=15 onChange="n = 0;">
<input type=button value="Найти на странице"
onClick="findInPage(this.form.string.value);">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search2

АДРЕС ЭТОЙ СТРАНИЦЫ

Содержимое этой таблицы поместите между <BODY> и </BODY>

<b>АДРЕС ЭТОЙ СТРАНИЦЫ</b>
<div style="width: 353; height: 76">
<font size="3" color="#000000">
<script language="JavaScript">
<!--
document.write("<font color=\"#CC6600\"><B>ЭТО АДРЕС ОТКРЫТОЙ СТРАНИЦЫ: </B></FONT>" + document.location);
// -->
</script>
</font>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search3

Please enable JavaScript in your browser preferences and then Reload this page!!!

Интернет-поиск Rose
(сразу по нескольким поисковикам)

Red Rose Int'l

Internet Search
1. Введите ключевое слово(а)
2. Выбирите поисковый сервер(ы)
и нажмите Искать

Alta Vista
Excite
HotBot
Infoseek
Lycos
Webcrawler
Yahoo

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<NOSCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="javascript">
<!--

function netsearch(formname)

{
var a1
var a2
var b1
var b2
var c1
var c2
var d1
var d2
var e1
var e2
var f1
var f2
var g1
var g2
var plus
var TEXT
var noENGINE
var haveTEXT

TEXT=formname.TEXT.value;

noEngine=true;
haveTEXT=true;
plus=""

if (TEXT=="")
{
alert("Please type in some text!")
haveTEXT=false
}
else
{
for (var i=0; i < TEXT.length; i++)
{
if (TEXT.charAt(i)==" ")
{
plus+="%20"
}
else
{
plus += TEXT.charAt(i)
}
}
}

TEXT=plus

//ALTAVISTA
a1=formname.altavista.checked;

a2="http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=&q="+TEXT;
if (a1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(a2, "av","toolbar,
 location,directories, status,menubar,scrollbars,resizable=1")
}
}

//EXCITE
b1=formname.excite.checked;
b2="http://www.excite.com/search.gw?trace=a&search="+TEXT;
if (b1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(b2, "e","toolbar,
 location,directories,status, menubar,scrollbars,resizable=1")
}
}

//HOTBOT
c1=formname.hotbot.checked;

c2="http://www.search.hotbot.com/hResult.html?SM=MC&MT="+TEXT+"&DV=7&RG=.
 com&DC=10&DE=2&OPs=MDRTP&_v=2&DU=days&SW=web&search.x=23&search.y=8";
if (c1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(c2, "h","toolbar,
 ocation,directories,status, menubar,scrollbars,resizable=1")
}
}

//INFOSEEK
d1=formname.infoseek.checked;

d2="http://www.infoseek.com/Titles?qt="+TEXT+"&col=WW&sv=IS&lk=noframes&nh=10";
if (d1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(d2, "i", "toolbar,location,directories,status,
 menubar,scrollbars,resizable=1")
}
}

//LYCOS
e1=formname.lycos.checked;

e2="http://www.lycos.com/cgi-bin/pursuit?query="+TEXT+"&matchmode=and&cat=lycos&x=33&y=10";
if (e1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(e2, "l","toolbar,
 location,directories,status, menubar,scrollbars,resizable=1")
}
}

//WEBCRAWLER
f1=formname.webcrawler.checked;
f2="http://www.webcrawler.com/cgi-bin/WebQuery?searchText= "+TEXT;
if (f1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(f2, "w","toolbar,
 location,directories,status, menubar,scrollbars,resizable=1")
}
}

//YAHOO
g1=formname.yahoo.checked;
g2="http://search.yahoo.com/bin/search?p="+TEXT;
if (g1)
{
noEngine=false
if (haveTEXT)
{
newWindow=window.open(g2, "y","toolbar,location,directories,status,
 menubar,scrollbars,resizable=1")
}
}

//noENGINE
if (noEngine)
{
alert("Please select a search engine!")
}

// END Netsearch

}

function getPath(url) {

lastSlash = url.lastIndexOf("/")

return url.substring(0, lastSlash + 1)

}

// -->

</script>

<!--
<H2><font color="red">
This search page requires JavaScript to run. Please hit your <strong><i>BACK</i></strong> button and follow the link at the bottom of the page to get the latest version of Internet Explorer.<br> Thank you.
</font></H2>
-->

<p><br>
<a href="http://users.ap.net/~chip"  title="Back to Red Rose Int'l"><font color="#800000"
size="2" face="Tahoma"><strong>Red Rose Int'l</strong></font></a><font
size="2" face="Tahoma"> </font></p>

<form name="engines" onSubmit="netsearch(engines)">
<font size="2" face="Tahoma"><align="left"></font><p><font color="#800000"
size="4" face="Tahoma"><strong>Internet Search</strong></font>
<font size="2"><br>

1.&nbsp; </font></font><font size="2" color="#FF0000">Введите
ключевое слово(а)</font>
<font size="4" color="#FF0000">
<font size="2">
<br>
2.&nbsp;&nbsp;Выбирите поисковый сервер(ы) <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;и нажмите <strong>Искать</strong></font>
<font size="4" color="#FF0000">
<font size="2">
<br><br>

<!-- //    <input type="text" size="25" maxlength="200" name="TEXT" value="Enter Keywords Here" onClick="form.TEXT.select()">
// -->
<script language="javascript">
if (navigator.appName=="Netscape") {
document.write("<font size='3'>")
document.write("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + navigator.appName)
document.write("<br>");
document.write("<input type='text' size='25' maxlength='200' name='TEXT' value='Enter Keywords Here' onFocus='form.TEXT.select()'>")
document.write("</font>")
}
else {
document.write("&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;" + navigator.appName);
document.write("<br>");
document.write("<input type='text' size='25' maxlength='200' name='TEXT' value='Введите ключевое слово' onClick='form.TEXT.select()'> ");
}
</script>

<br>
<input type="checkbox" name="altavista">Alta Vista<br>
<input type="checkbox" name="excite">Excite<br>
<input type="checkbox" name="hotbot">HotBot<br>
<input type="checkbox" name="infoseek" CHECKED>Infoseek<br>
<input type="checkbox" name="lycos">Lycos<br>
<input type="checkbox" name="webcrawler">Webcrawler<br>
<input type="checkbox" name="yahoo">Yahoo<br> <br>
<input type="submit" value="Искать">

<input type="reset" value="Сброс"> <br>
</font></p>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search4

Интернет-поиск Silva

Siva's S E A R C H M ACHINE
WORLD WIDE WEB
AltaVista Highway 61 Lycos SavvySearch
Excite Infoseek Magellan Webcrawler
Hotbot Ultraseek PointReview Yahoo!
USENET NEWS
AltaVista DejaNews Tile.Net Usenet FAQ's
MISCELLANEOUS
Four11 Directory Services Internet Movie Database
InfoSpace 800 Directory Webster's Dictionary

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
var gt = unescape('%3e');
function go(input) {
var form = input.form;
form.take.value = form.desc.value;
}
function se(input) {
var form = input.form;
form.take.value = "null";
}
function search(form) {
if (form.take.value == form.desc.value) {
take = form.take.value;
window.location.href = take;
} else {
pre = form.pre.value;
pre += escape(form.query.value);
pre += escape(form.post.value);
window.location.href = pre;
}
}
function jump(url) {
window.location.href = url;
}
function a(input) {
var form = input.form;
form.pre.value = "http://altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q=";
form.post.value = "";
form.desc.value = "http://altavista.digital.com/";

}
function b(input) {
var form = input.form;
form.pre.value = "http://www.excite.com/search.gw?search=";
form.post.value = "";
form.desc.value = "http://www.excite.com/";

}
function c(input) {
var form = input.form;
form.pre.value = "http://guide-p.infoseek.com/Titles?qt=";
form.post.value = "";
form.desc.value = "http://guide.infoseek.com/";

}
function w(input) {
var form = input.form;
form.pre.value = "http://www.digiweb.com/~vmirror/search/nph-seek.cgi?string=";
form.post.value = "";
form.desc.value = "http://www.highway61.com/";

}
function e(input) {
var form = input.form;
form.pre.value = "http://www.lycos.com/cgi-bin/pursuit?query=";
form.post.value = "";
form.desc.value = "http://www.lycos.com/";

}
function f(input) {
var form = input.form;
var plus = ""
for (var i=0; i < form.query.value.length; i++) {
if (form.query.value.charAt(i) == " ") {
plus += "+";
} else {
plus += form.query.value.charAt(i);}
}
form.query.value = plus;
form.pre.value = "http://searcher.mckinley.com/searcher.cgi?query=";
form.post.value = "";
form.desc.value = "http://magellan.mckinley.com/";

}
function g(input) {
var form = input.form;
form.pre.value = "http://point.lycos.com/cgi-bin/pursuit?cat=point&query=";
form.post.value = "";
form.desc.value = "http://point.lycos.com/";

}
function h(input) {
var form = input.form;
form.pre.value = "http://www.search.hotbot.com/hResult.html?SM=MC&MT=";
form.post.value = "";
form.desc.value = "http://www.hotbot.com/";

}
function i(input) {
var form = input.form;
form.pre.value = "http://rampal.cs.colostate.edu:2000/nph-search?KW=";
form.post.value = "";
form.desc.value = "http://guaraldi.cs.colostate.edu:2000/";

}
function j(input) {
var form = input.form;
form.pre.value = "http://webcrawler.com/cgi-bin/WebQuery?searchText=";
form.post.value = "";
form.desc.value = "http://www.webcrawler.com/";

}
function k(input) {
var form = input.form;
form.pre.value = "http://search.yahoo.com/bin/search?p=";
form.post.value = "";
form.desc.value = "http://www.yahoo.com/";

}
function l(input) {
var form = input.form;
form.pre.value = "http://altavista.digital.com/cgi-bin/query?pg=q&what=news&q=";
form.post.value = "";
form.desc.value = "http://altavista.digital.com/";

}
function m(input) {
var form = input.form;
form.pre.value = "http://www.dejanews.com/dnquery.xp?QRY=";
form.post.value = "";
form.desc.value = "http://www.dejanews.com/";
}
function n(input) {
var form = input.form;
form.pre.value = "http://tile.net/cgi-bin/cgi/AT-NEWSsearch.cgi?search=";
form.post.value = "";
form.desc.value = "http://tile.net/news/";

}
function o(input) {
var form = input.form;
var plus = ""
for (var i=0; i < form.query.value.length; i++) {
if (form.query.value.charAt(i) == " ") {
plus += "+";
} else {
plus += form.query.value.charAt(i);}
}
form.query.value = plus;
form.pre.value = "http://www.cis.ohio-state.edu/htbin/search-usenet-faqs/form.html?";
form.post.value = "";
form.desc.value = "http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html";

}
function v(input) {
var form = input.form;
form.pre.value = "http://www.four11.com/cgi-bin/Four11Query?";
form.post.value = "";
form.desc.value = "http://www.four11.com/";

}
function q(input) {
var form = input.form;
form.pre.value = "http://206.129.166.105/search?QK=15&QI=0&QT=3&Select=0&QU=&QN=";
form.post.value = "";
form.desc.value = "http://206.129.166.101/800.html";

}
function r(input) {
var form = input.form;
form.pre.value = "http://us.imdb.com/M/title-substring?title=";
form.post.value = "";
form.desc.value = "http://us.imdb.com/";

}
function u(input) {
var form = input.form;
form.pre.value = "http://gs213.sp.cs.cmu.edu/prog/webster?";
form.post.value = "";
form.desc.value = "http://c.gp.cs.cmu.edu:5103/prog/webster";

}
function x(input) {
var form = input.form;
form.pre.value = "http://ultra.infoseek.com/Titles?qt=";
form.post.value = "";
form.desc.value = "http://ultra.infoseek.com/";

}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <form name=form action="javascript:search(document.form);//">
<table cellspacing=0 cellpadding=0 bgcolor=ffffff width=100%><tr>
<td colspan=4 align=center bgcolor="40E0D0">
<font color="4076f8" face="verdana,arial,helv"> <b>Siva's&nbsp; &nbsp; S<font size=2> E A R C H</font> &nbsp; &nbsp; M<font size=2> ACHINE<br><br>
<table width=100% cellpadding=0><tr><td align=center>
<input size=25 name=query>
<input type=submit value="Search" onclick="se(this)">
</td><td>
<font size=1 color="4076f8" face="verdana,arial,helv"><b>

</table>

</td>
</tr><tr>
<td colspan=4 align=center bgcolor="40E0D0"><font size=2 color="4076f8" face="verdana,arial,helv"><font size=3><b>W</B></font>ORLD <font size=3><b>W</B></font>IDE <font size=3><b>W</B></font>EB</font></td>
</tr><tr>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="a(this)" checked> <a href="javascript:jump('http://altavista.digital.com/')">AltaVista</a></td>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="w(this)"> <a href="javascript:jump('http://www.highway61.com/')">Highway 61</a></td>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="e(this)"> <a href="javascript:jump('http://www.lycos.com/')">Lycos</a></td>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="i(this)"> <a href="javascript:jump('http://guaraldi.cs.colostate.edu:2000/')">SavvySearch</a></td>
</tr><tr>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="b(this)"> <a href="javascript:jump('http://www.excite.com/')">Excite</a></td>
<td bgcolor="000000"><font size=1  face="verdana,arial,helv"><b><input type=radio name=engine onclick="c(this)"> <a href="javascript:jump('http://guide.infoseek.com/')">Infoseek</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="f(this)"> <a href="javascript:jump('http://magellan.mckinley.com/')">Magellan</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="j(this)"> <a href="javascript:jump('http://www.webcrawler.com/')">Webcrawler</a></td>
</tr><tr>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="h(this)"> <a href="javascript:jump('http://www.hotbot.com/')">Hotbot</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="x(this)"> <a href="javascript:jump('http://ultra.infoseek.com/')">Ultraseek</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="g(this)"> <a href="javascript:jump('http://point.lycos.com/')">PointReview</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="k(this)"> <a href="javascript:jump('http://www.yahoo.com/')">Yahoo!</a></td>
</tr><tr>
<td colspan=4 align=center bgcolor="000000"><font size=2 color="4076f8" face="verdana,arial,helv"><font size=3><b>U</B></font>SENET <font size=3><b>N</B></font>EWS</font></td>
</tr><tr>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="l(this)"> <a href="javascript:jump('http://altavista.digital.com/')">AltaVista</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="m(this)"> <a href="javascript:jump('http://www.dejanews.com/')">DejaNews</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="n(this)"> <a href="javascript:jump('http://tile.net/news/')">Tile.Net</a></td>
<td bgcolor="000000"><font size=1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="o(this)"> <a
 href="javascript:jump ('http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html')">Usenet FAQ's</a></td>
</tr><tr>
<td colspan=4 align=center bgcolor="2E8B57"><font size=2 color="red" face="verdana,arial,helv"><font size=3><b>M</B></font>ISCELLANEOUS</font></td>
</tr><tr>
<td bgcolor="2E8B57" colspan=2><font size= 1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="v(this)"> <a href="javascript:jump('http://www.four11.com/')">Four11 Directory Services</a></td>
<td bgcolor="2E8B57" colspan=2><font size= 1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="r(this)"> <a href="javascript:jump('http://us.imdb.com/')">Internet Movie Database</a></td>
</tr><tr>
<td bgcolor="2E8B57" colspan=2><font size= 1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="q(this)"> <a href="javascript:jump('http://206.129.166.101/800.html')">InfoSpace 800 Directory</a></td>
<td bgcolor="2E8B57" colspan=2><font size= 1 face="verdana,arial,helv"><b><input type=radio name=engine onclick="u(this)"> <a href="javascript:jump('http://c.gp.cs.cmu.edu:5103/prog/webster')">Webster's Dictionary</a></td>
</tr><tr>
<td colspan=4 align=center bgcolor="000000">
<INPUT NAME=desc TYPE=text size=40 value= "http://altavista.digital.com/"> <input type=submit value="Go!" onclick="go(this)">
</table>
<INPUT NAME=pre TYPE=hidden value="http://altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q=">
<INPUT NAME=post TYPE=hidden><INPUT NAME=take TYPE=hidden value="null"><input name=onoff type=hidden value="on">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search8

Интернет-поиск WA

JavaScript Search

осуществляет поиск
одновременно по 4 основным поисковикам

Directories
Yahoo
Magellan
Point

 Search Engines
Alta Vista
Open Text
Lycos
Excite
Webcrawler
InfoSeek
DejaNews
Inktomi
 Meta Searches
MetaCrawler
SavySearch

Введите текст для поиска:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
Yahoo = "http://search.yahoo.com/bin/search?p=";
Alta = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&q=";
Open = "http://search.opentext.com/omw/simplesearch?SearchFor=";
Lycos = "http://www.lycos.com/cgi-bin/pursuit?query=";
Crawler = "http://www.webcrawler.com/cgi-bin/WebQuery?searchText=";
InfoSeek = "http://guide-p.infoseek.com/Titles?qt=";
DejaNews = "http://search.dejanews.com/nph-dnquery.xp?query=";
Inktomi = "http://204.161.74.8:1234/query/?query=";
MetaCrawler = "http://search.go2net.com/crawler?general=";
SavySearch = "http://guaraldi.cs.colostate.edu:2000/search?KW=";
Excite = "http://www.excite.com/search.gw?searchType=Concept&search=";
Magellan = "http://www.mckinley.com/searcher.cgi?query=";
Point = "http://point.lycos.com/cgi-bin/pursuit?query=";
Galaxy = "http://www.einet.net/cgi-bin/wais-text-multi?keywords=";
var got=0;
var url = "";
var plus="";
var mag="";
function search4(item){
stringPlus();
resultsWindow=window.open();
resultsWindow.document.open();
resultsWindow.document.write("<head><title>Close this window "
+ "to return to Search Page</title></head>"
+ "<FRAMESET ROWS=50%,50%><FRAMESET COLS=50%,50%>"
+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'>"
+ "<FRAME NAME='frame1' SRC='" + computeFrameSrc(1) + "'>"
+ "</FRAMESET><FRAMESET COLS=50%,50%><FRAME NAME='frame2' "
+ "SRC='" + computeFrameSrc(2) + "'><FRAME NAME='frame3' "
+ "SRC='" + computeFrameSrc(3) + "'></FRAMESET></FRAMESET>");
resultsWindow.document.close();
got = 0;
}
function search2(item){
stringPlus();
resultsWindow=window.open();
resultsWindow.document.open();
resultsWindow.document.write("<head><title>Close this window "
+ "to return to Total search</title></head><FRAMESET ROWS=50%,50%>"
+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'><FRAME "
+ "NAME='frame1' SRC='" + computeFrameSrc(1) + "'></FRAMESET>");
resultsWindow.document.close();
got = 0;
}
function stringPlus() {
for (var j=0; j < window.document.choose4.text.value.length; j++) {
if (window.document.choose4.text.value.charAt(j) == " ")
mag += "+";
else mag += window.document.choose4.text.value.charAt(j);}
}
function numChecked(item) {
plus = escape(item.text.value);
var h=0;
num=0;
for (var l=0; l < item.check1.length; l++) {
if (item.check1[l].checked) {
h++;
if (h++ <= 4){
if (l == "0"){
num = 1;}
else if (l == "1") num = 2;
else if (l == "2") num = 3;
else if (l == "3") num = 4;
else if (l == "4") num = 5;
else if (l == "5") num = 6;
else if (l == "6") num = 7;
else if (l == "7") num = 8;
else if (l == "8") num = 9;
else if (l == "9") num = 10;
else if (l == "10") num = 11;
else if (l == "11") num = 12;
else if (l == "12") num = 13;
}
}
}
if (h == 2)
Results(num-1);
else if (h == 4)
search2(item);
else
search4(item);
}
function computeFrameSrc(num) {
var k=-1;
for (var j=got; j < document.choose4.check1.length; j++) {
if (document.choose4.check1[j].checked){
k++;
if (k++ <= num){
if (j == "0"){
url = Yahoo + plus;
got = 1;}
else if (j == "1"){
url = Magellan + mag;
got = 2;}
else if (j == "2"){
url = Point + plus;
got = 3;}
else if (j == "3"){
url = Alta + plus + "&mode=and";
got = 4;}
else if (j == "4"){
url = Open + plus + "&mode=and";
got = 5;}
else if (j == "5"){
url = Lycos + plus + "&backlink=217&maxhits=25";
got = 6;}
else if (j == "6"){
url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";
got = 7;}
else if (j == "7"){
url = Crawler + plus + "&maxHits=25";
got = 8;}
else if (j == "8"){
url = InfoSeek + plus + "&col=WW";
got = 9;}
else if (j == "9"){
url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";
got = 10;}
else if (j == "10"){
url = Inktomi + plus + "&hits=25&disp=Text+Only";
got = 11;}
else if (j == "11"){
url = MetaCrawler + plus + "&method=0&target=®ion=0&rpp=20&timeout=5&hpe=10";
got = 12;}
else if (j == "12"){
url = SavySearch + plus + "&classic=on&t1=x&Boolean=AND&Hits=10&Mode=MakePlan&df=normal&AutoStep=on&AutoInt=on&lb=1";
got = 13;}
return url;
}
}
}
url = "javascript:void(0)";
return url;
}
function Results(place){
stringPlus();
resultsWin = open("","results");
if (place == "0")
url = Yahoo + plus;
else if (place == "1")
url = Magellan + mag;
else if (place == "2")
url = Point + plus;
else if (place == "3")
url = Alta + plus + "&mode=and";
else if (place == "4")
url = Open + plus + "&mode=and";
else if (place == "5")
url = Lycos + plus + "&backlink=217&maxhits=25";
else if (place == "6")
url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";
else if (place == "7")
url = Crawler + plus + "&maxHits=25";
else if (place == "8")
url = InfoSeek + plus + "&col=WW";
else if (place == "9")
url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";
else if (place == "10")
url = Inktomi + plus + "&hits=25&disp=Text+Only";
else if (place == "11")
url = MetaCrawler + plus + "&logic=0®ion=The+World&orgType=Any&maxwait=1&score=0";
else if (place == "12")
url = SavySearch + plus + "&classic=on&t1=x&Boolean=AND&Hits=10&Mode=MakePlan&df=normal&AutoStep=on&AutoInt=on&lb=1";
resultsWin.location = url;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center><b>JavaScript Search</b><p>
This script will run the same search across <br>
4 of the major search engines at one time.
<form name="choose4" action="javascript:numChecked(document.choose4) //"><p>
<table><tr><td><b>Directories</b><br>
<input type="checkbox" name="check1" value="Yahoo"
onClick="choose4.check1.value='Yahoo'">Yahoo<br>
<input type="checkbox" name="check1" value="Magellan"
onClick="choose4.check1.value='Magellan'">Magellan<br>
<input type="checkbox" name="check1" value="Point"
onClick="choose4.check1.value='Point'">Point<br><br></td>
<td width="15"></td>
<td><b>Search Engines</b><br>
<input type="checkbox" name="check1" value="Alta"
onClick="choose4.check1.value='Alta'">Alta Vista<br>
<input type="checkbox" name="check1" value="Open"
onClick="choose4.check1.value='Open'">Open Text<br>
<input type="checkbox" name="check1" value="Lycos"
onClick="choose4.check1.value='Lycos'">Lycos<br>
<input type="checkbox" name="check1" value="Excite"
onClick="choose4.check1.value='Excite'">Excite<br></td>
<td><br><input type="checkbox" name="check1" value="Crawler"
onClick="choose4.check1.value='Crawler'">Webcrawler<br>
<input type="checkbox" name="check1" value="InfoSeek"
onClick="choose4.check1.value='InfoSeek'">InfoSeek<br>
<input type="checkbox" name="check1" value="DejaNews"
onClick="choose4.check1.value='DejaNews'">DejaNews<br>
<input type="checkbox" name="check1" value="Inktomi"
onClick="choose4.check1.value='Inktomi'">Inktomi<br> </td>
<td width="15"></td>
<td><b>Meta Searches</b><br>
<input type="checkbox" name="check1" value="MetaCrawler"
onClick="choose4.check1.value='MetaCrawler'">MetaCrawler<br>
<input type="checkbox" name="check1" value="SavySearch"
onClick="choose4.check1.value= 'SavySearch'">SavySearch<BR><br><br>
</td></tr></table><P>
<B>Enter text to find</B>:<BR>
<input type="text" name="text" size=30>
<input type="submit" name="send" value="Search">
</form>
</center>

<p><center>
<font face="arial, helvetica" size="-2">Free JavaScripts provided<br>
by <a href="http://javascriptsource.com">The JavaScript Source</a></font>
</center><p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search5

Интернет-поиск All-in-one

Search for:
         Search from:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!--

//
// Script by Jari Aarniala [www.mbnet.fi/~foo -- foo@mbnet.fi]
//
// This script makes it easy to choose with which search engine
// you`d like to search the net. You may use this if you keep this
// text here...
//

function startSearch(){
searchString = document.searchForm.searchText.value;
if(searchString != ""){
searchEngine = document.searchForm.whichEngine.selectedIndex + 1;
finalSearchString = "";

if(searchEngine == 1){
finalSearchString = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&fmt=.&q=" + searchString;
}
if(searchEngine == 2){
finalSearchString = "http://av.yahoo.com/bin/query?p=" + searchString + "&hc=0&hs=0";
}
if(searchEngine == 3){
finalSearchString = "http://www.excite.com/search.gw?trace=a&search=" + searchString;
}
if(searchEngine == 4){
finalSearchString = "http://www.hotbot.com/?SW=web&SM=MC&MT=" + searchString + "&DC=10&DE=2&RG=NA&_v=2&act.search.x=89&act.search.y=7";
}
if(searchEngine == 5){
finalSearchString = "http://www.infoseek.com/Titles?qt=" + searchString + "&col=WW&sv=IS&lk=noframes&nh=10";
}
if(searchEngine == 6){
finalSearchString = "http://www.lycos.com/cgi-bin/pursuit?adv=%26adv%3B&cat=lycos&matchmode=and&query=" + searchString + "&x=45&y=11";
}
if(searchEngine == 7){
finalSearchString = "http://netfind.aol.com/search.gw?search=" + searchString + "&c=web&lk=excite_netfind_us&src=1";
}

location.href = finalSearchString;
}
}

// -->
</script>

<basefont face="Verdana, Arial, sans-serif">

<form name="searchForm">

<table width=320 border cellpadding=3 cellspacing=2 bgcolor=444444>

<tr>
<td bgcolor=lightblue><font size=1 face="Verdana, Arial, sans-serif">Search for:<br>
<td bgcolor=lightblue><font size=1 face="Verdana, Arial, sans-serif">Search from:
<td bgcolor=lightblue>&nbsp;

<tr>
<td bgcolor=navajowhite><input style="background: dddddd" name="searchText" type="text">
<td bgcolor=navajowhite>
<select style="background: dddddd" name="whichEngine">
<option selected>Altavista
<option>Yahoo!
<option>Excite
<option>Hotbot
<option>Infoseek
<option>Lycos
<option>AOL Netfind
</select>
<td bgcolor=navajowhite><input type="button" value="Send" onClick="startSearch()">

</select>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search4

Поиск сайтов 1

Ищет по ключевым словам на нескольких страницах (до 4)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JAVASCRIPT">
/*JS Search Engine 1.0
A JavaScript search engine using multiple keywords!
Written by:
___ __ ___ ____ __ __ __
| / \ | | | | \ \ /\ /
| |--| |--/ |-- | | \ / \ /
|__| | | | \ |___ |_/ \/ \/ .

I, Jared W, have made this script public domain, that is, FREE TO ANYONE!
However, you must keep this header and all comments/notes intact on this script!
Otherwise, I give you permission to use and edit this script.
You may not sell this script or call it your own, even if you have edited it.
Thank you.

The JavaScript Village
http://www.tcis.net/~walczak/javascript/index.html
*/

var found1="<h3>Search Results</h3><BR><UL>"
var found2=""
var found3

/*IMPORTANT! You must change the number after the variable 'pagestosearch.' The number should be the amount of pages in your
search. Since numbers start with 0 in JavaScript, this is a little strange. Lets say you have five pages (pages[0], pages[1], pages[2], pages[3], and pages[4]). The last number is four. Therefore, you would type '4' after 'pagestosearch.'*/

pagestosearch=2

function searchdata (title, keyword1, keyword2, keyword3, keyword4, description, url)
{
this.title = title
this.keyword1 = keyword1
this.keyword2 = keyword2
this.keyword3 = keyword3
this.keyword4 = keyword4
this.description = description
this.url = url
}
pages = new Array()
pages[0] = new searchdata("JavaScript Village", "javascript", "javascripts", "free", "web", "Free JavaScripts and more!", "http://www.tcis.net/~walczak/javascript/index.html")
pages[1] = new searchdata("Yahoo!", "yahoo", "search", "search engine", "web", "A search engine like this, but runs on CGI", "http://www.yahoo.com")
pages[2] = new searchdata("Ebay", "ebay", "auction", "auctions", "buy", "The largest online auction", "http://www.ebay.com")

/*To add another page, just copy the below text.
//START CUT
pages[nextnumber] = new searchdata("title", "keyword1", "keyword2", "keyword3", "keyword4", "description", "url")
//END CUT*/

//DO NOT DELETE THE 'num=0.'
num=0

function findpages()
{
while (num <= pagestosearch)
{
if ( document.search.searchwords.value == pages[num].keyword1 || document.search.searchwords.value == pages[num].keyword2 || document.search.searchwords.value == pages[num].keyword3 || document.search.searchwords.value == pages[num].keyword4 )
{
found2 = "<LI><A HREF='"+pages[num].url+"' target='main'>"+ pages[num].title +"</A><BR><I>"+pages[num].keyword1+" "+pages[num].keyword2+" "+pages[num].keyword3+" "+pages[num].keyword4+"</I><BR>"+pages[num].description+""
found1 = found1+found2
found2 = ""
found3=found3+1
num=num+1
}
else
num=num+1
}
}
function listpages()
{
var OpenWindow=window.open("", "newwin", "height=550,width=450,scrollbars=yes,");
OpenWindow.document.write("<HTML>")
OpenWindow.document.write("<HEAD>")
OpenWindow.document.write("<TITLE>Search Results</TITLE>")
OpenWindow.document.write("</HEAD><BODY>")
OpenWindow.document.write("<font size=+1>Searched for </font>")
OpenWindow.document.write("<font size=+1><I>" + document.search.searchwords.value + "</I></font><P>")
OpenWindow.document.write("<font size=+0>" + found1 + "</font><P>")
OpenWindow.document.write("<font size=+0><A HREF='' onClick='self.close()'>Click to Close</A></font><HR>")
OpenWindow.document.write("<font size=+0><CENTER>JavaScript Search Engine created by Jared W of <BR><A HREF='http://www.tcis.net/~walczak/javascript/index.html' target='main'>The JavaScript Village. Get your own <BR>*FREE* SEARCH ENGINE!</A></font></CENTER><P>")
OpenWindow.document.write("</BODY>")
OpenWindow.document.write("</HTML>")
}

function clearsearch()
{
found1="<h3>Search Results</h3><BR><UL>"
found2=""
num=0
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="search">
<INPUT TYPE="text" size=45, name="searchwords" value=""><INPUT TYPE="button" name="findit" value="Find It!" onClick="findpages(),listpages(),clearsearch()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search7

Поиск сайтов 2
 (гораздо лучше, чем предыдущий "Поиск сайтов 1")

Этот скрипт может стать посковиком для Вашего сайта! Все что Вам надо сделать это заменить (добавить) ключевые слова и изменить "url" в коде...и этот поисковик будет работать только с вашими страницами.

Искать:

Для теста поищите 'JavaScript'.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table WIDTH="96%" BORDER="0" CELLSPACING="5" CELLPADDING="5">
<tr>
<td WIDTH="100%">This script is for building your own website search engine! All you need
to do is change the &quot;keywords&quot; and &quot;url&quot; in the source code and it
will search your site locally...pretty cool! Best part is...it opens in a new
&quot;mini-window&quot;.<font FACE="ARIEL,HELVETICA" SIZE="-1"><p align="center"><script
LANGUAGE="JavaScript">

<!-- Hide Script from Old Browsers
/*

Optimized by Daniel Bergman [http://botw.cjb.net].

Java Search Engine
(c)1997 Adam ALLEN.
Version 2.0
You may use this search engine on your page, but keep this
notice intact, and at the bottom of leave the Copyright notice at
the bottom of this page.
This scripts is my property, so please honnour my requests,
If you do so, you may freely copy, distribute, give this scripts
But it will FOREVER REMAIN MY PROPERTY.
This is the first Java Script that I have wrote, and am proud of it,
I feel pleased that I can contribute back to the bank of JavaScripts
that I have used on my page from other people, AN EYE FOR AN EYE!
*/

Keyword = new Object();
Descrip = new Object();
Address = new Object();

// Keyword[0] = n (where n is the number of keywords which can be searched
Keyword[0] = 6

// Each entry is split into
// Keyword[n] = text (where text is the keyword of which the entry is to
// be searched by (type Keywords in lowercase)
// Descrip[n] = text (where text is the description associated to this entry
// Address[n] = text (where text is the URL associated to the entry
// n is the entry number.

Keyword[1] = "javascript"
Descrip[1] = "Visit The JavaFILE, the absolutely best JavaScript site."
Address[1] = "http://www.javafile.com"

Keyword[2] = "free"
Descrip[2] = "Free banners, logo, fonts!"
Address[2] = "http://www.graphxisle.com"

Keyword[3] = "free"
Descrip[3] = "Free webservices at Bravenet."
Address[3] = "http://www.bravenet.com"

Keyword[4] = "free"
Descrip[4] = "Your site can go here!"
Address[4] = "http://www.yoursite.com"

function checkDatabase() {

var Found = false
var Item = document.forms[0].searchfor.value.toLowerCase();

stats='toolbar=no, location=no, directories=no,status=no, menubar=no,height=300,width=300,'
stats += 'scrollbars=yes,resizable=yes'
MsgBox = window.open ("","msgWindow",stats)
MsgBox.opener = window;
MsgBox.opener.name = "opener";
MsgBox.document.write("<head><title>Search Results</title></head>");
MsgBox.document.write ("<body bgcolor=white text=black link=blue vlink=darkblue alink=blue><H2><CENTER><font face=arial>Search Results</CENTER></H2>")
MsgBox.document.write ("<font size=3><b><center>For the keyword: "+Item+"</center><hr width=50%></b></font>");
for (var i=1; i <= Keyword[0]; i++) {
if(Item == Keyword[i]) {
Found = true;
MsgBox.document.write ("<li><font face=arial><font size=2><b>"+Descrip[i]+"<BR><A HREF="+Address[i]+" target='opener'>Click Here To Go There</A></font></font>")

}
}
if(!Found)
MsgBox.document.write ("<H4>Nothing Found</H4>")
// Leave the line below intact if you want to legally use this script
MsgBox.document.write ("<FORM><CENTER>")
MsgBox.document.write ("<font size=2><font color=arial><INPUT type='button' value='Close' onClick = 'self.close()'></font></font>")
MsgBox.document.write ("</CENTER></FORM>")
MsgBox.document.write ("<H6><small><small><small><b></b><font color=white><font face=arial><font size=1><font color=black>Originally created by Adam Allen <br>© 1997 All Rights Reserved</font></font></small></small></small>")
// There must be my notice above if you are to use this script legally.
// It took many hours work, fairs is fair, I just want that little line in
// and you get a fully working Search ENGINE, for FREE, on your site
// In Java Scripts as well, and not crap JAVA!
// Also a copyright notice MUST appear with the form.
}
// -->

</script> </font><a
href= "http://www.javafile.com/javascripts/search/search3.zip"> <font size="3">Download the
Script</font></a><font FACE="ARIEL,HELVETICA" SIZE="-1"></p>
<form NAME="form1">
<b><div align="center"><center><p>Search for:</b><br>
<input TYPE="text" NAME="searchfor" VALUE="JavaScript" SIZE="20"><b><input type="button"
value="Search" align="absmiddle" onClick="checkDatabase()"></b><br>
<br>
<font face="Arial" size="2">To test this search engine, search for <strong>'JavaScript'</strong>.</font></font>
</p>
</center></div>
</form>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search9

Поиск по сайту, этой странице, другим страницам...
Перед тем как возмущаться, мол поисковик этот ничего не находит, убедитесь, что Вы вписали собственные данные вместо выделенных белым, желтым и голубым цветами (соответственно: адрес и имя файла, имя страницы, то есть то, что находится между <Title> и </Title>, и краткая аннотация-ключевые слова (чем больше, тем лучше)

Искать на сайте

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Dion (biab@iinet.net.au) -->
<!-- Web Site:  http://www.iinet.net.au/~biab -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var item = new Array();

/* Here is where all the magic happens.
Just enter as many additional pages that
that you want to search, then fill in the
additional listings for each page.
*/

// "Page Name","path","Page Title","Many,Key,Words","Descriptive Comments"

c=0; item[c]=new Array("index.html","","DemoSite", "index,main,start,home,front","Demonstration search engine data about an imagined but probable internet
      site.");
c++; item[c]=new Array("about.htm","","About
      Me","about,author,contact,email,who","Contact details and general information about the creator of the site and what the site is
      about.");
c++; item[c]=new Array("links.htm","","Links
      page","links,more,where,similar,friends", "Links to my favourite sites which I find interesting. Other friends sites which have similar interests to my
      own.");
c++; item[c]=new Array("main.htm","main/","Main
      Page","content,main,focus", "The main part of my site which contains what you have come to see. Lots of stuff like that and more great things. All in a sub
      directory.");
c++; item[c]=new Array("logo.jpg","main/images/","Link Logo","link,image,logo,graphic","The logo.jpg is just a small image which you can place on your site as a link to me. It's in a second level subdirectory.");

page="<html><head><title>Search Results</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>";

function search(frm) {
win = window.open("","","scrollbars");
win.document.write(page);
txt = frm.srchval.value.split(" ");
fnd = new Array(); total=0;
for (i = 0; i < item.length; i++) {
fnd[i] = 0; order = new Array(0, 4, 2, 3);
for (j = 0; j < order.length; j++)
for (k = 0; k < txt.length; k++)
if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
fnd[i] += (j+1);
}
for (i = 0; i < fnd.length; i++) {
n = 0; w = -1;
for (j = 0;j < fnd.length; j++)
if (fnd[j] > n) { n = fnd[j]; w = j; };
if (w > -1) total += show(w, win, n);
fnd[w] = 0;
}
win.document.write("</table> <br>Total found: "+total+"<br></body></html>");
win.document.close();
}
function show(which,wind,num) {
link = item[which][1] + item[which][0];
line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> Score: "+num+"<br>";
line +=  item[which][4] + "<br>"+link+"</td></tr>";
wind.document.write(line);
return 1;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method=get action="javascript:void(0)" onsubmit="search(this); return false;">
<p><font size="3">Искать на
сайте&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</font><BR>
<table>
<tr><td> <input type=text name=srchval value=""> <input type=submit value="Искать"></td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search10

Поисковая форма Help файла (простая)
 (похоже на работу Help файла в search index)

Введите первые несколько букв.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Anand Raman (anand_raman@poboxes.com) -->
<!-- Web Site: http://www.angelfire.com/ar/diduknow -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function SelObj(formname,selname,textname,str) {
this.formname = formname;
this.selname = selname;
this.textname = textname;
this.select_str = str || '';
this.selectArr = new Array();
this.initialize = initialize;
this.bldInitial = bldInitial;
this.bldUpdate = bldUpdate;
}

function initialize() {
if (this.select_str =='') {
for(var i=0;i<document.forms[this.formname][this.selname].options.length;i++) {
this.selectArr[i] = document.forms[this.formname][this.selname].options[i];
this.select_str += document.forms[this.formname][this.selname].options[i].value+":"+
document.forms[this.formname][this.selname].options[i].text+",";
}
}
else {
var tempArr = this.select_str.split(',');
for(var i=0;i<tempArr.length;i++) {
var prop = tempArr[i].split(':');
this.selectArr[i] = new Option(prop[1],prop[0]);
}
}
return;
}
function bldInitial() {
this.initialize();
for(var i=0;i<this.selectArr.length;i++)
document.forms[this.formname][this.selname].options[i] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = this.selectArr.length;
return;
}

function bldUpdate() {
var str = document.forms[this.formname][this.textname].value.replace('^\\s*','');
if(str == '') {this.bldInitial();return;}
this.initialize();
var j = 0;
pattern1 = new RegExp("^"+str,"i");
for(var i=0;i<this.selectArr.length;i++)
if(pattern1.test(this.selectArr[i].text))
document.forms[this.formname][this.selname].options[j++] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = j;
if(j==1){
document.forms[this.formname][this.selname].options[0].selected = true;
//document.forms[this.formname][this.textname].value = document.forms[this.formname][this.selname].options[0].text;
}
}
function setUp() {
obj1 = new SelObj('menuform','itemlist','entry');
// menuform is the name of the form you use
// itemlist is the name of the select pulldown menu you use
// entry is the name of text box you use for typing in
obj1.bldInitial();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY OnLoad= "javascript:setUp()">

 <center>
</font>
<form name="menuform" onSubmit="javascript:window.location =
 document.menuform.itemlist.options[document.menuform.itemlist.selectedIndex].value;return
 false;">

<font face="arial, helvetica" size="-1" color="#FF0000">Введите
первые несколько букв.</font>
<font size="4" color="#FF0000">
<br><br>
<input type="text" name="entry" size="30"
 onKeyUp="javascript:obj1.bldUpdate();">
<br>
<select name="itemlist" size=5>
<option value="page.html">Алфавит
<option value="page.html">Аллигатор
<option value="page.html">Аргонавт
<option value="page.html">Аудитория
<option value="page.html">Бабушка
<option value="page.html">Батон
<option value="page.html">Бублик
<option value="page.html">Бяка
<option value="page.html">Василий Иванович
<option value="page.html">Веревка
<option value="page.html">Вовочка
<option value="page.html">Выдра
<option value="page.html">Газ
<option value="page.html">Газон
<option value="page.html">Гурман
<option value="page.html">Гыгы
<option value="page.html">Дарья
<option value="page.html">Доберман
<option value="page.html">Дуло
<option value="page.html">Дядька
<option value="page.html">Ламер
<option value="page.html">Лиса
<option value="page.html">Локки
<option value="page.html">Лярва
<option value="page.html">Малина
<option value="page.html">Моль
<option value="page.html">Мышь
<option value="page.html">Мымра
<option value="page.html">Огарок
<option value="page.html">Омар
<option value="page.html">Опп-ля
<option value="page.html">Орангутанг
<option value="page.html">Пар
<option value="page.html">Перегон
<option value="page.html">Пир
<option value="page.html">Пушка
<option value="page.html">Хахаль
<option value="page.html">Хиросима
<option value="page.html">Хрюша
<option value="page.html">Хрен
<option value="page.html">Яблоко
<option value="page.html">Ямайка
<option value="page.html">Яхонт
</select>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Search13

Поисковая система
(читайте авторское описание)

(обязательные условия применения скрипта см. внизу страницы)

=======================================================================

JAVA/SCRIPTS - Поисковая система

=======================================================================
версия :: 2.3
название :: Поисковая система
дата :: 20.01.2000
размер :: 10kb
автор :: Deto
url :: http://js.hotmail.ru/ftp/s4.txt
zip :: http://js.hotmail.ru/ftp/s4.zip
=======================================================================
=== Принцип работы ====================================================
=======================================================================

На какой-либо странице сайта у вас есть маленькое текстовое поле и
рядом кнопка. Посетитель вводит слово для поиска, и нажимает на эту
самую кнопку. Скрипт тут же очень быстро пересылает браузер на нужную
страницу. Возможно, это будет страница с результатами поиска или с уже
готовой информацией.

=== Достоинства ===
* быстрый поиск
* легкое администрирование
* поддержка любых языков

=== Ложка дёгтя в бочке меда ===
* скрипт небезразличен к болшим и маленьким буквам

=======================================================================
=== Пример ============================================================
=======================================================================

Этот скрипт используеться на:
http://sq.hotmail.ru/
http://js.hotmail.ru/

=======================================================================
=== Установка скрипта =================================================
=======================================================================

=== ШАГ НОМЕР 1 ===

Поместите в любое место в пределах тега <html></html> ::

<script language="JavaScript">// script written by Deto Freeman
// find more Java Scripts @ www.js.hotmail.ru
function goSearch() {

=== ШАГ НОМЕР 2 ===

Теперь самая важная, и наверное, сложная часть - распределение слов
и страниц. Отредактируйте эту линию "по своему вкусу":

if (document.fSer.tSer.value=="!!!W1!!!") {top.location.href="!!!P1!!!"};

Вместо !!!W1!!! вставьте слово
Вместо !!!P1!!! вставьте адрес страницы, на которую сткрипт будет
ссылаться при совпадении !!!W1!!! и слова в текстовом поле.

(ковычки не стирать!)

Если вам ещё не понятно, попробуйте понять принцип работы:

если (содержимое_текстового_поля=!!!W1!!!) то {иди_на_страницу=!!!P1!!!};

Затем сделайте копию этой линии и отредактируйте её для другого слова.
Вот пример:

if (document.fSer.tSer.value=="info") {top.location.href="info1.htm"};
if (document.fSer.tSer.value=="deto") {top.location.href="info2.htm"};

Вставьте получившиеся строки в общий код скрипта.

Если у вам что-то непонятно, вы можете скачать другое описание:

> http://dfreeman.virtualave.net/js/ftp/sc04old.zip

Поискать новую версию на сайте:

> http://dfreeman.virtualave.net/js/index.htm

Или спросить у меня (в крайнем случае):

> olkhset@online.ru

=== ШАГ НОМЕР 3 ===

Продолжите скрипт следующим кодом:

// SEARCH - NETRAL
if (document.fSer.tSer.value==null) {alert('Введите слово!')}
if (document.fSer.tSer.value==" ") {alert('Введите слово!')}
if (document.fSer.tSer.value==" ") {alert('Введите слово!')}
if (document.fSer.tSer.value==" ") {alert('Введите слово!')}
if (document.fSer.tSer.value==" ") {alert('Введите слово!')}
if (document.fSer.tSer.value==" ") {alert('Введите слово!')}
if (document.fSer.tSer.value=="1") {alert('Введите слово!')}
if (document.fSer.tSer.value=="2") {alert('Введите слово!')}
if (document.fSer.tSer.value=="3") {alert('Введите слово!')}
if (document.fSer.tSer.value=="4") {alert('Введите слово!')}
if (document.fSer.tSer.value=="5") {alert('Введите слово!')}
if (document.fSer.tSer.value=="6") {alert('Введите слово!')}
if (document.fSer.tSer.value=="7") {alert('Введите слово!')}
if (document.fSer.tSer.value=="8") {alert('Введите слово!')}
if (document.fSer.tSer.value=="9") {alert('Введите слово!')}
if (document.fSer.tSer.value=="0") {alert('Введите слово!')}
if (document.fSer.tSer.value=="be") {alert('Введите слово!')}
if (document.fSer.tSer.value=="not") {alert('Введите слово!')}
if (document.fSer.tSer.value=="to") {alert('Введите слово!')}

Как вы уже, наверное, догадались, он предотвратит поиск по "НЕсловам".

=== ШАГ НОМЕР 3 ===

А теперь завершите скрипт кодом:

}
</script>

=== ШАГ НОМЕР 4 ===

Разместите форму в любом месте странице (текстовое поле и кнопка) кодом:

<form name="fSer">
<!-- Search Sustem Script FORM Code --><!-- scripts was written
by Deto Freeman, find more FREE scripts @ www.js.hotmail.ru -->
<input type="text" name="tSer" value="Слово для поиска"><br>
<input type="button" name="cSer" value="Поиск" onClick="goSearch()">
</form>

=======================================================================
=== Заключительный шаг ================================================
=======================================================================

ВНИМАНИЕ! На всех страницах, к которым имеет отношение этот скрипт, вы
должны разместить один из нижепреведенных кодов:
1) Наш маленький баннер

<!-- JAVA SCRIPTS mini banner -->
<a href="http://js.hotmail.ru/" target="_blank"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - коллекция лучших Java скриптов - скрипт поисковой системы, регистратора, парольера..." border=0 height=31 width=88></a>

2) Текстовая ссылка (параметры текста менять запрешенно!)

<!-- JAVA SCRIPTS textlink 1 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Мы пользуемся скриптами с сайта Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 2 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Самые лучшие бесплатные Java скрипты на сайте Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 3 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Поисковая система на вашем сайте - это просто!</a></font>

1) Маленький баннер нашего спонсора
ТОЛЬКО ЕСЛИ У ВАС САЙТ НА МУЗЫКАЛЬНУЮ ИЛИ ОКОЛОМУЗЫКАЛЬНУЮ ТЕМУ

<!-- SoniqueRu mini banner -->
<a href="http://sq.hotmail.ru/" target="_blank"><img src="http://sq.hotmail.ru/bm.gif" alt="SonqiueRu - самый лучший компьютерный mp3 плейер! БЕСПЛАТНАЯ ФУТБОЛКА ДЛЯ ФЭНОВ!" border=0 height=31 width=88></a>

=======================================================================

www.sq.hotmail.ru :: olkhset@online.ru
www.js.hotmail.ru :: Deto Freeman

=======================================================================

Установка "Поисковой системы " разрешена авторами только при условии размещения на странице со скриптом ссылки на сайт авторов в виде "кнопочки". Установить кнопку очень просто. Достаточно поместить следующий html код в вашу www страницу:
<a href="http://js.hotmail.ru/"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - лучшие java скрипты!" height=31 width=88></a>

В итоге у вас появиться вот такая кнопочка:

Или вы можете поставить кнопку наших друзей:

<a href="http://sq.hotmail.ru/"><img src="http://sq.hotmail.ru/bm.gif" alt="Sonique - лучший mp3 плеер! Теперь на русском! Куча скинов и плаг-инов!" height=31 width=88></a>

Если вы пользуетесь "автоматическим" редактором www страниц, без физического контакта с html кодом, вам достаточно вставить картинку, где её адресом служила бы строка "http://js.hotmail.ru/bm.gif", а затем поставить на неё ссылку на "http://js.hotmail.ru/".


Search11

Поисковики в Pop-up окне
(наберите что-нибудь и нажмите кнопку "Искать"; в pop-up окне выберите сервер)

Искать в Интернете:

(Поисковый сервер Вы выберите в Pop-up окне.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function searchFunc() {
var newWindow = window.open("about:blank", "searchValue", "width=200, height=200, resizable=no, maximizable=no");
var searchValue = document.search.queryField.value;
var yahooSearch = document.search.yahoo.value;
var altavistaSearch = document.search.altavista.value;
var webcrawlerSearch = document.search.webcrawler.value;
var exciteSearch = document.search.excite.value;
newWindow.document.write("<html>\n<head>\n<title>Select Seach Engine</title>\n</head>");
newWindow.document.write("<body>\n");
newWindow.document.write("<a href='" + yahooSearch + searchValue + "' target = 'main'>Yahoo!</a><br><br>\n");
newWindow.document.write("<a href='" + altavistaSearch + searchValue + "' target = 'main'>Altavista</a><br><br>\n");
newWindow.document.write("<a href='" + webcrawlerSearch + searchValue + "' target = 'main'>WebCrawler</a><br><br>\n");
newWindow.document.write("<a href='" + exciteSearch + searchValue + "' target = 'main'>Excite</a><br><br>\n");
newWindow.document.close();
self.name = "main";
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=search>
<input type=hidden name=yahoo value="http://search.yahoo.com/search?p=">
<input type=hidden name=altavista value="http://www.altavista.com/cgi-bin/query?pg=q&what=web&fmt=.&q=">
<input type=hidden name=webcrawler value="http://www.webcrawler.com/cgi-bin/WebQuery?searchText=">
<input type=hidden name=excite value="http://www.excite.com/search.gw?trace=a&search=">
Искать в Интернете:
<input type=text size=25 name=queryField>
<br>
<input type=button value="Искать" onClick="searchFunc()">
<input type=reset value="Сброс">
<br>
(Поисковый сервер Вы выберите в Pop-up окне.)
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User6

IP Адрес посетителя

(только Netscape!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

if ((navigator.appVersion.indexOf("4.") != -1) && (navigator.appName.indexOf("Netscape") != -1)){
ip = "" + java.net.InetAddress.getLocalHost().getHostAddress();
document.write("Ваш IP адрес " + ip);
}
else {
document.write("IP адрес будет показан только для браузеров Netscape с включенной поддержкой Java!");
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User8

Mime Type и Plugins для пользователей Netscape

(Netscape пользователи так же увидят в нижней части таблицы mime Type и plugin-ы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<table border=1 cellpadding=0 cellspacing=0>
<tr><td bgcolor="#bfbfbf" align="right">
<script language="JavaScript">
<!-- Original: Dion (yobo42@hotmail.com) -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ary=new Array("appCodeName", "appName", "appVersion", "mimeTypes", "plugins", "userAgent", "javaEnabled()+''", "X", "width+''", "height+''", "colorDepth+''", "X", "history.length+''");
var box=new Array("<input type='text' size=30 value='","'>", "<select onchange='more(this,this.form);'>", "", "<input type='text' size=6 value='","'>");
cnt=0; fmtcnt=0; var bgn=new Array("navigator","screen","window");
for(i=0;i<ary.length-2;i++) {
b=0; if(ary[i+cnt]=="X") cnt++;
val=eval(bgn[cnt]+"."+ary[i+cnt]); fmt="<br>\n";
l=val.length; if(l>0) {
if(val.toString().indexOf('Array',0)>-1) {
val=""; b=2; box[3]="</select>"+box[4]+eval(bgn[cnt]+"."+ary[i+cnt]+".length")+box[5];
for(j=0;j<l;j++)
val+="<option value="+i+">"+eval(bgn[cnt]+"."+ary[i+cnt]+"["+j+"].description").substring(0,30); };
if(ary[i+cnt].indexOf("+''",0)>0) {
b=4; fmtcnt=(fmtcnt+1)%3; if(fmtcnt>0) fmt="\n";
ary[i+cnt]=ary[i+cnt].substring(0,escape(ary[i+cnt]).indexOf('%')-1); };
document.write(ary[i+cnt]+":"+box[b]+val+box[b+1]+fmt);
}
}

function more(sel,frm) {
frm.ta.value=""; cnt=1; nm=navigator.mimeTypes; ssi=sel.selectedIndex;
if(display(sel,frm,nm,ssi)==1)
for(k=0;k<nm.length;k++)
if(isEnabled(k))
if(isEnabled(k).name==navigator.plugins[ssi].name) {
frm.ta.value+=cnt+")."; cnt++
display(frm.elements[3],frm,nm,k);
}
}

function display(sel,frm,nm,ssi) {
which=sel.options[ssi].value-3;
var prms=new Array();
prms[0]=new Array("mimeTypes","description", "suffixes","type","enabledPlugin.name");
prms[1]=new Array("plugins","description","filename","length","name");
ln=5; if(which==0) if(!isEnabled(ssi)) ln=4;
for(i=1;i<ln;i++)
frm.ta.value+=prms[which][i]+":"+eval ("navigator."+prms[which][0]+"["+ssi+"]."+prms[which][i])+"\n";
return which;
}

function isEnabled(n) {
return navigator.mimeTypes[n].enabledPlugin;
}
// End -->
</script>

<br>
<textarea cols=40 rows=6 name="ta" value=""></textarea>
</td></tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User10

Shockware и Quicktime
(только для Netscape)

(Определяет наличие установленных плагинов Shockware и Quicktime только для Netscape)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var myPlugin = navigator.plugins["Shockwave"];
if (myPlugin)
document.writeln("У Вас инсталлирован Shockwave!")
else
document.writeln("У Вас не инсталлирован Shockwave!")
// End -->
</SCRIPT>
<br>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var myPlugin = navigator.plugins["Quicktime"];
if (myPlugin)
document.writeln("У Вас инсталлирован Quicktime!")
else
document.writeln("У Вас не инсталлирован Quicktime!")
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User17

Наличие плагинов FLASH, DIRECTOR, QUICK TIME, REAL PLAYER
(для всех видов браузеров и платформ)

Как Вы понимаете, TRUE здесь значит ЕСТЬ, а FALSE - НЕТ. Но, хоть создатели скрипта и бъют себя пяткой в грудь, мол, мы - крутые, мы на VB для Microsoft пишем! А скрипт этот безбожно врет - я прямо сейчас смотрю на свой открытый Quick Time , а также на зловещее FALSE напротив него на этой странице... Так что судить Вам... Зайдите на Webmonkey Code Library и убедитесь, что дурнее сайта придумать невозможно!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="Javascript">
<!-- hide script
/*
Plugin Detector()

Source: Webmonkey Code Library
(http://www.hotwired.com/webmonkey/javascript/code_library/)

Author: Nadav Savio
Author Email: webmonkey@giantant.com

*/

// this is where we write out the VBScript for MSIE Windows
var WM_startTagFix = '</';
var msie_windows = 0;
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)){
msie_windows = 1;
document.writeln('<script language="VBscript">');
document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
document.writeln('Dim WM_detect_through_vb');
document.writeln('WM_detect_through_vb = 0');
document.writeln('If ScriptEngineMajorVersion >= 2 then');
document.writeln('  WM_detect_through_vb = 1');
document.writeln('End If');
document.writeln('Function WM_activeXDetect(activeXname)');
document.writeln('  on error resume next');
document.writeln('  If ScriptEngineMajorVersion >= 2 then');
document.writeln('     WM_activeXDetect = False');
document.writeln('     WM_activeXDetect = IsObject(CreateObject(activeXname))');
document.writeln('     If (err) then');
document.writeln('        WM_activeXDetect = False');
document.writeln('     End If');
document.writeln('   Else');
document.writeln('     WM_activeXDetect = False');
document.writeln('   End If');
document.writeln('End Function');
document.writeln(WM_startTagFix+'script>');
}

function WM_pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname){

var i,plugin_undetectable=0,detected=0, daPlugin=new Object();

if (msie_windows && WM_detect_through_vb){
plugin_undetectable = 0;
} else {
plugin_undetectable = 1;
}

if(navigator.plugins) {
numPlugins = navigator.plugins.length;
if (numPlugins > 1) {
if (navigator.mimeTypes && navigator.mimeTypes[pluginmime] && navigator.mimeTypes[pluginmime].enabledPlugin && (navigator.mimeTypes[pluginmime].suffixes.
      indexOf(pluginxtension) != -1)) { // seems like we have it, let's just make sure and check the version (if specified)
if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) { // stupid, stupid Netscape can't handle the references to navigator.plugins by number, sooo...
for(i in navigator.plugins) {
if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) { // some versions of quicktime have no description. feh!
detected=1;
break;
}
}
} else {
for (i = 0; i < numPlugins; i++) {
daPlugin = navigator.plugins[i];
if ((daPlugin.description.indexOf(plugindescription) != -1) || (daPlugin.name.indexOf(plugindescription) != -1)) {
detected=1;
break;
}
}
}

// Mac weirdness
if (navigator.mimeTypes[pluginmime] == null) {
detected = 0;
}
}
return detected;
} else if((msie_windows == 1) && !plugin_undetectable){
return WM_activeXDetect(activeXname);
} else {
return 0;
}
} else {
return 0;
}
}

function WM_easyDetect(whichPlugin) {

var isItThere = 0;
if( (whichPlugin == 'flash') || (whichPlugin == 'Flash') ) {
isItThere = WM_pluginDetect('Flash', 'swf', 'application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash');
} else if( (whichPlugin == 'director') || (whichPlugin == 'Director') ) {
isItThere = WM_pluginDetect('Shockwave', 'dcr', 'application/x-director', 'SWCtl.SWCtl.1');
} else if( (whichPlugin == 'quicktime') || (whichPlugin == 'Quicktime') || (whichPlugin == 'QuickTime') ) {
isItThere = WM_pluginDetect('QuickTime', 'mov', 'video/quicktime', '');
} else if( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealAudio') ) {
isItThere = (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)')) || (WM_pluginDetect('RealPlayer', 'rpm', 'audio/x-pn-realaudio-plugin','RealVideo.RealVideo(tm) ActiveX Control (32-bit)'))
} else {

alert('You need to tell me which plug-in to look for, like so:\n\n' + '          WM_easyDetect(\'flash\')\n\n' + '          WM_easyDetect(\'director\')\n\n' + '          WM_easyDetect(\'quicktime\')\n\n' + '          WM_easyDetect(\'realaudio\')');
}
return isItThere;
}

// end hiding of script -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<font face="arial,helvetica,sans-serif">

<script>
<!--

document.write('<b>Отчет по плагинам...</b><br><br>\n\n'
+ 'Flash: ' + WM_easyDetect('flash')
+ '<br>\nDirector: ' + WM_easyDetect('director')
+ '<br>\nQuickTime: ' + WM_easyDetect('quicktime')
+ '<br>\nReal Player: ' + WM_easyDetect('realaudio'));

// -->
</script>

<script>
<!--

document.write('<br><br>\n\n<b>Версия Flash: </b>');

if(WM_pluginDetect('Flash 4', 'swf',
'application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash.4')) { document.write('установлена Flash 4');
} else if(WM_pluginDetect('Flash 3', 'swf','application/x-shockwave-flash', 'ShockwaveFlash.ShockwaveFlash.3')) {
document.write('установлена Flash 3');
} else {
document.write('У Вас не установлена ни 3 ни 4 версии Flash.');
}

// -->
</script>

</font>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User3

Visitor' host name (имя компьютера)

(только для Netscape!)
(пользователи IE получат сообщение об ошибке)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
netscapeTest = parseInt(navigator.appVersion)
explorerTest = navigator.appName.indexOf("Microsoft") + 1
function netscapeThree() {
if (navigator.javaEnabled()) {
userDomain = java.net.InetAddress.getLocalHostName()
txt = "I bet your hostname is " + (userDomain.toString()) + " !";
} else {
txt = "You are browsing without Java enabled and therefore I can\'t find out what your hostname is.";
}
}
function netscapeFour() {
if (navigator.javaEnabled()) {
baseAddress = java.net.InetAddress.getLocalHost()
userDomain = baseAddress.getHostName()
txt = "I bet your hostname is " + (userDomain.toString()) + " !";
} else {
txt = "You are browsing without Java enabled and therefore I can\'t find out what your hostname is."; }
}
if ((explorerTest == "0") && (netscapeTest == "3")) { netscapeThree() }
else if ((explorerTest == "0") && (netscapeTest == "4")) {
netscapeFour() }
else {
txt = "It appears you are using Internet Explorer - and we can not find your hostname in that browser."
}
alert(txt)
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User15

Откуда Вы пришли на страницу

Информация будет показана только в том случае, если Вы прийдете на страницу с этим скриптом по ссылке.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
if (document.referrer) {
document.write("<B>Thanks for visiting us from ");
document.write(document.referrer+"</B>");
}
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User4

Тип и версия браузера + OS

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
document.write("<B>"+navigator.appVersion+"</B><P>");
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC46

Информация о браузере посетителя
 (более-менее подробно)

Browser Name:
Browser Version:
Browser Code Name:
User-Agent:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function whatBrowser() {
document.Browser.Name.value=navigator.appName;
document.Browser.Version.value=navigator.appVersion;
document.Browser.Code.value=navigator.appCodeName;
document.Browser.Agent.value=navigator.userAgent;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="whatBrowser()" >

<CENTER>
<TABLE BORDER>
<FORM NAME="Browser">
<TR>
<TD> Browser Name: </TD>
<TD> <INPUT TYPE="txt" NAME="Name" Size="45"></TD>
</TR>
<TR>
<TD> Browser Version: </TD>
<TD> <INPUT TYPE="txt" NAME="Version" Size="45"></TD>
</TR>
<TR>
<TD> Browser Code Name: </TD>
<TD> <INPUT TYPE="txt" NAME="Code" Size="45"></TD>
</TR>
<TR>
<TD> User-Agent: </TD>
<TD> <INPUT TYPE="txt" NAME="Agent" Size="45"></TD>
</TR>
</FORM>
</TABLE>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User9

Количество посещенных страниц

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT>
// Copyright 1998 Jon Eyrick - action1@vfr.net
// http://www.geocities.com/CapeCanaveral/4155/
var times=history.length;
document.write('Вы побывали на '+times+' страницах в течение этой сессии.');
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 3

Определение версии JavaScript, поддерживаемой Вашим браузером

Пример определения :

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function JSVer(){
return "1.0 и ниже"
}
//-->
</SCRIPT>
<SCRIPT Language="JavaScript1.1">
<!-- hide from old browsers
function JSVer(){
return "1.1 и ниже"
}
//-->
</SCRIPT>
<SCRIPT Language="JavaScript1.2">
<!-- hide from old browsers
function JSVer(){
return "1.2 и ниже"
}
//-->
</SCRIPT>
<SCRIPT Language="JavaScript1.3">
<!-- hide from old browsers
function JSVer(){
return "1.3 и ниже"
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Пример определения:<BR>
<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write("<B>Ваш браузер поддерживает версию JavaScript "
+ JSVer() + "</B>")
//-->
</SCRIPT><BR><BR><BR>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC121

Определение кодировки (браузера)
(очень ограничено)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
var u=navigator.userAgent; if (u.indexOf("Win") != -1) // Текст в 1251
document.writeln ("Windows 1251") ; else if (u.indexOf("DOS") != -1 || u.indexOf("OS/2") != -1) // Текст в 866
document.writeln("MS-DOS CP866"); else // Текст в K018
document.writein ( "лПДЙТПЧЛБ KOI8-R") ;
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


user19

Открыть файл с диска посетителя

Вот эта строка в HEAD запустит autoexec.bat посетителя. Очевидно, что открыть можно не только этот файл. В Windows полным полно файлов с вполне конкретным расположением...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<META HTTP-EQUIV="REFRESH" CONTENT="3; URL=file:///c|/autoexec.bat">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 4

Поддержка JavaScript

Поддерживает ли Ваш браузер JavaScript?

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write("<Font color='green'>Отлично! Ваш браузер поддерживает JavaScript!</FONT>")
//-->
</SCRIPT>
<NOSCRIPT>
<FONT color="red">Извините, Ваш браузер <B>не</B>&nbsp;поддерживает JavaScripts.</NOSCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User1

Пользовательские настройки, тип и версия браузера

current resolution: | x
browser: |
max resolution: | x
version: |
color depth: | bit
code name: |
platform: |
colors: |
java enabled: |
anti-aliasing fonts: |

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->

<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- begin
function display() {
window.onerror=null;

colors = window.screen.colorDepth;
document.form.color.value = Math.pow (2, colors);
if (window.screen.fontSmoothingEnabled == true)
document.form.fonts.value = "Yes";
else document.form.fonts.value = "No";

document.form.navigator.value = navigator.appName;
document.form.version.value = navigator.appVersion;
document.form.colordepth.value = window.screen.colorDepth;
document.form.width.value = window.screen.width;
document.form.height.value = window.screen.height;
document.form.maxwidth.value = window.screen.availWidth;
document.form.maxheight.value = window.screen.availHeight;
document.form.codename.value = navigator.appCodeName;
document.form.platform.value = navigator.platform;
if (navigator.javaEnabled() < 1) document.form.java.value="No";
if (navigator.javaEnabled() == 1) document.form.java.value="Yes";

if(navigator.javaEnabled() && (navigator.appName != "Microsoft Internet Explorer")) {
vartool=java.awt.Toolkit.getDefaultToolkit();
addr=java.net.InetAddress.getLocalHost();
host=addr.getHostName();
ip=addr.getHostAddress();
alert("Your host name is '" + host + "'\nYour IP address is " + ip);
}
}
// end -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="display()" >

<center>
<form name=form>
<table border=1 width=300>

<tr>
<td>current resolution:</td>
<td align=center><input type=text size=4 maxlength=4 name=width>
x <input type=text size=4 maxlength=4 name=height></td>
</tr>

<tr>
<td>
browser:</td>
<td align=center><input type=text size=20 maxlength=20 name=navigator></td>
</tr>
<tr>
<td>
max resolution:</td>
<td align=center><input type=text size=4 maxlength=4 name=maxwidth>
x <input type=text size=4 maxlength=4 name=maxheight></td>
</tr>

<tr>
<td>
version:</td>
<td align=center><input type=text size=20 maxlength=20 name=version></td>
</tr>

<tr>
<td>
color depth:</td>
<td align=center><input type=text size=2 maxlength=2 name=colordepth> bit</td>
</tr>

<tr>
<td>
code name:</td>
<td align=center><input type=text size=15 maxlength=15 name=codename></td>
</tr>

<tr>
<td>
platform:</td>
<td align=center><input type=text size=15 maxlength=15 name=platform></td>
</tr>

<tr>
<td>
colors:</td>
<td align=center><input type=text size=8 maxlength=8 name=color></td>
</tr>

<tr>
<td>
java enabled:</td>
<td align=center><input type=text size=3 maxlength=3 name=java></td>
</tr>

<tr>
<td>
anti-aliasing fonts:</td>
<td align=center><input type=text size=3 maxlength=3 name=fonts></td>
</tr>

<tr>
<td colspan=2 align=center>
<input type=button name=again value="Обновить" onclick="display()"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


user18

Пропети инспектор для NS 4.5+
Этот мощный скрипт анализирует и воспроизводит данные о разрешении экрана, установленной OS, установленных плагинах и др.

Скрипт в страницу не включен. Также, требуются рисунки (см. gif в таблицах), которых, к сожалению, в наличии нет.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
if (navigator.appName != "Netscape") {
document.write("<TITLE>Property Inspector - Sorry, but Property Inspector requires Netscape</TITLE>")
} else if (window.location.search.slice(1)) {
document.write("<TITLE>Property Inspector - Inspecting \""+window.location.search.substring(1,window.location.search.length)+"\"</TITLE>")
} else {
window.location.search = "?window"
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function inspectCur(obj, objName) {
var result = ""
for (var i in obj) {
if (i == "inspectCur") {
} else {
var temp = obj[i] + " "
if (temp.substring(0,7) == "[object") {
result += "<IMG SRC=\"object.gif\"> <A HREF=\'javascript:window.location.search=
      \"?" + objName + "." + i + "\"\')>" + objName + "." + i + " = " + obj[i] + "</A><BR>"
} else if (i == "document") {
result += "<IMG SRC=\"object.gif\"> <A HREF=\'javascript:window.location.search=
      \"?" + objName + "." + i + "\"\')>" + objName + "." + i + " = [object Document]</A><BR>"
} else if (i == "location") {
result += "<IMG SRC=\"object.gif\"> <A HREF=\'javascript:window.location.search=
      \"?" + objName + "." + i + "\"\')>" + objName + "." + i + " = " + obj[i] + "</A><BR>"
} else {
result += "<IMG SRC=\"property.gif\"> " + objName + "." + i + " = " + obj[i] + "<BR>"
}
}
}
return result
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <H3>Property Inspector -
<SCRIPT LANGUAGE="JavaScript">
if (navigator.appName != "Netscape") {
document.write("Sorry, but Property Inspector requires Netscape. Click <A HREF=\"www.netscape.com\">here</A> to goto the Netscape NetCentre website, where you can download Communcator 4.5, which should be able to run this program.</H3>")
} else  {
document.write("Inspecting \""+window.location.search.substring(1,window.location.search.length)+"\"</H3>")
if (!window.location.search) {
} else if (window.location.search.indexOf(".")+1) {
document.write("<IMG SRC=\"uplevel.gif\"> <A HREF=\'javascript:window.location.search=\"?" +
 window.location.search. substring(1,window.location.search.length). substring(0,window.location.search.
 substring(1,window.location.search.length).lastIndexOf(".")) + "\"\'>Back to " +
 window.location.search. substring(1,window.location.search.length). substring(0,window.location.search.
 substring(1,window.location.search.length).lastIndexOf(".")) + "</A>")
}
}
</SCRIPT><P>
<SCRIPT LANGUAGE="JavaScript">
document.write(inspectCur(eval(window.location.search. substring(1,window.location.search.length)), window.location.search.substring(1,window.location.search.length)))
</SCRIPT><P>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Link11

Распечатать ЧАСТЬ документа

Когда пользователь выбирает из меню браузера "Печать страницы", то, как правило, распечатывается вся страница, со всеми ссылками, баннерами и другой ненужной информацией. Вашего же посетителя интересовала только статья, являющаяся основным содержанием страницы. Для этого случая и существует представленный в таблице тэг. При выборе пользователем печати страницы, тэг "направляет" принтер совсем к другому документу, к rules.doc, который, как Вы понимаете, содержит именно и только ту статью, которая могла понадобится пользователю, и который Вы создали отдельно и загрузили на сервер.... Конечно, если на странице имеются несколько важных статей, то такой способ категорически неприемлем.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<link rel=alternate media=print href="rules.doc">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


user16

Размер (площадь) видимой части страницы
в отношении к площади всего экрана

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Idea by: Giulio Gravinese -->
<!-- Web Site: http://www.universeg.com -->

<!-- Begin
// IE Compatability by Errol Burrow (errol@thru.net)

function getwindowsize() {
if (navigator.userAgent.indexOf("MSIE") > 0) {
var sSize = (document.body.clientWidth * document.body.clientHeight);
return sSize;
} else {
var sSize = (window.outerWidth * window.outerHeight);
return sSize;
}
return;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var percent = Math.round((getwindowsize()/(screen.width * screen.height)*100) * Math.pow(10, 0));
document.write("Видимая часть страницы занимает " + percent + "% от площади всего экрана.");
// End -->
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


User5

Разрешение экрана монитора

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!--
//This script was found at the JavaScript Place. http://www.javaplace.co.uk
var height=0; var width=0;
if (self.screen) { // for NN4 and IE4
width = screen.width;
height = screen.height}
else
if (self.java) { // for NN3 with enabled Java
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height; }
document.writeln("<center>")
if (width > 0 && height > 0) {
document.writeln('Разрешение экрана вашего монитора: ',width,'x',height) }
else {
document.writeln('Разрешение экрана Вашего монитора не может быть определено')}
document.writeln("</center>")
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 2

Определения типа и версии браузера

(выбрать из списка)

Пример показывает как определять тип и версию браузера.

Содержимое этой таблицы поместите между <BODY> и </BODY>

Пример показывает как определять тип и версию браузера.<BR>
<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write("<B>Browser: " + navigator.appName + "</B><BR>");
document.write("<B>Version: " + navigator.appVersion + "</B>");
//-->
</SCRIPT><BR><BR><BR>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect7

Редирект по возрасту
Если возраст посетителя менее 12 лет, он будет автоматически переведен на сайт компании Crayola (http://www.crayola.com)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getName() {
var name1 = prompt("Как Вас зовут?", "")
var age = prompt("Сколько Вам лет?", "")
var email1 = prompt("Какой Ваш e-mail адрес?", "")
if( age <= 12) {
alert("Эй, малыш... Тебе только " + age + " и ты не вправе здесь оставаться!!! Ни в коем случае! Шел бы ты отсюда, " + name1 + "! И если твой ящик " + email1 + " , можешь проверить почту!!!")
window.open("http://www.crayola.com")
} else {
alert("Hello " + name1 + "! Добро пожаловать на наш сайт! Так как Вам уже " + age + ", Вы можете здесь остаться!! Если Ваш e-mail " + email1 + ", то вскоре Вам следует ожидать дополнительной почты....")
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="getName()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC115

Загрузочный бар DHTML
(кроссбраузерный)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
#bar, #barbackground{
position:absolute;
left:0;
top:0;
background-color:blue;
}

#barbackground{
background-color:black;
}

-->
</style>

<script language="JavaScript1.2">

/*
Dynamic Progress Bar- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

//1) Set the duration for the progress bar to complete loading (in seconds)
var duration=5

//2) Set post action to carry out inside function below:
function postaction(){
//Example action could be to navigate to a URL, like following:
//window.location="http://www.dynamicdrive.com"
}

///Done Editing/////////////
var clipright=0
var widthIE=0
var widthNS=0

function initializebar(){
if (document.all){
baranchor.style.visibility="visible"
widthIE=bar.style.pixelWidth
startIE=setInterval("increaseIE()",50)
}
if (document.layers){
widthNS=document.baranchorNS.document.barbackgroundNS.clip.width
document.baranchorNS.document.barNS.clip.right=0
document.baranchorNS.visibility="show"

startNS=setInterval("increaseNS()",50)
}
}

function increaseIE(){
bar.style.clip="rect(0 "+clipright+" auto 0)"
window.status="Загрузка..."
if (clipright<widthIE)
clipright=clipright+(widthIE/(duration*20))
else{
window.status=''
clearInterval(startIE)
window.location='ваша_страница.htm' // или window.open('ваша_страница.htm')
      - для открытия в отдельном окне
}
}

function increaseNS(){
if (clipright<202){
window.status="Загрузка..."
document.baranchorNS.document.barNS.clip.right=clipright
clipright=clipright+(widthNS/(duration*20))
}
else{
window.status=''
clearInterval(startNS)
window.location='ваша_страница.htm' //или window.open('ваша_страница.htm')
      - для открытия в отдельном окне
}
}

window.onload=initializebar
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script language="JavaScript1.2">
if (document.all){
document.write('<div id="baranchor" style="position:relative;width:200px;height:20px;visibility:hidden;">')
document.write('<div id="barbackground" style="width:200px;height:20px;z-index:9"></div>')
document.write('<div id="bar" style="width:200px;height:20px;z-index:10"></div>')
document.write('</div>')
}

</script>
<ilayer name="baranchorNS" visibility="hide" width=200 height=20>
<p>
<p>
<p>
<p>
<p>
<p>
<p>
<layer name="barbackgroundNS" bgcolor=black width=200 height=20 z-index=10 left=0 top=0></layer>
<layer name="barNS" bgcolor=blue width=200 height=20 z-index=11 left=0 top=0></layer>
</ilayer>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect6

Редирект с задержкой 2
При заходе на страницу включается секундомер в статусной строке. Время не ограничено.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
/*Time limit script- Website Abstraction (http://www.wsabstract.com)
Over 200+ free JavaScripts here!*/

//введите здесь ограничение времени. Минуты:секунды. Секунды - не более 59, минуты -
      не ограничено
var limit="1:30"
if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function begintimer(){
if (!document.images)
return
if (parselimit==1)
window.location="http://javashelp.cjb.net"
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=" осталась "+curmin+" минута "+cursec+" секунд"
else
curtime=" осталось "+cursec+" секунд"
window.status=curtime
setTimeout("begintimer()",1000)
}
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="begintimer()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделено время до редиректа. Желтым - адрес перехода.


RC39

Задержка редиректа

Сайт переехал на новый адрес. Вы будете перемещены автоматически через
секунд

P.S. Для наглядности работы скрипта он зациклен сам на себя. Не мучайте свой компьтер слишком долго! И имейте ввиду, через каждые 10 секунд все Ваши выделения будут пропадать.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="redirect">
<center>
<b><font face="Arial" color="#FF0000" size="4">Сайт переехал на новый адрес. Вы будете перемещены автоматически через</font></b>
<font size="4" color="#FF0000">
<font face="Arial"><b><br><br>
<form>
<input type="text" size="3" name="redirect2">
</form>
секунд</b></font>
</center>

<script>
<!--

/*
Count down then redirect script
By Website Abstraction (http://wsabstract.com)
*/

//Измените адрес страницы, на которую должен осуществлятся редирект
var targetURL="RC39.htm"
//Измените время (в секундах) отсчета до начала перехода на нужную страницу
var countdownfrom=10

var currentsecond=document.redirect.redirect2.value = countdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout("countredirect()",1000)
}

countredirect()
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect11

Редирект на случайную страницу
Имеется в виду, что "случайные" страницы Вы уже тщательно подобрали!

(не копируйте код из источника!!! он не будет работать на Ваших страницах.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var howMany = 2; // max number of items listed below
var page = new Array(howMany+1);

page[0]="первая_случайная_страница.html";
page[1]="вторая_случайная_страница.html";
page[2]="третья_случайная_страница.html";

function rndnumber(){
var randscript = -1;
while (randscript < 0 || randscript > howMany || isNaN(randscript)){
randscript = parseInt(Math.random()*(howMany+1));
}
return randscript;
}
quo = rndnumber();
quox = page[quo];
window.location=(quox);
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect14

Редирект в зависимости от платформы (WIN, MAC)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
page = ((navigator.platform.indexOf('Win') > -1) ? "win.html" : "mac.html");
window.location=page;
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect12

Редирект в зависимости от наличия поддержки Java
При наличии поддержки Java посетитель будет направлен на страницу с использованием Java. В ином случае - на обычную страницу.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
if (navigator.javaEnabled())
window.location = "java-page.html";
else
window.location = "non-java-page.html";
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect13

Редирект в зависимости от поддержки JavaScript

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
window.location="http://www.your-web-site-address-here.com/javascript-page.html";
// End -->
</script>

<noscript>
Это сообщение появилось, так как Ваш браузер не поддерживает JavaScript, или поддержка отключена.
Эту страницу следует посещать с включенной поддержкой JavaScript.
Включите поддержку JavaScript и перезагрузите страницу. В ином случае кликните по линку для перехода на страницу, на которой не требуется поддержка JavaScript.&nbsp;
<a href="no-javascript-page.html">no-javascript-page.html</a>
</noscript>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect1

Редирект (простой)
Простейший редирект с регулировкой времени задержки - измените выделенную цифру - это секунды.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<meta http-equiv="refresh" content="3; URL=home.htm">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect2

Редирект в зависимости от браузера

Например, если у Вас на сайте есть страница со скриптом, который выполняется только IE, и есть страница, с тем же содержанием, но со скриптом приемлимым только для NN, то используя предлагаемый скрипт Вы можете быть уверены, что кликнув по одному и тому же линку пользователи IE и NN попадут по разным адресам. Так, кликнув сейчас по линку наверху страницы, Вы попадете на Главную страницу только если у Вас IE, а если Вы вдруг окажетесь на странице ЛИНКИ, то не удивляйтесь, но у Вас NN! :). Очень полезный скрипт!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Hiding from other browsers

// Browser Detector (v. 1.0)
// Author: Jason Tschopp
// Email: tschopp@greenapple.com
// Url: http://www.greenapple.com/~tschopp/
// Notes: Permission is granted to anyone for use
// on the internet, provided this header stays with
// the script and this header stays in intact.

var name = navigator.appName

if (name == "Microsoft Internet Explorer")

url=("home.htm");

else

url=("Link.htm")

document.write('<A HREF="' + url + '">Кликните здесь, чтобы попасть на страницу</A>');
// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect4

Редирект в зависимости от браузера
(автоматический)

 Например, если у Вас на сайте есть страница со скриптом, который выполняется только IE, и есть страница, с тем же содержанием, но со скриптом приемлимым только для NN, то используя предлагаемый скрипт Вы можете быть уверены, что пользователи IE и NN попадут по разным адресам, причем автоматтически. Очень полезный скрипт!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript">

<!-- This script was written by Blair Cummins. -->
<!-- Check out http://www.jps.net/ufoblair/java/ for more scripts and Java resources -->

function BrowserCheck()

{

BrowserName = navigator.appName;
BrowserVersion = parseInt(navigator.appVersion);
DetermineOutcome(BrowserName, BrowserVersion)

}

function DetermineOutcome(BrowserName, BrowserVersion)

{

if (BrowserName == "Netscape" && BrowserVersion >=3)

{

location.href="index2.html"

}

else

{

location.href="notice.html"

}

}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="BrowserCheck()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect3

Редирект в зависимости от разрешения экрана

ОЧЕНЬ! полезный скрипт! Автоматически перенаправляет браузер к странице с тем же содержанием, но спроектированной для другого разрешения экрана, в соответствии с полученной от пользовательского браузера информацией о разрешении экрана у посетителя. Пригодны три варианта: 1024х768, 800х600, 640х480

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
//Ali Almossawi's CyberiaPC.com
//www.cyberiapc.com
var s1024x768page = "htmlmain1024.htm";
var s800x600page="htmlmain1800.htm";
var s640x480page="htmlmain640.htm";
var pagetype;
if ((screen.height == 768) && (screen.width ==
1024)) {
pagetype = 1;
}

else if ((screen.height == 600) && (screen.width
==800))
{
pagetype = 2; }

else if ((screen.height == 480) && (screen.width
==640))
{
pagetype = 3; }
else {
pagetype = 1; }

if (pagetype ==1) {window.location.href
=s1024x768page }

else if (pagetype ==2) {
window.location.href = s800x600page
}
else if (pagetype ==3) {
window.location.href = s640x480page
}
//->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect5

Редирект в зависимости от языка

Скрипт определяет язык, установленный в браузере первым в списке языков и осуществляет редирект на страницу Вашего сайта выполненную на этом языке. (Конечно если такая есть и если Вы настроите скрипт!). В таблице внизу приведен список языков с их условными обозначениями принятыми на уровне стандартов. По аналогии установите адреса страниц на языках, которые Вы применили на своем сайте. Посетитель автоматически будет "влетать" на "его-язычную" страницу. Список языков, конечно, можно удалить.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
By Richard Morris (Email: ram@ramorris.co.uk)
Featured on Website Abstraction (http://wsabstract.com)
For this and over 400+ free scripts, visit http://wsabstract.com
*/

var type=navigator.appName
if (type=="Netscape")
var lang = navigator.language
else
var lang = navigator.userLanguage

//cut down to first 2 chars of country code
var lang = lang.substr(0,2)

// english
if (lang == "en")
window.location.replace('english.html')

// german
else if (lang == "de")
window.location.replace('german.html')

// spanish (add or remove copies of 2 lines below as needed)
else if (lang == "es")
window.location.replace('spanish.html')

// if none of above (default to English or any other)
else
window.location.replace('english.html')
</script>
<!-- you can remove list below (reference only)
af Afrikaans
ar-ae Arabic (U.A.E.)
ar-bh Arabic (Bahrain)
ar-dz Arabic (Algeria)
ar-eg Arabic (Egypt)
ar-iq Arabic (Iraq)
ar-jo Arabic (Jordan)
ar-kw Arabic (Kuwait)
ar-lb Arabic (Lebanon)
ar-ly Arabic (Libya)
ar-ma Arabic (Morocco)
ar-om Arabic (Oman)
ar-qa Arabic (Qatar)
ar-sa Arabic (Saudi Arabia)
ar-sy Arabic (Syria)
ar-tn Arabic (Tunisia)
ar-ye Arabic (Yemen)
be Belarusian
bg Bulgarian
ca Catalan
cs Czech
da Danish
de German (Standard)
de-at German (Austria)
de-ch German (Switzerland)
de-li German (Liechtenstein)
de-lu German (Luxembourg)
el Greek
en English
en English (Caribbean)
en-au English (Australia)
en-bz English (Belize)
en-ca English (Canada)
en-gb English (Great Britain)
en-ie English (Ireland)
en-jm English (Jamaica)
en-nz English (New Zealand)
en-tt English (Trinidad)
en-us English (United States)
en-za English (South Africa)
es Spanish (Spain Modern)
es Spanish (Spain Traditional)
es-ar Spanish (Argentina)
es-bo Spanish (Bolivia)
es-cl Spanish (Chile)
es-co Spanish (Colombia)
es-cr Spanish (Costa Rica)
es-do Spanish (Dominican Republic)
es-ec Spanish (Ecuador)
es-gt Spanish (Guatemala)
es-hn Spanish (Honduras)
es-mx Spanish (Mexico)
es-ni Spanish (Nicaragua)
es-pa Spanish (Panama)
es-pe Spanish (Peru)
es-pr Spanish (Puerto Rico)
es-py Spanish (Paraguay)
es-sv Spanish (El Salvador)
es-uy Spanish (Uruguay)
es-ve Spanish (Venezuela)
et Estonian
eu Basque
fa Farsi
fi Finnish
fo Faeroese
fr French (Standard)
fr-be French (Belgium)
fr-ca French (Canada)
fr-ch French (Switzerland)
fr-lu French (Luxembourg)
gd Gaelic (Scotland)
gd-ie Gaelic (Ireland)
he Hebrew
hi Hindi
hr Croatian
hu Hungarian
in Indonesian
is Icelandic
it Italian (Standard)
it-ch Italian (Switzerland)
ja Japanese
ji Yiddish
ko Korean
ko Korean (Johab)
lt Lithuanian
lv Latvian
mk Macedonian
ms Malaysian
mt Maltese
nl Dutch (Standard)
nl-be Dutch (Belgium)
no Norwegian (Bokmal)
no Norwegian (Nynorsk)
pl Polish
pt Portuguese (Standard)
pt-br Portuguese (Brazil)
rm Rhaeto-Romanic
ro Romanian
ro-mo Romanian (Moldavia)
ru Russian
ru-mo Russian (Moldavia)
sb Sorbian
sk Slovak
sl Slovenian
sq Albanian
sr Serbian (Cyrillic)
sr Serbian (Latin)
sv Swedish
sv-fi Swedish (Finland)
sx Sutu
sz Sami (Lappish)
th Thai
tn Tswana
tr Turkish
ts Tsonga
uk Ukrainian
ur Urdu
ve Venda
vi Vietnamese
xh Xhosa
zh-cn Chinese (PRC)
zh-hk Chinese (Hong Kong, S.A.R. China)
zh-sg Chinese (Singapore)
zh-tw Chinese (Taiwan)
zu Zulu
-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect8

Редирект в зависимости от дня недели

(не копируйте код из источника, он не будет работать для редиректа)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i];
}
var DOWArray = new
initArray("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var today = new Date();
var day = DOWArray[today.getDay()+1];
window.location = day + ".html";
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect9

Редирект в зависимости от числа (дня месяца)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var today = new Date();
var day = today.getDate();
window.location = day + ".html";
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect10

Редирект в зависимости от месяца года

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function monthPage() {
today = new Date();
m = new Array(
"January.html","February.html",
"March.html","April.html","May.html",
"June.html","July.html","August.html",
"September.html","October.html",
"November.html","December.html"
);
window.location = m[today.getMonth()];
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY OnLoad="monthPage()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Redirect15

Редирект со стробоскопическим эффектом Loading
 Вам следует поместить предложенный в таблице код на чистую страницу и сохранить как.. как придется! Прочитайте только комментарий, выделенный белым цветом. Ну, а для примера работы скрипта, нажмите кнопку "ТЕСТ". (Никаких рисунков не требуется!)

ПОЛНЫЙ КОД СТРАНИЦЫ

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style><!--
body
{
font-size:12px;
font-family:Arial;
color:000000
}
#increment
{
filter:blendTrans(duration=1)
}
-->
</style>
<script>

/*
Count down then redirect script 2
By William Kemper (kemperwilliam@hotmail.com)
For this script and more, visit http://wsabstract.com
*/

//specify redirect url
var redirecturl="Redirect15a.htm" // АДРЕС СТРАНИЦЫ ДЛЯ
//specify pause duration before redirection (in seconds)
var pausefor=5 // ВРЕМЯ ЗАДЕРЖКИ РЕДИРЕКТА в секундах

//DONE EDITING

function postaction(){
if (window.timer){
clearInterval(timer)
clearInterval(timer_2)
}
window.location=redirecturl
}
setTimeout("postaction()",pausefor*1000)

</script>
<script language="JavaScript1.2">

<!--

// this script was originally authored by william kemper. I have no homepage.
var switchm=new Array
switchm[0]="ffaa00";
switchm[1]="ffff00";
switchm[2]="00ff00";
switchm[3]="0099ff";
switchm[4]="ff0000";
switchm[5]="ff00ff";
// if you want to add more colors go ahead, all the for limits are based on array length so
// you shouldn't need to change any of the code, just add more colors.

i=0
j=0
function STROBE()
{
if (j>increment.length-1)
{
j=0
i++
if (i>switchm.length-1)
{
i=0
}
}
document.all.increment[j].filters.blendTrans.apply()
document.all.increment[j].bgColor=switchm[i]
document.all.increment[j].filters.blendTrans.play()
j++
}
timer=setInterval("STROBE()",20) // change the number to effect the speed of the loadbar.
timer_2=setInterval("REVEAL()",20)
function REVEAL()
{
if (document.images[0].complete)
{
clearInterval(timer)
clearInterval(timer_2)
document.all.loadbar.style.visibility="hidden";
document.all.content.style.visibility="visible";
}
}
// i don't know how to put comments in the css, but change duration to effect the speed of the fade effect.
</script>
</head>
<body>
<p align="center"><strong><font face="Arial"><big> Пожалуйста, подождите 5 секунд для загрузки страницы<br>
такой-то....</big><br> Внимание! Редирект зациклен сам на себя! <BR>Просто закройте это окно.</font></strong></p>
<div id=loadbar
style=position:absolute; top:expression(document.body.clientHeight/2-100); left:expression(document.body.clientWidth/2-50)>
<table cellspacing=0 cellpadding=0 width=100><tr><td
colspan=10><b>Loading...</b></td></tr><tr>
<script language="JavaScript"><!--
for (k=0;k<10;k++)
{
document.write("<td id=increment width=10 height=20></td>") // you could set the length of the loadbar by changing the upper limit of the for statement.
}
</script>
<div id=content
style="position:absolute; top:expression((document.body.clientHeight-document.images[0].height)/2); left:expression((document.body.clientWidth-document.images[0].width)/2);visibility:hidden;">
<img src="abcdefghijklmnop.gif" width=1 height=1>
</div>

</body>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img35

"Графопостроитель" 1

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE=JavaScript><!--
var Data=new Array();
Data[1]="30;10;40"//Data records
Data[2]="10;50;90"
Data[3]="20;60;30"
Data[4]="10;40;10"
Data[5]="50;90;20"

function TypeNext(){
//position selection
var S=document.ListForm.elements[0].options.selectedIndex+1
//reading data and changing bar-images
as=Data[S].split(';');
document.images["bar1"].src="graph"+as[0]+".gif"
document.images["bar2"].src="graph"+as[1]+".gif"
document.images["bar3"].src="graph"+as[2]+".gif"}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form NAME=ListForm>
<table width="298"><tr><td width="82">
<SELECT NAME=P1 onChange="TypeNext();return false" SIZE=5>
<option value=1>30-10-40</option>
<option value=2>10-50-90</option>
<option value=3>20-60-30</option>
<option value=4>10-40-10</option>
<option value=5>50-90-20</option>
</select><td width="202">
<IMG NAME=bar1 SRC=graph99.gif width=190 height=15 border=0><BR><BR>
<IMG NAME=bar2 SRC=graph50.gif width=190 height=15 border=0><BR><BR>
<IMG NAME=bar3 SRC=graph10.gif width=190 height=15 border=0>
</td></tr></table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: graph.zip


Img36

"Графопостроитель" 2
(без рисунков)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript><!--
dd=document;
function setBGCOLOR(L,color){if(dd.layers)dd.layers[L].bgColor=color;else obg=dd.getElementById(L);obg.style.background=color}
var Data=new Array(0,05,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95)
function TypeNext(){
var S=document.ListForm.elements[0].options.selectedIndex+1;
var buf=Data[S]
for(var ib=1;ib<=19;ib++){
ic=ib*5;if (ic<10)ic='0'+ic
cell='c0'+ic
if (ic<=buf)setBGCOLOR(cell,'green')
if (ic>buf)setBGCOLOR(cell,'red')
}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<TABLE border=0>
<TBODY>
<TR>
<TD vAlign=top>
<FORM name=ListForm><SELECT name=P1 onchange="TypeNext();return false"
size=19>
<OPTION>05
<OPTION>10
<OPTION>15
<OPTION>20
<OPTION>25
<OPTION>30
<OPTION>35
<OPTION>40
<OPTION>45
<OPTION>50
<OPTION>55
<OPTION>60
<OPTION>65
<OPTION>70
<OPTION>75
<OPTION>80
<OPTION>85
<OPTION>90
<OPTION>95
</OPTION></SELECT></FORM></TD>
<TD vAlign=top><A name=p0></A>
</TD></TR></TBODY></TABLE>
<DIV id=c005
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 100px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c010
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 111px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c015
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 122px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c020
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 133px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c025
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 144px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c030
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 155px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c035
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 166px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c040
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 177px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c045
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 188px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c050
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 199px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c055
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 210px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c060
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 221px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c065
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 232px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c070
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 243px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c075
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 254px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c080
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 265px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c085
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 276px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c090
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 287px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c095
style="CLIP: rect(0px 10px 10px 0px); HEIGHT: 10px; LEFT: 298px; POSITION: absolute; TOP: 95px; WIDTH: 10px"></DIV>
<DIV id=c100
style="clip: rect(0px 10px 10px 0px); height: 10; left: 309; position: absolute; top: 95; width: 10; background-position: 0%"></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img37

"Графопостроитель" 3
без рисунков, псевдографика

.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

</STYLE>

<SCRIPT language=JavaScript><!--//
dd=document
function showq(ic){curtext=''
for(var i=0;i<ic;i++)curtext+='X0';
if (dd.layers){with (dd.p1.document){
open();write('<TABLE border=0 cellpadding=0 cellSpacing=0 bgcolor=#280000><TD>'+curtext+'</td></table>');close()}
} else if (dd.all){dd.all['p1'].innerText=curtext
} else if (dd.getElementById){
obg=dd.getElementById('p1');
rng=dd.createRange();
rng.setStartBefore(obg);
HFrg=rng.createContextualFragment(curtext)
while(obg.hasChildNodes())obg.removeChild(obg.lastChild)
obg.appendChild(HFrg)
}
}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FONT color=#280000><SPAN id=p1
style="left: 10px; POSITION: absolute; TOP: 110px">.</SPAN></FONT><br>
<SCRIPT language=JavaScript><!--//
for(var j=1;j<10;j++){dd.write('<a href=#top onmouseover=showq('+j+')> 0'+j+' </a>')}
//--></SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img44

Графопостроитель 4
Измените значение в формах и нажмите кнопку ОБНОВИТЬ в Вашем браузере.

Внимание! Из файла справки скрипт не работает и при обновлении просто возвращает данные по умолчанию.

НАЗВАНИЕ:
Легенда:
Месяц:

Значения:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
function getHplot(){
n=new initArray(0,0,0,0,0,0)
v=new initArray(0,0,0,0,0,0)
rtitle=document.isnform.title.value;
stitle=document.isnform.stitle.value;
document.write('<TABLE BORDER=0 WIDTH=486><TR><TD '
+'COLSPAN=3 ALIGN=CENTER><B>Горизонтальный гафик</'
+'B></TD></TR><TR><TD COLSPAN=3 ALIGN=CENTER><B>'
+rtitle+'</B><BR><I>'+stitle+'</I></TD></TR>');
v[0]=document.isnform.v1.value;
v[1]=document.isnform.v2.value;
v[2]=document.isnform.v3.value;
v[3]=document.isnform.v4.value;
v[4]=document.isnform.v5.value;
v[5]=document.isnform.v6.value;
n[9]=0;
n[6]=0;
n[7]=0;
for (var i=0;i<6;i++){
if (v[i].length>n[9]){
n[9]=v[i].length;
}
/* The next three lines are needed for visitors who
still live on the Win3.x platform. If none of your
visitors use older platforms,
n[i]=eval(v[i]);
may be substituted for these three lines. */
str=v[i]
StringToNumber();
n[i]=num; // eval(v[i]); may be substituted
if (n[i]<0){
n[i]=0;
}
n[6]+=n[i];
if (n[i]>n[7]){
n[7]=n[i];
}
}
n[10]=(n[9]+6)*8
n[8]=n[7]/(484-n[10]); // my divisor
document.write('<TR><TD><B>'+document.isnform.n1.value
+'</B></TD><TD><IMG SRC="newgrapha.gif" HEIGHT=10 WIDTH='
+(n[0]/n[8])+' BORDER=1></TD><TD>'+v[0]+'</TD></TR>'
+'<TR><TD><B>'+document.isnform.n2.value
+'</B></TD><TD><IMG SRC="newgraphb.gif" HEIGHT=10 WIDTH='+(n[1]/n[8])
+' BORDER=1></TD><TD>'+v[1]+'</TD></TR>'
+'<TR><TD><B>'+document.isnform.n3.value
+'</B></TD><TD><IMG SRC="newgraphc.gif" HEIGHT=10 WIDTH='+(n[2]/n[8])
+' BORDER=1></TD><TD>'+v[2]+'</TD></TR>'
+'<TR><TD><B>'+document.isnform.n4.value
+'</B></TD><TD><IMG SRC="newgraphd.gif" HEIGHT=10 WIDTH='+(n[3]/n[8])
+' BORDER=1></TD><TD>'+v[3]+'</TD></TR>'
+'<TR><TD><B>'+document.isnform.n5.value
+'</B></TD><TD><IMG SRC="newgraphe.gif" HEIGHT=10 WIDTH='+(n[4]/n[8])
+' BORDER=1></TD><TD>'+v[4]+'</TD></TR>'
+'<TR><TD><B>'+document.isnform.n6.value
+'</B></TD><TD><IMG SRC="newgrapha.gif" HEIGHT=10 WIDTH='+(n[5]/n[8])
+' BORDER=1></TD><TD>'+v[5]+'</TD></TR>');
document.write('<TR><TD COLSPAN=3><HR NOSHADE></TD></TR></TABLE>');
getVplot();
}

function getVplot(){
n[8]=n[7]/100;
document.write('<P><TABLE BORDER=0 WIDTH=486><TR><TD'
+' COLSPAN=6 ALIGN=CENTER><B>Вертикальный график</B></TD></TR>'
+'<TR><TD COLSPAN=6 ALIGN=CENTER><B>'
+rtitle+'</B><BR><I>'+stitle+'</I></TD></TR><TR>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgrapha.gif" HEIGHT='
+(n[0]/n[8])
+' WIDTH=50 BORDER=1></TD>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgraphb.gif" HEIGHT='
+(n[1]/n[8])+' WIDTH=50 BORDER=1></TD>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgraphc.gif" HEIGHT='
+(n[2]/n[8])+' WIDTH=50 BORDER=1></TD>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgraphd.gif" HEIGHT='
+(n[3]/n[8])+' WIDTH=50 BORDER=1></TD>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgraphe.gif" HEIGHT='
+(n[4]/n[8])+' WIDTH=50 BORDER=1></TD>'
+'<TD VALIGN=BOTTOM ALIGN=CENTER><IMG SRC="newgrapha.gif" HEIGHT='
+(n[5]/n[8])+' WIDTH=50 BORDER=1></TD></TR><TR>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n1.value+'</B></TD>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n2.value+'</B></TD>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n3.value+'</B></TD>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n4.value+'</B></TD>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n5.value+'</B></TD>'
+'<TD ALIGN=CENTER><B>'+document.isnform.n6.value+'</B></TD></TR>'
+'<TR><TD ALIGN=CENTER>'+v[0]+'</B></TD>'
+'<TD ALIGN=CENTER>'+v[1]+'</TD>'
+'<TD ALIGN=CENTER>'+v[2]+'</TD>'
+'<TD ALIGN=CENTER>'+v[3]+'</TD>'
+'<TD ALIGN=CENTER>'+v[4]+'</TD>'
+'<TD ALIGN=CENTER>'+v[5]+'</TD></TR><TR><TD COLSPAN=6'
+'><HR NOSHADE><P></TD></TR></TABLE>');
}
var pwr=new initArray(1,2,3,4);
pwr[0]=1;
pwr[1]=10;
pwr[2]=100;
pwr[3]=1000;
pwr[4]=10000;
pwr[5]=100000;
pwr[6]=1000000;
pwr[7]=10000000;
/* Add more to array - pwr[8]=100000000, etc. -
if strings longer than 8 are to be used. */
var ns="0123456789"
var cr="";
var str="";

/* Pass this function a string (named "str") and it will
return a number (named "num") Useful until all versions
of JavaScript on all platforms support string to numeric
conversions with predictability. */
function StringToNumber(){
num=0;
strl=str.length;
for (var j=strl-1;j>-1;j--){
cr=str.substring(j,j+1);
pos=ns.indexOf(cr);
num+=pos*pwr[strl-j-1];
}
}

function initArray() {
this.length=initArray.arguments.length;
for (var i=0;i<this.length;i++) {
this[i]=initArray.arguments[i];
}
}
// End Hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME='isnform'>
<TABLE BORDER=0 WIDTH=486>
<TR><TD ALIGN=CENTER COLSPAN=7>НАЗВАНИЕ: <INPUT TYPE='text' NAME='title' SIZE='20' VALUE='Продажи за 2001г.'>
<BR>Легенда: <INPUT TYPE='text' NAME='stitle' SIZE='40' VALUE='(Все прожажи в тысячах)'></TD></TR>
<TR><TD>Месяц:</TD>
<TD><INPUT TYPE='text' NAME='n1' SIZE='3' VALUE='Jan'></TD>
<TD><INPUT TYPE='text' NAME='n2' SIZE='3' VALUE='Feb'></TD>
<TD><INPUT TYPE='text' NAME='n3' SIZE='3' VALUE='Mar'></TD>
<TD><INPUT TYPE='text' NAME='n4' SIZE='3' VALUE='Apr'></TD>
<TD><INPUT TYPE='text' NAME='n5' SIZE='3' VALUE='May'></TD>
<TD><INPUT TYPE='text' NAME='n6' SIZE='3' VALUE='Jun'></TD></TR>
<TR><TD><BR>Значения:
<TD><INPUT TYPE='text' NAME='v1' SIZE='8' VALUE=1000>
<TD><INPUT TYPE='text' NAME='v2' SIZE='8' VALUE=1456>
<TD><INPUT TYPE='text' NAME='v3' SIZE='8' VALUE=1567>
<TD><INPUT TYPE='text' NAME='v4' SIZE='8' VALUE=1345>
<TD><INPUT TYPE='text' NAME='v5' SIZE='8' VALUE=1754>
<TD><INPUT TYPE='text' NAME='v6' SIZE='8' VALUE=1923>
</TD></TR>
</TABLE>
</FORM>
<center>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
getHplot();
// End Hiding -->
</SCRIPT>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: newgraph.zip


Img22

Pop-up рисунки при клике по thumb-nail
с ограничением времени экспозиции

Кликните по любому рисунку.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
timeout =5; // Закрыть popup через Х СЕКУНД (0 - значит не закрывать, любые другие цифры - секунды)

function Start(URL, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + (WIDTH+50) + ",height=" + (HEIGHT+50);

text = "<html><head><title>Preview</title></head><body bgcolor='white'";

if (timeout != 0) text +=" onLoad=\"setTimeout('window.close()', " + timeout*1000 + ");\"";

text += "><center><img src='" + URL + "'>";

if (timeout != 0) text +="<br><font face='arial, helvetica' size='-1'>Preview closes after " + timeout + " seconds.</font>";

text += "</center></body></html>";

preview = window.open("", "preview", windowprops);
preview.document.open();
preview.document.write(text);
preview.document.close();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 Кликните по любому рисунку.<br><br>
<a href="javascript:Start('boss0c.gif', 267, 103)";>
 <!----ПОМЕСТИТЕ ЛЮБЫЕ СВОИ
 РИСУНКИ----->
<img src="boss0c.gif" width=36 height=21></a> &nbsp;
<a href="javascript:Start('0.gif', 267, 103)";>
<img src="0.gif" width=36 height=21></a> &nbsp;
<a href="javascript:Start('00.gif', 267, 103)";>
<img src="00.gif" width=36 height=21></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img39

ZOOM
Картинки возьмите любые, лучше одного размера. Размеры рисунков в клипе устанавливаются - см. таблицу. Каждый рисунок - это линк. (Прорисовка рисунков в файле справки будет замедленной см. FAQ)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

// ШИРИНА
var imgwidth=240

// ВЫСОТА
var imgheight=160

//  ПОЛОЖЕНИЕ НА СТРАНИЦЕ
var pos_left=70
var pos_top=100

// ЗДЕСЬ ИМЕНА ФАЙЛОВ ВАШИХ РИСУНКОВ (рисунков
      можно добавить при желании).
var imgname=new Array()
imgname[0]="imgzoom1_294.jpg"
imgname[1]="imgzoom2_294.jpg"
imgname[2]="imgzoom3_294.jpg"

// ЕСЛИ ВЫ НЕ ХОТИТЕ ДЕЛАТЬ ЛИНК,
      ВПИШИТЕ  " # "
var imgurl=new Array()
imgurl[0]="http://"    //
      ВПИШИТЕ АДРЕС ДЛЯ КАЖДОГО ЛИНКА
imgurl[1]="http://"
imgurl[2]="http://"

// This block will preload your images. Do not edit this block.
var imgpreload=new Array()
for (i=0;i<=imgname.length-1;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=imgname[i]
}

// Standstill-time between the images (microseconds).
var pause=2000

// Speed of the stretching and shrinking effect. More means slower.
var speed=20

// This variable also affects the speed (the length of the step between each inmage-frame measured in pixels). More means faster.
var step=10

// Do not edit the variables below
var cliptop=0
var clipbottom=imgheight
var clipleft=0
var clipright=imgwidth
var i_loop=4*imgwidth
var i_image=0

function shrinkin() {
if (i_loop>=imgwidth) {
imgcontainer.innerHTML="<a href='"+imgurl[i_image]+"' target='_blank'><img width='"+i_loop+"' src='"+imgname[i_image]+"' border='0'></a>"
i_loop=i_loop-step
var timer=setTimeout("shrinkin()",speed)
}
else {
clearTimeout(timer)
var timer=setTimeout("shrinkout()",pause)
}
}

function shrinkinNN() {
if (i_loop>=imgwidth) {
document.imgcontainer.document.write("<a href='"+imgurl[i_image]+"' target='_blank'><img width='"+i_loop+"' src='"+imgname[i_image]+"' border='0'></a>")
document.imgcontainer.document.close()
i_loop=i_loop-step*10
var timer=setTimeout("shrinkinNN()",speed*40)
}
else {
clearTimeout(timer)
var timer=setTimeout("shrinkoutNN()",pause)
}
}

function shrinkout() {
if (i_loop>-step) {
imgcontainer.innerHTML="<a href='"+imgurl[i_image]+"' target='_blank'><img width='"+i_loop+"' src='"+imgname[i_image]+"' border='0'></a>"
i_loop=i_loop-step
var timer=setTimeout("shrinkout()",speed)
}
else {
clearTimeout(timer)
changeimage()
}
}

function shrinkoutNN() {
if (i_loop>-step) {
document.imgcontainer.document.write("<a href='"+imgurl[i_image]+"' target='_blank'><img width='"+i_loop+"' src='"+imgname[i_image]+"' border='0'></a>")
document.imgcontainer.document.close()
i_loop=i_loop-step*10
var timer=setTimeout("shrinkoutNN()",speed*40)
}
else {
clearTimeout(timer)
document.imgcontainer.document.write("<a href='"+imgurl[i_image]+"' target='_blank'><img width='1' src='"+imgname[i_image]+"' border='0'></a>")
document.imgcontainer.document.close()
changeimageNN()
}
}

function changeimage() {
i_loop=4*imgwidth
i_image++
if (i_image>imgname.length-1) {i_image=0}
var timer=setTimeout("shrinkin()",pause)
}

function changeimageNN() {
i_loop=4*imgwidth
i_image++
if (i_image>imgname.length-1) {i_image=0}
var timer=setTimeout("shrinkinNN()",pause)
}

function initiate() {
if (document.all) {
document.all.imgcontainer.style.posLeft=pos_left
document.all.imgcontainer.style.posTop=pos_top
document.all.imgcontainer.style.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
changeimage()
}
if (document.layers) {
document.imgcontainer.left=pos_left
document.imgcontainer.top=pos_top
document.imgcontainer.clip.left=clipleft
document.imgcontainer.clip.right=clipright
document.imgcontainer.clip.top=cliptop
document.imgcontainer.clip.bottom=clipbottom
changeimageNN()
}
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="initiate()">

<span id="imgcontainer" style="position: absolute;"></span>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img2

Автоотключение экспозиции рисунка

Картинка "NEW" исчезнет автоматически после истечения определенного срока, который Вы настраиваете самостоятельно (выделено белым цветом во второй таблице)

Вышла JS Library версии 1.0

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
/*
"Whats new?" image script-
By Website Abstraction (www.wsabstract.com)
*/

//set the below to the image you wish to use as the "new" image
var imagetag='<img src="new.gif">'
var today=new Date()
function expireat(expiredate){
var expire=new Date(expiredate)
if (today.getTime()<=expire.getTime())
document.write(imagetag)
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
expireat("November 21, 2002")
</script>Вышел JavaScript Help версии 1.0

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

new.gif


RC23

Автопрокрутка рисунков-ссылок
(без формы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.1">
<!--

/*
JavaScript Image slideshow:
By Website Abstraction (www.wsabstract.com)
Over 200+ free JavaScript here!
*/

var slideimages=new Array()
var slidelinks=new Array()
function slideshowimages(){
for (i=0;i<slideshowimages. arguments.length;i++){
slideimages[i]=new Image()
slideimages[i].src= slideshowimages.arguments[i]
}
}

function slideshowlinks(){
for (i=0;i<slideshowlinks. arguments.length;i++)
slidelinks[i]= slideshowlinks.arguments[i]
}

function gotoshow(){
if (!window.winslide||winslide.closed)
winslide=window.open (slidelinks[whichlink])
else
winslide.location= slidelinks[whichlink]
winslide.focus()
}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <a href="javascript:gotoshow()"> <img src="1gold.gif" name="slide"
border=0 width=100 height=100></a>
<script>
<!--

//названия Ваших рисунков и URL
slideshowimages("1gold.gif","2gold.gif",
 "3gold.gif","4gold.gif","5gold.gif")
slideshowlinks("home.htm", "another.htm", "Link.htm","popdemo.htm","home.htm")

//скорость прокрутки слайдов
var slideshowspeed=2000

var whichlink=0
var whichimage=0
function slideit(){
if (!document.images)
return
document.images.slide.src= slideimages[whichimage].src
whichlink=whichimage
if (whichimage<slideimages.length-1)
whichimage++
else
whichimage=0
setTimeout("slideit()",slideshowspeed)
}
slideit()

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

1gold.gif
2gold.gif
3gold.gif
4gold.gif
5gold.gif


RC20

Автопрокрутка рисунков-ссылок с предварительной загрузкой
 (Каждый последующий рисунок загружается во время экспонирования предыдущего)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!--

/*
Script by FPMC at http://jsarchive.8m.com
Submitted to Website Abstraction (http://wsabstract.com)
*/

//полный путь к рисунку
src = ["1gold.gif", "2gold.gif", "3gold.gif", "4gold.gif"]

//urls
url = ["home.htm", "another.htm", "Link.htm", "popdemo.htm"]

//время экспонирования каждого рисунка
duration = 4;

//Please do not edit below
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ad_Image"].src = ads[ct=n].src;
}
ads[n=(ct+1)%src.length] = new Image;
ads[n].src = src[n];
setTimeout("switchAd()",duration*1000);
}
function doLink(){
location.href = url[ct];
} onload = function(){
if (document.images)
switchAd();
}
//-->
</SCRIPT>

<A HREF="javascript:doLink();" onMouseOver="status=url[ct];return true;"
onMouseOut="status=''">
<IMG NAME="Ad_Image" SRC="1gold.gif" BORDER=0 width="40" height="55">
</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.


Img56

Бабочки (бабочка)
Удалите выделенную белым строку и останется только одна бабочка. Или добавьте еще одну с цифрой 2 и будут летать три. Кликните по любой бабочке и они все исчеснут.:( птичку жалко...

Содержимое этой таблицы поместите сразу перед </BODY>

<script language="JavaScript1.2">

/*
Flying Butterfly script (By BGAudioDr@aol.com)
Modified slightly/ permission granted to Dynamic Drive to feature script in archive
For full source, visit http://www.dynamicdrive.com
*/

var Ymax=8; //MAX # OF PIXEL STEPS IN THE "X" DIRECTION
var Xmax=8; //MAX # OF PIXEL STEPS IN THE "Y" DIRECTION
var Tmax=10000; //MAX # OF MILLISECONDS BETWEEN PARAMETER CHANGES

//FLOATING IMAGE URLS FOR EACH IMAGE. ADD OR DELETE ENTRIES. KEEP ELEMENT NUMERICAL ORDER STARTING WITH "0" !!

var floatimages=new Array();
floatimages[0]='butterfly.gif';
floatimages[1]='butterfly.gif';

//*********DO NOT EDIT BELOW***********
var NS4 = (navigator.appName.indexOf("Netscape")>=0 && parseFloat(navigator.appVersion) >= 4 && parseFloat(navigator.appVersion) < 5)? true : false;
var IE4 = (document.all)? true : false;
var NS6 = (parseFloat(navigator.appVersion) >= 5 && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var wind_w, wind_h, t='', IDs=new Array();
for(i=0; i<floatimages.length; i++){
t+=(NS4)?'<layer name="pic'+i+'" visibility="hide" width="10" height="10"><a href="javascript:hidebutterfly()">' : '<div id="pic'+i+'" style="position:absolute; visibility:hidden;width:10px; height:10px"><a href="javascript:hidebutterfly()">';
t+='<img src="'+floatimages[i]+'" name="p'+i+'" border="0">';
t+=(NS4)? '</a></layer>':'</a></div>';
}
document.write(t);

function moveimage(num){
if(getidleft(num)+IDs[num].W+IDs[num].Xstep >= wind_w+getscrollx())IDs[num].Xdir=false;
if(getidleft(num)-IDs[num].Xstep<= getscrollx())IDs[num].Xdir=true;
if(getidtop(num)+IDs[num].H+IDs[num].Ystep >= wind_h+getscrolly())IDs[num].Ydir=false;
if(getidtop(num)-IDs[num].Ystep<= getscrolly())IDs[num].Ydir=true;
moveidby(num, (IDs[num].Xdir)? IDs[num].Xstep : -IDs[num].Xstep , (IDs[num].Ydir)? IDs[num].Ystep: -IDs[num].Ystep);
}

function getnewprops(num){
IDs[num].Ydir=Math.floor(Math.random()*2)>0;
IDs[num].Xdir=Math.floor(Math.random()*2)>0;
IDs[num].Ystep=Math.ceil(Math.random()*Ymax);
IDs[num].Xstep=Math.ceil(Math.random()*Xmax)
setTimeout('getnewprops('+num+')', Math.floor(Math.random()*Tmax));
}

function getscrollx(){
if(NS4 || NS6)return window.pageXOffset;
if(IE4)return document.body.scrollLeft;
}

function getscrolly(){
if(NS4 || NS6)return window.pageYOffset;
if(IE4)return document.body.scrollTop;
}

function getid(name){
if(NS4)return document.layers[name];
if(IE4)return document.all[name];
if(NS6)return document.getElementById(name);
}

function moveidto(num,x,y){
if(NS4)IDs[num].moveTo(x,y);
if(IE4 || NS6){
IDs[num].style.left=x+'px';
IDs[num].style.top=y+'px';
}}

function getidleft(num){
if(NS4)return IDs[num].left;
if(IE4 || NS6)return parseInt(IDs[num].style.left);
}

function getidtop(num){
if(NS4)return IDs[num].top;
if(IE4 || NS6)return parseInt(IDs[num].style.top);
}

function moveidby(num,dx,dy){
if(NS4)IDs[num].moveBy(dx, dy);
if(IE4 || NS6){
IDs[num].style.left=(getidleft(num)+dx)+'px';
IDs[num].style.top=(getidtop(num)+dy)+'px';
}}

function getwindowwidth(){
if(NS4 || NS6)return window.innerWidth;
if(IE4)return document.body.clientWidth;
}

function getwindowheight(){
if(NS4 || NS6)return window.innerHeight;
if(IE4)return document.body.clientHeight;
}

function init(){
wind_w=getwindowwidth();
wind_h=getwindowheight();
for(i=0; i<floatimages.length; i++){
IDs[i]=getid('pic'+i);
if(NS4){
IDs[i].W=IDs[i].document.images["p"+i].width;
IDs[i].H=IDs[i].document.images["p"+i].height;
}
if(NS6 || IE4){
IDs[i].W=document.images["p"+i].width;
IDs[i].H=document.images["p"+i].height;
}
getnewprops(i);
moveidto(i , Math.floor(Math.random()*(wind_w-IDs[i].W)), Math.floor(Math.random()*(wind_h-IDs[i].H)));
if(NS4)IDs[i].visibility = "show";
if(IE4 || NS6)IDs[i].style.visibility = "visible";
startfly=setInterval('moveimage('+i+')', Math.floor(Math.random()*100)+100);
}}

function hidebutterfly(){
for(i=0; i<floatimages.length; i++){
if (IE4)
eval("document.all.pic"+i+".style.visibility='hidden'")
else if (NS6)
document.getElementById("pic"+i).style.visibility='hidden'
else if (NS4)
eval("document.pic"+i+".visibility='hide'")
clearInterval(startfly)
}
}

if (NS4||NS6||IE4){
window.onload=init;
window.onresize=function(){ wind_w=getwindowwidth(); wind_h=getwindowheight(); }
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в прмере: butterfly.zip


Game22

Бомба для мыши

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!-- Original: Diana Ugo (ugo76@libero.it) -->
<!-- Web Site: http://utenti.tripod.it/falcons -->

picFollow = new Image();
picFollow.src = "bomb.gif";
picExplosion = new Image();
picExplosion.src = "explode.gif";
document.onmousemove = getMousePosition;
document.onmouseout = pauseBomb;
document.write("<div id=\"diva\" style=\"position:absolute\">");
document.write("<img name=\"pic\"src=" + picFollow.src + "></div>");
var picX = 20;
var picY = 100;
var step = 10;
var speed = 100;
var tolerance = step/2 +1;
var mouseX = 0;
var mouseY = 0;
var mouseOut = true;
var followMouse = false;
myInterval = setInterval('moveBomb()', speed);
function pauseBomb() {
mouseOut = true;
}
function getMousePosition(e) {
mouseX = window.event.x + document.body.scrollLeft;
mouseY = window.event.y + document.body.scrollTop;
mouseOut = false;
if (followMouse) {
diva.style.left = mouseX - pic.width / 2;
diva.style.top = mouseY - pic.height / 2;
}
}
function calcNewPos() {
if (mouseX == picX)
return;
arg = (mouseY-picY) / (mouseX-picX);
mult = 1;
if (mouseX - picX < 0)
mult = -1;
alpha = Math.atan(arg);
dx = mult * step * Math.cos(alpha);
dy = mult * step * Math.sin(alpha);
picX += dx;
picY += dy;
}
function collision() {
if ((Math.abs(picX-mouseX) < tolerance) && (Math.abs(picY-mouseY) < tolerance) && (!mouseOut))
return true;
return false;
}
function hideAnimation() {
diva.style.visibility = "hidden";
}
function moveBomb() {
calcNewPos();
window.status = "("+mouseX+","+mouseY+")";
diva.style.left = picX - pic.width / 2;
diva.style.top = picY - pic.height / 2;
if (collision()) {
clearInterval(myInterval);
pic.src = picExplosion.src;
followMouse = true;
setTimeout('hideAnimation()', 2000);
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

bomb.gif [image] explode.gif


Img13

Рисунок во весь экран

Разворачивает любой рисунок во весь экран, вернее, во все окно браузера. Поэтому лучше, чтобы рисунок был высокого разрешения. Ниже приведен пример рисунка в его "натуральную" величину. Нажмите кнопку "ТЕСТ" для открытия дополнительного окна, в котором этот рисунок будет увеличен до размеров окна браузера. (Приведенный в таблицах код помещен в код страницы в открываемом окне, а не на этой странице!)

Это снежинка будет увеличена "во весь экран".

snow.gif

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eddie Traversa (psych3@primus.com.au) -->
<!-- Web Site: http://nirvana.media3.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function Is() {
var agent = navigator.userAgent.toLowerCase();
this.major = parseInt(navigator.appVersion);
this.minor = parseFloat(navigator.appVersion);
this.ns = ((agent.indexOf('mozilla') != -1) &&
(agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1) && (agent.indexOf('opera') == -1) && (agent.indexOf('webtv') == -1));
this.ns2 = (this.ns && (this.major == 2));
this.ns3 = (this.ns && (this.major == 3));
this.ns4 = (this.ns && (this.major == 4));
this.ns6 = (this.ns && (this.major >= 5));
this.ie = (agent.indexOf("msie") != -1);
this.ie3 = (this.ie && (this.major < 4));
this.ie4 = (this.ie && (this.major == 4) &&
(agent.indexOf("msie 5.0") == -1));
this.ie5 = (this.ie && (this.major == 4) &&
(agent.indexOf("msie 5.0") != -1));
this.ieX = (this.ie && !this.ie3 && !this.ie4);
}
var is = new Is();
function layerObject(id,left,top,visibility) {
if (is.ie5||is.ns6){
this.obj = document.getElementById(id).style;
this.obj.left = left;
this.obj.top = top;
this.obj.visibility = visibility;
return this.obj;
}
else if(is.ie4) {
this.obj = document.all[id].style;
this.obj.left = left;
this.obj.top = top;
this.obj.visibility = visibility;
return this.obj;
}
else if(is.ns4) {
this.obj = document.layers[id];
this.obj.left = left;
this.obj.top = top;
this.obj.visibility = visibility;
return this.obj;
}
}
function layerSetup() {
backgroundLyr = new layerObject('backgroundLayer', 0,0,'visible');
}
function findSize() {
if(is.ns4 ||is.ns6) {
available_width=innerWidth;
available_height=innerHeight;
layerSetup();
} else if(is.ie4 || is.ie5) {
available_width=document.body.clientWidth;
available_height=document.body.clientHeight;
layerSetup();
}
}
function winResize() {
if(is.ns4 ||is.ns6||is.ie4||is.ie5) {
history.go(0);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="findSize()" onResize="winResize()">

<div id="backgroundLayer" style="position:absolute; width:200px; height:115px; z-index:1; left: 0px; top: 0; visibility: hidden">
<!--Выделенная цифра может быть отрицательной - тогда рисунок окажется под текстом--->
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Eddie Traversa (psych3@primus.com.au) -->
<!-- Web Site: http://nirvana.media3.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
if(is.ns4 || is.ns6) {
available_width = innerWidth;
available_height = innerHeight;
}
else if(is.ie4 || is.ie5) {
available_width=document.body.clientWidth;
available_height=document.body.clientHeight;
}
if(is.ie4 || is.ie5 || is.ns6 || is.ns4) {
image1_width = (available_width * 1.00);
image1_height = (available_height * 1.00);
var image1 = '<img src="snow.gif" width="' + image1_width + '" height="' + image1_height + '">';
document.write(image1);
}
// End -->
</script>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img55

Воздушные шарики
В специальных комментариях скрипт не нуждается. Поместите коды как указано в таблицах. Особое внимание уделите тэгу <BODY>

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
// Moving Objects Script
// By Virtual_Max
//
// Permission to use, copy, modify, and distribute this software and its documentation
// for NON-COMMERCIAL purposes and without fee is hereby granted provided that this
// notice appears in all copies.
//
// VIRTUAL MAX MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESS OR IMPLIED

var brOK=false;
var mie=false;
var aver=parseInt(navigator.appVersion.substring(0,1));
var aname=navigator.appName;

function checkbrOK()
{if(aname.indexOf("Internet Explorer")!=-1)
{if(aver>=4) brOK=navigator.javaEnabled();
mie=true;
}
if(aname.indexOf("Netscape")!=-1)
{if(aver>=4) brOK=navigator.javaEnabled();}
}

var vmin=2;
var vmax=5;
var vr=2;
var timer1;

function Chip(chipname,width,height)
{this.named=chipname;
this.vx=vmin+vmax*Math.random();
this.vy=vmin+vmax*Math.random();
this.w=width;
this.h=height;
this.xx=0;
this.yy=0;
this.timer1=null;
}

function movechip(chipname)
{
if(brOK)
{eval("chip="+chipname);
if(!mie)
{pageX=window.pageXOffset;
pageW=window.innerWidth-20;
pageY=window.pageYOffset;
pageH=window.innerHeight-20;
}
else
{pageX=window.document.body.scrollLeft;
pageW=window.document.body.offsetWidth-20;
pageY=window.document.body.scrollTop;
pageH=window.document.body.offsetHeight-20;
}

chip.xx=chip.xx+chip.vx;
chip.yy=chip.yy+chip.vy;

chip.vx+=vr*(Math.random()-0.5);
chip.vy+=vr*(Math.random()-0.5);
if(chip.vx>(vmax+vmin)) chip.vx=(vmax+vmin)*2-chip.vx;
if(chip.vx<(-vmax-vmin)) chip.vx=(-vmax-vmin)*2-chip.vx;
if(chip.vy>(vmax+vmin)) chip.vy=(vmax+vmin)*2-chip.vy;
if(chip.vy<(-vmax-vmin)) chip.vy=(-vmax-vmin)*2-chip.vy;

if(chip.xx<=pageX)
{chip.xx=pageX;
chip.vx=vmin+vmax*Math.random();
}
if(chip.xx>=pageX+pageW-chip.w)
{chip.xx=pageX+pageW-chip.w;
chip.vx=-vmin-vmax*Math.random();
}
if(chip.yy<=pageY)
{chip.yy=pageY;
chip.vy=vmin+vmax*Math.random();
}
if(chip.yy>=pageY+pageH-chip.h)
{chip.yy=pageY+pageH-chip.h;
chip.vy=-vmin-vmax*Math.random();
}

if(document.layers)
{eval('document.'+chip.named+'.top ='+chip.yy);
eval('document.'+chip.named+'.left='+chip.xx);
}
else if (document.all)
{eval('document.all.'+chip.named+'.style.pixelLeft= '+chip.xx);
eval('document.all.'+chip.named+'.style.pixelTop ='+chip.yy);
}
else if (document.getElementById)
{document.getElementById(chip.named).style.left= chip.xx;
document.getElementById(chip.named).style.top =chip.yy;
}
chip.timer1= setTimeout("movechip('"+chip.named+"')",100);
}
}

function stopme(chipname)
{if(brOK)
{//alert(chipname)
eval("chip="+chipname);
if(chip.timer1!=null)
{clearTimeout(chip.timer1)}
}
}
</script>
<script>

/*
Floating image script
By Virtual_Max (http://www.geocities.com/siliconvalley/lakes/8620)
Permission granted to Dynamicdrive.com to feature it in it's archive
For 100's of FREE DHTML scripts and components,
Visit http://dynamicdrive.com
*/

var chip1;
var chip2;
var chip3;
//add or delete more variables, depending on how many images you're using

function pagestart()
{checkbrOK();
chip1=new Chip("chip1",60,80);
chip2=new Chip("chip2",60,80);
chip3=new Chip("chip3",60,80);
//add or delete more of the above, depending on how many images you're using
if(brOK)
{ movechip("chip1");
movechip("chip2");
movechip("chip3");
//add or delete more of the above, depending on how many images you're using
}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body bgcolor="#C0C0C0" onLoad="pagestart();" onUnload="if(brOK) {stopme('chip1'); stopme('chip2'); stopme('chip3');}">

<DIV ID="chip1" STYLE="position:absolute; width:47; height:68;">
<A HREF="some.html"><IMG SRC="ballon3.gif" BORDER=0></a>
</DIV>
<DIV ID="chip2" STYLE="position:absolute; width:47; height:68;">
<A HREF="some.html"><IMG SRC="ballon4.gif" BORDER=0></a>
</DIV>
<DIV ID="chip3" STYLE="position:absolute; width:47; height:68;">
<A HREF="some.html"><IMG SRC="ballon2.gif" BORDER=0></a>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: ballons.zip


RC27

Выпадающее меню для pop-up картинок
(в форме)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT language="JavaScript">

/*
Script posted and featured on Website Abstraction
http://wsabstract.com
*/

function display_image(form) {
selectionname = form.imagename.options [form.imagename.selectedIndex].text;
selection = form.imagename.options [form.imagename.selectedIndex].value;
PreView = window.open("", "Preview", "toolbar=0,location=0,directories=0,
 status=0,menubar=0,scrollbars=0,resizable=0, copyhistory=0,width=200,height=255");
PreView.document.open();
PreView.document.write("<HTML><HEAD>");
PreView.document.write ("<TITLE>Preview</TITLE>");
PreView.document.write("</HEAD><BODY BGCOLOR=14BAD8 TEXT=000000>");
PreView.document.write("<FORM> <CENTER><B><FONT SIZE=+1>"
 +
selectionname + "</FONT></B><HR>");
PreView.document.write ("<IMG HSPACE=0 VSPACE=0 " +
"SRC='" + selection + "'>");
PreView.document.write ("<HR><FORM><INPUT TYPE='button'
 VALUE='Закрыть' " +
"onClick='window.close()'></FORM>");
PreView.document.write("</CENTER>");
PreView.document.write ("</BODY></HTML>");
PreView.document.close();
}
</SCRIPT>

<FORM>
<select NAME="imagename" onChange="display_image(this.form)">
<option value="Dowl.gif" SELECTED>Рисунок 1
<option value="bulb__on.gif">Рисунок 2
<option value="7gold.gif">Рисунок 3
</select>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

bulb__on.gif
7gold.gif
Dowl.gif


Img66

Выпуклый нажимаемый рисунок
Просто, вставьте в тэг любого рисунка на странице class="popshadow". То есть, тэг станет выглядеть так: <img src="ваш_рисунок.gif" class="popshadow">

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.popshadow{
position:relative;
left:-5;
top:-5;
filter:shadow(silver,direction=135)
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Pop-up Image Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function updownshadow(){
if (event.srcElement.className=="popshadow"){
tempobject=event.srcElement
if (event.type=="mousedown"){
tempobject.filters[0].enabled=false
tempobject.style.left=tempobject.style.top=0
}
else{
tempobject.filters[0].enabled=true
tempobject.style.left=tempobject.style.top=-5
}
}
}

if (document.all){
document.body.onmousedown=updownshadow
document.body.onmouseup=updownshadow
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img18

Галерея рисунков
Кликните по маленькому рисунку сверху или снизу галереи и он появится увеличенным в центре.

Выделенные белым цветом в таблице названия файлов рисунков замените на свои .Обратите внимание на то, что названия файлов упоминаются в скрипте дважды, а если при загрузке в центре появляется один из рисунков галереи, то название этого файла вы встретите трижды.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jenny Blewitt (webmaster@webdesignsdirect.com) -->
<!-- Web Site: http://www.webdesignsdirect.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table width=360 style="border:solid 1 white" cellspacing=0 cellpadding=0>
<tr>
<td><a href="javascript:doPic('fift1.gif');"><img src="fift1.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift2.gif');"><img src="fift2.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift3.gif');"><img src="fift3.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift4.gif');"><img src="fift4.gif" width=90 height=60 border=0></a></td>
</tr>
<tr>
<td colspan=4 align=center><img name="mainpic" src="fift1.gif" width=360 height=240 border=0></td>
</tr>
<tr>
<td><a href="javascript:doPic('fift5.gif');"><img src="fift5.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift6.gif');"><img src="fift6.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift7.gif');"><img src="fift7.gif" width=90 height=60 border=0></a></td>
<td><a href="javascript:doPic('fift8.gif');"><img src="fift8.gif" width=90 height=60 border=0></a></td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip


Img11

Дрожащий рисунок

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.shakeimage{
position:relative
}
</style>
<script language="JavaScript1.2">

//амплитуда колебания
var rector=2

//не менять
var stopit=0
var a=1

function init(which){
stopit=0
shake=which
shake.style.left=0
shake.style.top=0
}

function rattleimage(){
if ((!document.all&&!document.getElementById)||stopit==1)
return
if (a==1){
shake.style.top=parseInt(shake.style.top)+rector
}
else if (a==2){
shake.style.left=parseInt(shake.style.left)+rector
}
else if (a==3){
shake.style.top=parseInt(shake.style.top)-rector
}
else{
shake.style.left=parseInt(shake.style.left)-rector
}
if (a<4)
a++
else
a=1
setTimeout("rattleimage()",50)
}

function stoprattle(which){
stopit=1
which.style.left=0
which.style.top=0
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<img border="0" src="Dowl.gif" width="60" height="56" class="shakeimage"
onMouseover="init(this);rattleimage()" onMouseout="stoprattle(this)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

Dowl.gif


Img24

Задержка анимации для рисунков GIF
Нередко, для демонстрации, к примеру презентации, требуется одновременное начало исполнения сценария всеми элементами. В случае, если в сценарии учавствует анимированный GIF с одним циклом, во время загрузки страницы с презентацией может случится, что некоторые элементы окажутся еще незагруженными в то время как GIF свой цикл уже отработает. Предлагаемый скрипт не позволяет "запускаться" GIF-у (правильнее сказать, появляться) до полной загрузки страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->
<!-- Begin
var preload = new Image();
// Change this to the web address of your animated GIF image
preload.src = "keyboard.gif";
      //  Замените на свой
      рисунок

function doGIF() {
document['button'].src = preload.src;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="doGIF()">

<img name="button" src="blank.gif" width=130
 height=79> <!--Любой прозрачный
 GIF-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Для работы скрипта Вам потребуется любой прозрачный GIF с названием файла blank.gif и, разумеется, Ваш собственный GIF, ради которого все это и затевалось...


Img50

Изменение рисунка фона кнопки при наведении мыши
Это может быть вовсе не кнопка! Любой элемент, в котором предусмотрен рисунок фона!

Только IE4.5+

В качестве фоновых использованы рисунки национальных флагов этих стран. Рисунок можно определить единым для всех кнопок (вовсе не обязательно флаг!). Для этого выделенную белым строку поместите в тэг <form сюда >, а из остальных тэгов подобные строки просто удалите.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

/*
rollover image buttons script credit: Website Abstraction (www.wsabstract.com) More free JavaScripts here. Note:Credit must stay intact for use.
*/

function change2(image){
if (event.srcElement.tagName=="INPUT")
event.srcElement.style.background="url"+"('"+image+"')"
}

function jumpto2(url){
window.location=url
}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form >
<input type="button" onMouseover="change2('spain.gif')" onMouseout="change2('')" value="В Испанию !" style="font-weight:bold;width:130" onClick="jumpto2('cut1.htm')"><br>
<input type="button" onMouseover="change2('germany.gif')" onMouseout="change2('')" value="В Германию !" style="font-weight:bold;width:130" onClick="jumpto2('cut2.htm')"><br>
<input type="button" onMouseover="change2('luxembourg.gif')" onMouseout="change2('')" value="В Люксембург! " style="font-weight:bold;width:130" onClick="jumpto2('cut3.htm')"><br>

</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 14

Запрет на копирование рисунков

Правый клик мышью по рисункам приводит лишь к появлению pop-up с сообщением о запрете на копирование...или что Вы сами пожелаете сообщить! При этом правый клик вне рисунков не запрещен.
Попробуйте.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function protect(e) {
alert("Извините, у Вас нет права на
      копирование.");
return false;
}
function figushki() {
if(document.images)
for(i=0;i<document.images.length;i++)
document.images[i].onmousedown = protect;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY OnLoad="figushki()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC45

Запрет на копирование рисунков 2
 (на тот случай если не работает "Запрет на копирование рисунков 1"

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT language=JavaScript1.2>

/*
Disable right click script II (on images)- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

var clickmessage="Извините, у Вас нет права на
 копирование рисунков!"

function disableclick(e) {
if (document.all) {
if (event.button==2||event.button==3) {
if (event.srcElement.tagName=="IMG"){
alert(clickmessage);
return false;
}
}
}
else if (document.layers) {
if (e.which == 3) {
alert(clickmessage);
return false;
}
}
else if (document.getElementById){
if (e.which==3&&e.target.tagName=="IMG"){
alert(clickmessage)
return false
}
}
}

function associateimages(){
for(i=0;i<document.images.length;i++)
document.images[i].onmousedown=disableclick;
}

if (document.all||document.getElementById)
document.onmousedown=disableclick
else if (document.layers)
associateimages()
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img15

Занавес для рисунка
(читайте комментарии в таблице)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <a name="logoAnchor"> </a>
<div id="logo" style="position:absolute;visibility:visible; z-index:1; width:288; height:271">
<img name="logoIm" src="Dowl.gif" width=288
 height=271> <!---Рисунок и путь к нему-->
</div>

<SCRIPT LANGUAGE="JavaScript1.2">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original:  Bob Simpson (webmaster@maryjanebrown.net) -->
<!-- Web Site:  http://www.maryjanebrown.net/webmaster -->

<!-- Begin
function BrowserCheck() {
var b = navigator.appName;
if (b == "Netscape") this.b = "NS";
else if (b == "Microsoft Internet Explorer") this.b = "IE";
else this.b = b;
this.v = parseInt(navigator.appVersion);
this.NS = (this.b == "NS" && this.v >= 4);
this.NS4 = (this.b == "NS" && this.v == 4);
this.NS5 = (this.b == "NS" && this.v == 5);
this.IE = (this.b == "IE" && this.v >= 4);
this.IE4 = (navigator.userAgent.indexOf('MSIE 4') > 0);
this.IE5 = (navigator.userAgent.indexOf('MSIE 5') > 0);
if (this.IE5 || this.NS5) this.VER5 = true;
if (this.IE4 || this.NS4) this.VER4 = true;
this.oldVer = (! this.VER5 && ! this.VER4) ? true : false;
this.min = (this.NS || this.IE);
}
is = new BrowserCheck()
var myLogo = (is.NS4) ? document.layers["logo"] : document.all["logo"].style;
var logoWidth = (is.NS4) ? document.logo.document.logoIm.width : document.logoIm.width;
var logoHeight = (is.NS4) ? document.logo.document.logoIm.height : document.logoIm.height;
var halfHeight = logoHeight / 2;
var windowWidth = (is.NS4) ? window.innerWidth - 16 : document.body.offsetWidth - 20;
var halfWidth = logoWidth / 2;
var cliplogoHeightor = (is.NS4) ?
'myLogo.clip.top = 0;' +
'myLogo.clip.right = right;' +
'myLogo.clip.bottom = logoHeight;' +
'myLogo.clip.left = left; '
:
'str="rect(0 " + right + " " + logoHeight + " " + left + ")";' +
'myLogo.clip = str; '
var clipLogoVert = (is.NS4) ?
'myLogo.clip.top = up;' +
'myLogo.clip.right = logoWidth;' +
'myLogo.clip.bottom = dn;' +
'myLogo.clip.left = 0; '
:
'str="rect(" + up + " " + logoWidth + " " + dn + " 0)";' +
'myLogo.clip = str;'
var right = logoWidth, left = 0;
var cnt = 0, up = halfHeight, dn = halfHeight, upDown;
var logoWidth, logoHeight;
// ----- ---- ------   Пользовательские установки  --- ----------- --------

//if useAnchorPosition is true logo will be positioned where you put the "logoAnchor"
//set to false to center logo - also set myLogo.top to desired position

var useAnchorPosition = true; 		// установите false, если НЕ собираетесь определять положение рисунока по-своему
if (! useAnchorPosition) {
myLogo.left = ((windowWidth / 2) - (logoWidth / 2)); 	// установка по-центру окна (удалите эту строку, если будете использовать следующую)
//myLogo.left = 30; 	// удалите '//' чтобы установить расстояние от левого края окна
myLogo.top = 100; 	// Расстояние от верха страници до рисунка
}
var scrollInc = 5;	// sets # of pixels to scroll in 1 time frame
var scrollSpeed = 10;	// скорость закрытия-открытия
// ---------- ------------- ------------- ------------- ---------- -------
function scrollLogo() {
if (cnt == 0) {
up-- ; dn++;
if (up < -10) {
right = logoWidth;
left = 0;
upDown = -scrollInc;
cnt++;
}
eval(clipLogoVert);
}
if (cnt == 1) {
right +=  upDown;
left -= upDown;
if (right < halfWidth-40) {
right = halfWidth;
left = halfWidth;
upDown = scrollInc;
cnt++;
}
eval(cliplogoHeightor);
}
if (cnt == 2) {
right +=  upDown;
left -= upDown;
if (right > logoWidth+20) {
right = logoWidth;
left = 0;
up = 0;
dn = logoHeight;
cnt++;
}
eval(cliplogoHeightor);
}
if (cnt == 3) {
up++;
dn--;
if (dn < halfHeight - 10) {
up = halfHeight;
dn = halfHeight;
right = logoWidth;
left = 0;
upDown = scrollInc;
cnt = 0;
}
eval(clipLogoVert)
}
setTimeout("scrollLogo()", scrollSpeed);
}
if (! is.oldVer)window.onload = init;
function init() {
positionLogo();
scrollLogo();
}
var L, T;
var pos = (is.NS4) ? pos = document.anchors['logoAnchor'] : document.all['logoAnchor'];
var posStr = (is.NS4) ?  'L = pos.x ; T = pos.y' : 'L = pos.offsetLeft; T = pos.offsetTop';
function positionLogo() {
if (! useAnchorPosition) return;
eval(posStr);
myLogo.top = T;
myLogo.left = L;
}
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, ипользованный в примере.


Img69

Играющий рисунок
ТОЛЬКО IE 5.5+

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript1.2">
<!--

/*
Bouncing Image script II (By Dheera Venkatraman dheera@usa.net)
Submitted to and modified by Dynamic Drive for code enhancements
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//1) specify path to image
var imagepath="cute.gif"

//2) specify image dimensions
var imagewidth=90
var imageheight=30

//3) change this to adjust speed (lower is slower)
var speed=8;

//4) configure what should happen when user clicks on image
//A value of "dismiss" will dismiss it, while a URL will cause the browser to navigate to it
var imageclick="dismiss"

//5) Finally, configure when the image should automatically disappear, in seconds (0=perpetual)
var hideafter=0

////No editing required beyond this point/////////////////

var isie=0;
if(window.navigator.appName== "Microsoft Internet Explorer"&&window.navigator.appVersion.
 substring(window.navigator. appVersion.indexOf("MSIE")+5,
 window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}

if(isie){
var preloadit=new Image()
preloadit.src=imagepath
}

function pop() {
if(isie) {
x=x+dx;y=y+dy;
oPopup.show(x, y, imagewidth, imageheight);
if(x+imagewidth+5>screen.width) dx=-dx;
if(y+imageheight+5>screen.height) dy=-dy;
if(x<0) dx=-dx;
if(y<0) dy=-dy;
startani=setTimeout("pop();",50);
}
}

function dismisspopup(){
clearTimeout(startani)
oPopup.hide()
}

function dowhat(){
if (imageclick=="dismiss")
dismisspopup()
else
window.location=imageclick
}

if(isie) {
var x=0,y=0,dx=speed,dy=speed;
var oPopup = window.createPopup();
var oPopupBody = oPopup.document.body;
oPopupBody.style.cursor="hand"
oPopupBody.innerHTML = '<IMG SRC="'+preloadit.src+'">';
oPopup.document.body.onmouseover=new Function("clearTimeout(startani)")
oPopup.document.body.onmouseout=pop
oPopup.document.body.onclick=dowhat
pop();

if (hideafter>0)
setTimeout("dismisspopup()",hideafter*1000)
}

// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC25

Выбор рисунков из выпадающего меню
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
<!--

/*Combo Box Image Selector:
By Website Abstraction (www.wsabstract.com)
*/

function showimage()
{
if (!document.images)
return
document.images.pictures.src=
document.mygallery.picture. options[document.mygallery.picture. selectedIndex].value
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"><form name="mygallery"><p><select
name="picture" size="1" onChange="showimage()">
<option selected value="Dowl.gif">Картинка 1</option>
<option value="bulb__on.gif">Картинка 2</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">Картинка 3</option>
<option value="7gold.gif">и т.д.</option>
</select></p>
</form>
</td>
</tr>
<tr>
<td width="100%"><p align="center"><img src="Dowl.gif" name="pictures" width="99"
height="100"></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделены рисунки, которые Вы можете заменить на свои. Тем ни менее, ниже приведены рисунки, использованные в этом примере.

Dowl.gif
bulb__on.gif
 7gold.gif


Game23

Инопланетяне vs мышь
(задержка перед "вторжением" определяется выделенным в таблице числом миллисекунд; сейчас установлены 10 секунд)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript">
<!-- Original:  Juan Ignacio Garcia (jigarcia@topmail.com.ar) -->
<!-- Web Site:  http://ignac.homepage.com -->

var starttime = 10000;  //
 время задержки перед "Вторжением"
var ufocontrol = true; //
 Включено/выключено по умолчанию - true или false
var nImpactos = 3;
var nOvnis = 3;
var Xpos = 0;
var Ypos = 0;
var STOPACCEL = 10;
var TAMOVNI = 20;
var REBOTE = 0.65;
var isNetscape = navigator.appName == "Netscape";
var impactoActual = 0;
var ovnis = new Array();
var disparos = new Array();
var impactos = new Array();
var impactos2 = new Array();
var activos = true;
var fondoMovil = false;
var backgroundOffset = 0;
init();
function changeUFOs(element) {
activos = element.checked;
}
function init() {
var text;
var i = 0;
text  = "<div id=imp20 style='POSITION: absolute;'>";
text += "<img src='impact2.gif' WIDTH=11 height=14 align=bottom></div>";
for (i = 0; i < nImpactos; i++) {
text += "<div id=imp1" + i + " style='POSITION: absolute;'>";
text += "<img src='impact1.gif' WIDTH=23 height=31 align=bottom></div>";
}
for (i = 0; i < nOvnis; i++) {
text += "<div id=dis" + i + " style='POSITION: absolute;'>";
text += "<img src='bullet.gif' WIDTH=5 height=5 align=bottom></div>";
}
for (i = 0; i < nOvnis; i++) {
text += "<div id=ovn" + i + " style='POSITION: absolute;'>";
text += "<img src='alien.gif' WIDTH=29 height=24 align=bottom></div>";
}
text += "\n";
document.write(text);
for (i = 0; i < 1; i++) {
impactos2[i] = new impacto2(i);
impactos2[i].obj.left = -25;
impactos2[i].obj.top = -25;
}
for (i = 0; i < nImpactos; i++) {
impactos[i] = new impacto1(i);
impactos[i].obj.left = -50;
impactos[i].obj.top = -50;
}
for (i = 0; i < nOvnis; i++) {
disparos[i] = new disparo(i);
disparos[i].obj.left = -5;
disparos[i].obj.top = -5;
}
for (i = 0; i < nOvnis; i++) {
ovnis[i] = new ovni(i);
ovnis[i].obj.left = -29;
ovnis[i].obj.top = -24;
}
if (ufocontrol) {
document.write('<form>');
document.write('<input type=checkbox onClick="changeUFOs(this)" CHECKED>');
document.write('Вторжение НЛО: Вкл./Выкл.');
document.write('</form>');
}
if (isNetscape) {
startanimate();
}
else {
setTimeout("startanimate()", starttime);
}
}
function impacto1(i) {
this.X = -20;
this.Y = -20;
if (isNetscape) {
this.obj = eval("document.imp1" + i);
}
else {
this.obj = eval("imp1" + i + ".style");
}
}
function impacto2(i) {
if (isNetscape) {
this.obj = eval("document.imp2" + i);
}
else {
this.obj = eval("imp2" + i + ".style");
}
}
function disparo(i) {
this.X = -5;
this.Y = -5;
this.dx = 0;
this.dy = 0;
this.estado = 0;
if (isNetscape) {
this.obj = eval("document.dis" + i);
}
else {
this.obj = eval("dis" + i + ".style");
}
}
function ovni(i) {
this.X = -30;
this.Y = -30;
this.dx = 0;
this.dy = 0;
if (isNetscape) {
this.obj = eval("document.ovn" + i);
}
else {
this.obj = eval("ovn" + i + ".style");
}
}
function startanimate() {
setInterval("animate()", 32);
}
function MoveHandlerN(e) {
Xpos = e.pageX;
Ypos = e.pageY;
return true;
}
function MoveHandlerIE() {
Xpos = window.event.x + document.body.scrollLeft;
Ypos = window.event.y + document.body.scrollTop;
}
if (isNetscape) {
document.captureEvents(Event.MOUSEMOVE);
document.onMouseMove = MoveHandlerN;
}
else {
document.onmousemove = MoveHandlerIE;
}
function animate() {
var deltaX, deltaY, height, width;
if (activos) {
for (i = 0;i < nOvnis;i++) {
if (Xpos > ovnis[i].X) ovnis[i].dx += (i+1)/5;
else ovnis[i].dx -= (i+1)/5;
if (ovnis[i].dx > STOPACCEL) ovnis[i].dx = STOPACCEL;
if (-ovnis[i].dx > STOPACCEL) ovnis[i].dx = -STOPACCEL;
if (Ypos > ovnis[i].Y) ovnis[i].dy += (i+1)/5;
else ovnis[i].dy -= (i+1)/5;
if (ovnis[i].dy > STOPACCEL) ovnis[i].dy = STOPACCEL;
if (-ovnis[i].dy > STOPACCEL) ovnis[i].dy = -STOPACCEL;
ovnis[i].X += ovnis[i].dx;
ovnis[i].Y += ovnis[i].dy;
deltaX = Xpos - ovnis[i].X - 10;
deltaY = Ypos - ovnis[i].Y - 10;
if ((disparos[i].estado == 0) && ((Math.abs(deltaX) + (Math.abs(deltaY))) < 100)) {
disparos[i].dx = deltaX/10;
disparos[i].dy = deltaY/10;
disparos[i].estado++;
}
if ((disparos[i].estado > 0) && (disparos[i].estado < 12)) {
disparos[i].X += disparos[i].dx;
disparos[i].Y += disparos[i].dy;
disparos[i].estado++;
}
else {
if (disparos[i].estado != 0) {
impactoActual++;
if (impactoActual >= nImpactos) {
impactoActual = 1;
}
impactos2[0].obj.left = impactos[impactoActual].X + 5;
impactos2[0].obj.top = impactos[impactoActual].Y + 13;
impactos[impactoActual].X = disparos[i].X - 10;
impactos[impactoActual].Y = disparos[i].Y - 14;
impactos[impactoActual].obj.left = impactos[impactoActual].X;
impactos[impactoActual].obj.top = impactos[impactoActual].Y;
}
disparos[i].X = ovnis[i].X+10;
disparos[i].Y = ovnis[i].Y+10;
disparos[i].estado = 0;
}
if (isNetscape) {
height = window.innerHeight + document.scrollTop;
width = window.innerWidth + document.scrollLeft;
}
else {
height = document.body.clientHeight + document.body.scrollTop;
width = document.body.clientWidth + document.body.scrollLeft;
}
if (ovnis[i].Y >=  height - TAMOVNI - 1) {
if (ovnis[i].dy > 0) {
ovnis[i].dy = REBOTE * -ovnis[i].dy;
}
ovnis[i].Y = height - TAMOVNI - 1;
}
if (ovnis[i].X >= width - TAMOVNI) {
if (ovnis[i].dx > 0) {
ovnis[i].dx = REBOTE * -ovnis[i].dx;
}
ovnis[i].X = width - TAMOVNI - 1;
}
if (ovnis[i].X < 0) {
if (ovnis[i].dx < 0) {
ovnis[i].dx = REBOTE * -ovnis[i].dx;
}
ovnis[i].X = 0;
}
if (ovnis[i].Y < 0) {
if (ovnis[i].dy < 0) {
ovnis[i].dy = REBOTE * -ovnis[i].dy;
}
ovnis[i].Y = 0;
}
ovnis[i].obj.left = ovnis[i].X;
ovnis[i].obj.top =  ovnis[i].Y;
disparos[i].obj.left = disparos[i].X;
disparos[i].obj.top =  disparos[i].Y;
}
}
else {
if (impactoActual != nImpactos+1)
{  //while the UFO's are off
for (i = 0;i < nOvnis;i++) {
ovnis[i].obj.left = -50;
ovnis[i].obj.top =  -50;
disparos[i].obj.left = -10;
disparos[i].obj.top =  -10;
}
for (i = 1;i < nImpactos;i++) {
impactos[i].obj.left = -20;
impactos[i].obj.top =  -20;
}
impactos2[0].obj.left = -20;
impactos2[0].obj.top =  -20;
impactoActual = nImpactos+1;
}
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: inven.zip


Img64

Слайдшоу "Конвейер" рисунков-баннеров
При наведении мыши прокрутка останавливается. Остальные настройки см. в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script language="JavaScript1.2">
<!--

/*
Conveyor belt slideshow script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/

var sliderwidth=330 // РАЗМЕРЫ БОКСА
var sliderheight=145
var slidespeed=4 // СКОРОСТЬ ПРОКРУТКИ

//Specify the slider's images
var leftrightslide=new Array()
var finalslide=''
leftrightslide[0]='<a href="#top"><img src="cute.gif" border=1></a>'
leftrightslide[1]='<a href="#top"><img src="ballon2.gif" border=1></a>'
leftrightslide[2]='<a href="#top"><img src="ballon3.gif" border=1></a>'
leftrightslide[3]='<a href="#top"><img src="ballon4.gif" border=1></a>'
leftrightslide[4]='<a href="#top"><img src="butterfly.gif" border=1></a>'

///////do NOT edit pass this line////////////////////////////////////

var copyspeed=slidespeed
//copy contents of leftrightslide into one variable
for (i=0;i<leftrightslide.length;i++)
finalslide=finalslide+leftrightslide[i]+"&nbsp;&nbsp;"

if (document.all){
//dynamically write out the marquee tag
document.write('<marquee id="ieslider" scrollAmount=0 style="width:'+sliderwidth+'">'+finalslide+'</marquee>')
//stop marquee when mouse is over it
ieslider.onmouseover=new Function("ieslider.scrollAmount=0")
//re-enable marquee when mouse is out
ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=slidespeed")
}

function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
document.ns_slider01.visibility="show"
setTimeout("window.onresize=regenerate",450)
intializeleftrightslide()
}
if (document.all)
ieslider.scrollAmount=slidespeed
}

//NS specific function for initializing slider upon page load
function intializeleftrightslide(){
document.ns_slider01.document.ns_slider02. document.write('<nobr>'+finalslide+'</nobr>')
document. ns_slider01.document.ns_slider02.document.close()
thelength=document.ns_slider01. document.ns_slider02.document.width
scrollslide()
}

//NS specific function for sliding slideshow
function scrollslide(){
if (document.ns_slider01. document.ns_slider02.left>=thelength*(-1)){
document.ns_slider01. document.ns_slider02.left-=slidespeed
setTimeout("scrollslide()",100)
}
else{
document.ns_slider01. document.ns_slider02.left=sliderwidth
scrollslide()
}
}
window.onload=regenerate2

//-->
</script>

<ilayer width=&{sliderwidth}; height=&{sliderheight}; name="ns_slider01" visibility=hide>
<layer name="ns_slider02" onMouseover="slidespeed=0;" onMouseout="slidespeed=copyspeed"></layer>
</ilayer>
</center>


Img5

Корабль пришельцев

Попробуйте поменяйть цвет фона или рисунок фона

 Наведите мышь
на рисунок!

Наведите мышь
на рисуноk!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site: http://www.bgaudiodr.iwarp.com -->

<!-- Begin
var isNS = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4));
var _all = '';
var _style = '';
var wwidth, wheight;
var ydir = '++';
var xdir = '++';
var id1, id2, id3;
var x = 1;
var y = 1;
var x1, y1;
if(!isNS) {
_all='all.';
_style='.style';
}
function getwindowsize() {
clearTimeout(id1);
clearTimeout(id2);
clearTimeout(id3);
if (isNS) {
wwidth = window.innerWidth - 55;
wheight = window.innerHeight - 50;
} else {
wwidth = document.body.clientWidth - 55;
wheight = document.body.clientHeight - 50;
}
id3 = setTimeout('randomdir()', 20000);
animate();
}
function randomdir() {
if (Math.floor(Math.random()*2)) {
(Math.floor(Math.random()*2)) ? xdir='--': xdir='++';
} else {
(Math.floor(Math.random()*2)) ? ydir='--': ydir='++';
}
id2 = setTimeout('randomdir()', 20000);
}
function animate() {
eval('x'+xdir);
eval('y'+ydir);
if (isNS) {
pic1.moveTo((x+pageXOffset), (y+pageYOffset))
} else {
pic1.pixelLeft = x+document.body.scrollLeft;
pic1.pixelTop = y+document.body.scrollTop;
}
if (isNS) {
if (pic1.top <= 5+pageYOffset) ydir = '++';
if (pic1.top >= wheight+pageYOffset) ydir = '--';
if (pic1.left >= wwidth+pageXOffset) xdir = '--';
if (pic1.left <= 5+pageXOffset) xdir = '++';
} else {
if (pic1.pixelTop <= 5+document.body.scrollTop) ydir = '++';
if (pic1.pixelTop >= wheight+document.body.scrollTop) ydir = '--';
if (pic1.pixelLeft >= wwidth+document.body.scrollLeft) xdir = '--';
if (pic1.pixelLeft <= 5+document.body.scrollLeft) xdir = '++';
}
id1 = setTimeout('animate()', 30);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>
<body OnLoad="getwindowsize()" OnResize="getwindowsize()">

<div id="pic1" style="position:absolute; visibility:visible; left:0px; top:0px; z-index:1">
<img src="alien.gif" border="0">
</div>

<script language="javascript">
var pic1=eval('document.'+_all+'pic1'+_style);
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в этом примере: alien.zip alien.gif


Img51

Крутилка...
Сами придумайте для чего можно использовать этот скрипт

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="javascript">

//========================== ==================================
// >> jsImagePlayer 1.0 <<
// for Netscape3.0+, September 1996
//=========================== =================================
// by (c)BASTaRT 1996
// Praha, Czech Republic, Europe
//
// feel free to copy, use and modify - no credits needed;
// although a note would be nice...
// contact: xholecko@sgi.felk.cvut.cz

image_name = "dg"; //the base "path/name" of the image set without the numbers
image_type = "gif"; //"gif" or "jpg" or whatever your browser can display

first_image = 0; //first image number
last_image = 9; //last image number

animation_height = 150; //height of the images in the animation
animation_width = 200; //width of the images in the animation
theImages = new Array();
normal_delay = 30;
delay = normal_delay; //delay between frames in 1/100 seconds
delay_step = 10;
delay_max = 4000;
delay_min = 10;
current_image = first_image; //number of the current image
timeID = null;
status = 0; // 0-stopped, 1-playing
play_mode = 0; // 0-normal, 1-loop, 2-swing
size_valid = 0;

if (first_image > last_image)
{
var help = last_image;
last_image = first_image;
first_image = help;
};

for (var i = first_image; i <= last_image; i++)
{
theImages[i] = new Image();
//theImages[i].onerror = my_alert("\nError loading ",image_name,i,image_type,"!");
//theImages[i].onabort = my_alert("\nLoading of ",image_name,i,image_type," aborted!");
theImages[i].src = image_name + i + "." + image_type;
};

function animate_fwd()
{
current_image++;
if(current_image > last_image)
{
if (play_mode == 0)
{
current_image = last_image;
status=0;
return;
}; //NORMAL
if (play_mode == 1)
{
current_image = first_image; //LOOP
};
if (play_mode == 2)
{
current_image = last_image;
animate_rev();
return;
};
};
document.control_form.b.value="СТОП";
document.animation.src = theImages[current_image].src;
document.control_form.frame_nr.value = current_image;
timeID = setTimeout("animate_fwd()", delay);
if(current_image == last_image && play_mode == 0){
document.control_form.b.value="<-старт->";
}
}

function animate_rev()
{
current_image--;
if(current_image < first_image)
{
if (play_mode == 0)
{
current_image = first_image;
status=0;
return;
}; //NORMAL
if (play_mode == 1)
{
current_image = last_image; //LOOP
};
if (play_mode == 2)
{
current_image = first_image;
animate_fwd();
return;
};
};
document.control_form.b.value="СТОП";
document.animation.src = theImages[current_image].src;
document.control_form.frame_nr.value = current_image;
timeID = setTimeout("animate_rev()", delay);
if(current_image == first_image && play_mode == 0){
document.control_form.b.value="<-старт->";
}
}

function change_speed(dv)
{
delay+=dv;
if(delay > delay_max) delay = delay_max;
if(delay < delay_min) delay = delay_min;
}

function stop()
{
if (status == 1) clearTimeout (timeID);
status = 0;
document.control_form.b.value="<-старт->";
}
function fwd()
{
stop();
status = 1;
animate_fwd();

}

function go2image(number)
{
stop();
if (number > last_image) number = last_image;
if (number < first_image) number = first_image;
current_image = number;
document.animation.src = theImages[current_image].src;
document.control_form.frame_nr.value = current_image;

}

function rev()
{
stop();
status = 1;
animate_rev();
document.control_form.b.value="<-старт->";
}

function change_mode(mode)
{
play_mode = mode;
}

function launch()
{
stop();
current_image = first_image;
document.animation.src = theImages[current_image].src;
document.control_form.frame_nr.value = current_image;
document.control_form.start_but.value = "Первая";
document.control_form.end_but.value = "Последняя";
change_mode (document.control_form.play_mode_selection. selectedIndex);
document.control_form.b.value="<-старт->";
}

//===> writes the interface into the code where you want it
function animation()
{
document.write(" <P><IMG NAME=\"animation\" SRC=\"dg0.gif\" HEIGHT=",animation_height, " WIDTH=", animation_width, "\" ALT=\"[jsMoviePlayer]\">");
document.write(" <FORM Method=POST Name=\"control_form\"> ");
document.write(" <INPUT TYPE=\"button\" style=\"width:80\" Name=\"start_but\" Value=\"\" onClick=\"go2image(first_image)\"> ");
document.write(" <INPUT TYPE=\"button\" style=\"width:25\" Value=\" -1 \" onClick=\"go2image(--current_image)\"> ");
document.write(" <INPUT TYPE=\"button\" Value=\" < \" onClick=\"rev()\"> ");
document.write(" <INPUT TYPE=\"button\" name=b style=\"width:70\" Value=\" \" onClick=\"stop()\"> ");
document.write(" <INPUT TYPE=\"button\" Value=\" > \" onClick=\"fwd()\"> ");
document.write(" <INPUT TYPE=\"button\" style=\"width:25\" Value=\" +1 \" onClick=\"go2image(++current_image)\"> ");
document.write(" <INPUT TYPE=\"button\" style=\"width:80\" Name=\"end_but\" Value=\"\" onClick=\"go2image(last_image)\"> ");
document.write(" <BR> ");
document.write(" <SELECT NAME=\"play_mode_selection\" onChange=\"change_mode(this.selectedIndex)\"> ");
document.write(" <OPTION SELECTED VALUE=0>крутить один раз ");
document.write(" <OPTION VALUE=1>повторять ");
document.write(" <OPTION VALUE=2>(от 1 до 9)<-->(от 9 до 1)");
document.write(" </SELECT> ");
document.write(" <INPUT TYPE=\"text\" NAME=\"frame_nr\" VALUE=\"0\" SIZE=\"5\" ");
document.write(" onFocus=\"this.select()\" onChange=\"go2image(this.value)\"> ");
document.write(" &nbsp;<INPUT TYPE=\"button\" style=\"width:21\" Value=\"-\" onClick=\"change_speed(delay_step)\"> скорость");
document.write(" <INPUT TYPE=\"button\" style=\"width:21\" Value=\"+\" onClick=\"change_speed(-delay_step)\"> ");
document.write(" </FORM> ");
document.write(" </P> ");
};
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="launch()">

<SCRIPT language="javascript">
<!--
animation();
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: dg.zip


Img57

Купидоны
Не волнуйтесь, через 10 секунд с КУПИДОНАМИ будет "покончено". Важно! Место появления рисунков фиксированное. То есть, при настройке появления купидонов у края экрана их не будет видно если окно браузера раскрыто не полностью. Можно использовать скрипт из раздела "Окно браузера", автоматически расширяющий окно во весь экран, независимо от настроек браузера посетителя, а можно поместить купидонов где-нибудь по-середине экрана. Координаты выделены голубым.

Содержимое этой таблицы поместите прямо перед</BODY>

 <script language="JavaScript1.2">
<!--

/*
Flying Cupids- By Dynamic Drive, based on script by Kurt (kurt.grigg@virgin.net)
For full source, usage terms, and 100's more DHTML scripts
Visit http://www.dynamicdrive.com
*/

Cupid=new Image();
Cupid.src="cute.gif";  //specify path to Cupid image
amount=3; //КОЛИЧЕСТВО
 КУПИДОНОВ (МИНИМУМ ТРИ - вот так то!!!)
Xpos=350; // ПО
 ГОРИЗОНТАЛИ
Ypos=200; // ПО
 ВЕРТИКАЛИ
step=0.3;
dismissafter=10; // "ВРЕМЯ
 КУПИДОНОВ"

var ns6=document.getElementById&&!document.all
bats=new Array(3)
if (document.layers){
for (i=0; i < amount; i++)
{document.write("<LAYER NAME=n"+i+" LEFT=0 TOP=-50><a href='http://www.dynamicdrive.com'><IMG SRC='"+Cupid.src+"' NAME='nsi' width=69 height=60 border=0></a></LAYER>")}
}
else if (document.all||ns6){
document.write('<div id="out" style="position:absolute;top:0;left:0"><div id="in" style="position:relative">');
for (i=0; i < amount; i++){
if (document.all)
document.write('<a href="http://www.dynamicdrive.com"><img src="'+Cupid.src+'" id="msieBats" style="position:absolute;top:-50;left:0" border=0></a>')
else
document.write('<a href="http://www.dynamicdrive.com"><img src="'+Cupid.src+'" id="ns6Bats'+i+'" width=69 height=60 style="position:absolute;top:-50;left:0" border=0></a>')
}
document.write('</div></div>');
}

yBase=xBase=currStep=a_count=0;
b_count=1;
c_count=2;
d_count=3;
move=1;
if (document.layers||ns6){
yBase=window.innerHeight/3;
xBase=window.innerWidth/6;
if (document.layers)
window.captureEvents(Event.MOUSEMOVE);

}
if (document.all){
yBase = window.document.body.offsetHeight/3;
xBase = window.document.body.offsetWidth/6;
}

function dismisscupid(){
clearInterval(flycupid)
if (document.layers){
for (i2=0; i2 < amount; i2++){
document.layers['n'+i2].visibility="hide"
}
}
else if (document.all)
document.all.out.style.visibility="hidden"
else if (ns6)
document.getElementById("out").style.visibility="hidden"
}

if (document.layers){
for (i=0; i < amount; i++)
document.layers['n'+i].document.images['nsi'].src=Cupid.src
}
else if (document.all){
for (i=0; i < amount; i++)
document.all.msieBats[i].src=Cupid.src
}
else if (ns6){
for (i=0; i < amount; i++)
document.getElementById("ns6Bats"+i).src=Cupid.src
}

function Animate(){
a_count+=move;
b_count+=move;
c_count+=move;
currStep+=step;
if (a_count >= bats.length) a_count=0;
if (b_count >= bats.length) b_count=0;
if (c_count >= bats.length) c_count=0;
if (document.layers){
for (i=0; i < amount; i++) {
var NewL="n"+i
document.layers[NewL].top = Ypos+yBase*Math.sin(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/10)
document.layers[NewL].left =Xpos+xBase*Math.cos(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/62)
}
}

if (document.all){
for (i=0; i < amount; i++){
document.all.msieBats[i].style.pixelTop = Ypos+yBase*Math.sin(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/10)
document.all.msieBats[i].style.pixelLeft =Xpos+xBase*Math.cos(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/62)
}
}

if (ns6){
for (i=0; i < amount; i++){
document.getElementById("ns6Bats"+i).style.top = Ypos+yBase*Math.sin(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/10)
document.getElementById("ns6Bats"+i).style.left =Xpos+xBase*Math.cos(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/62)
}
}

}
flycupid=setInterval('Animate()',30);
setTimeout("dismisscupid()",dismissafter*1000)
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: cute.zip


Img14

Летающий copyright
 Совершенно свободно Вы можете заменить рисунок обычным текстом или линком! Модифицируйте выделенную белым цветом часть кода (удалите и напишите свой текст)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="start()">

<div id="point1" STYLE="position:absolute;visibility:visible;">
<img src="copyright.gif" width=152 height=23 border=0>
</div>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Bruce W.Anderson (appletlib@about.com) -->
<!-- Web Site: http://appletlib.tripod.com/dhtml/elevator.html -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var xPos = 20;
var step = 1;
var delay = 30;
var yPos = 0;
var height = 0;
var offset = 0;
var yon = 0;
var name = navigator.appName;
if (name == "Microsoft Internet Explorer") {
yPos = document.body.clientHeight;
point1.style.top = yPos;
}
else {
yPos = window.innerHeight;
document.point1.pageY = yPos;
document.point1.visibility = "hidden";
}
function changePos() {
if (yon == 0) {
yPos = yPos - step;
}
else {
yPos = yPos + step;
}
if (name == "Microsoft Internet Explorer") {
height = document.body.clientHeight;
offset = point1.offsetHeight;
}
else {
height = window.innerHeight;
offset = document.point1.clip.height;
}
if (yPos < 0) {
yon = 1;
yPos = 0;
}
if (yPos >= (height - offset)) {
yon = 0;
yPos = (height - offset);
}
if (name == "Microsoft Internet Explorer") {
point1.style.left = xPos;
point1.style.top = yPos + document.body.scrollTop;
}
else {
document.point1.pageX = xPos;
document.point1.pageY = yPos + window.pageYOffset;
}
}
function start()
{
if (name != "Microsoft Internet Explorer") {
document.point1.visibility = "visible";
}
loopfunc();
}
function loopfunc()
{
changePos();
setTimeout('loopfunc()',delay);
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img12

Летающий двойной copyright
 Совершенно свободно Вы можете заменить рисунок обычным текстом! Модифицируйте выделенную белым цветом часть кода (удалите и напишите свои тексты, можно разные)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="start()">

<div id="point1" STYLE="position:absolute;visibility:visible;">
<img src="copyright.gif" width=152 height=23 border=0>
</div>

<div id="point2" STYLE="position:absolute;visibility:visible;">
<img src="copyright.gif" width=152 height=23 border=0>
</div>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Bruce W.Anderson (appletlib@about.com) -->
<!-- Web Site: http://appletlib.tripod.com/dhtml/elevator.html -->

<!-- Begin
var xPosLeft = 20;
var xPosRight = 800;
var step = 1;
var delay = 30;
var yPos = 0;
var height = 0;
var offset = 0;
var yon = 0;
var name = navigator.appName;
if (name == "Microsoft Internet Explorer") {
yPos = document.body.clientHeight;
xPosRight = document.body.clientWidth - 150;
point1.style.top = yPos;
point2.style.top = yPos;
}
else {
yPos = window.innerHeight;
document.point1.pageY = yPos;
document.point1.visibility = "hidden";
document.point2.pageX = window.innerWidth - 155;
}
function changePos() {
if (yon == 0) {
yPos = yPos - step;
}
else {
yPos = yPos + step;
}
if (name == "Microsoft Internet Explorer") {
height = document.body.clientHeight;
offset = point1.offsetHeight;
}
else {
height = window.innerHeight;
offset = document.point1.clip.height;
}
if (yPos < 0) {
yon = 1;
yPos = 0;
}
if (yPos >= (height - offset)) {
yon = 0;
yPos = (height - offset);
}
if (name == "Microsoft Internet Explorer") {
point1.style.left = xPosLeft;
point1.style.top = yPos + document.body.scrollTop;
point2.style.left = xPosRight;
point2.style.top = yPos + document.body.scrollTop;
}
else {
document.point1.pageX = xPosLeft;
document.point1.pageY = yPos + window.pageYOffset;
document.point2.pageX = xPosRight;
document.point2.pageY = yPos + window.pageYOffset;
}
}
function start()
{
if (name != "Microsoft Internet Explorer") {
document.point1.visibility = "visible";
}
loopfunc();
}
function loopfunc()
{
changePos();
setTimeout('loopfunc()',delay);
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img58

Летучие мыши
Исчезнут через десять секунд (отмеченo белым). Важно! Место появления рисунков фиксированное. То есть, при настройке появления мышей у края экрана их не будет видно если окно браузера раскрыто не полностью. Можно использовать скрипт из раздела "Окно браузера", автоматически расширяющий окно во весь экран, независимо от настроек браузера посетителя, а можно поместить мышей где-нибудь по-середине экрана. Координаты выделены голубым. Так же, внизу страницы даны ZIP архивы рисунков летучих мышей для свелого и темного фонов.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
<!-- Pre load images

ImgA=new Image();
ImgA.src="bat1.gif";
ImgB=new Image();
ImgB.src="bat2.gif";
ImgC=new Image();
ImgC.src="bat3.gif";
ImgD=new Image();
ImgD.src="bat4.gif";
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY> желательно перед </BODY>

 <script language="JavaScript1.2">
<!--

/*
Bats- By Dynamic Drive, based on script by Kurt (kurt.grigg@virgin.net)
For full source, usage terms, and 100's more DHTML scripts
Visit http://www.dynamicdrive.com
*/

amount=5; // КОЛИЧЕСТВО МЫШЕЙ (5
 - минимум)
Xpos=350; // КООРДИНАТЫ
Ypos=200;
step=0.5;
dismissafter=10; // ВРЕМЯ "ЖИЗНИ"

bats=new Array(ImgA.src,ImgB.src,ImgC.src,ImgD.src)
if (document.layers){
for (i=0; i < amount; i++)
{document.write("<LAYER NAME=n"+i+" LEFT=0 TOP=-50><IMG SRC='bat1.gif' NAME='nsi'></LAYER>")}
}
if (document.all)
{
document.write('<div id="out" style="position:absolute;top:0;left:0"><div id="in" style="position:relative">');
for (i=0; i < amount; i++)
{document.write('<img src="bat1.gif" id="msieBats"'+i+'  style="position:absolute;top:-50;left:0">')}
document.write('</div></div>');
}

yBase=0;
xBase=0;
currStep=0;
a_count=0;
b_count=1;
c_count=2;
d_count=3;
move=1;
if (document.layers){
yBase=window.innerHeight/3;
xBase=window.innerWidth/6;
window.captureEvents(Event.MOUSEMOVE);

}
if (document.all){
yBase = window.document.body.offsetHeight/3;
xBase = window.document.body.offsetWidth/6;
}

function dismissbat(){
clearInterval(flybat)
if (document.layers){
for (i2=0; i2 < amount; i2++){
document.layers['n'+i2].visibility="hide"
}
}
else if (document.all)
document.all.out.style.visibility="hidden"
}

function Animate(){
a_count+=move;
b_count+=move;
c_count+=move;
d_count+=move;
currStep+=step;
if (a_count >= bats.length) a_count=0;
if (b_count >= bats.length) b_count=0;
if (c_count >= bats.length) c_count=0;
if (d_count >= bats.length) d_count=0;
if (document.layers){
document.layers['n'+0].document.images['nsi'].src=bats[a_count];
document.layers['n'+1].document.images['nsi'].src=bats[b_count];
document.layers['n'+2].document.images['nsi'].src=bats[b_count];
if (amount > 2)
{
for (i=3; i < amount; i++)
{document.layers['n'+i].document.images['nsi'].src=bats[d_count]}
}
for (i=0; i < amount; i++)
{
var NewL="n"+i
document.layers[NewL].top = Ypos+yBase*Math.sin(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/10)
document.layers[NewL].left =Xpos+xBase*Math.cos(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/62)
}
}
if (document.all){
document.all.msieBats[0].src=bats[a_count];
document.all.msieBats[1].src=bats[b_count];
document.all.msieBats[2].src=bats[c_count];
if (amount > 2)
{
for (i=3; i < amount; i++)
{document.all.msieBats[i].src=bats[d_count]}
}
for (i=0; i < amount; i++)
{
document.all.msieBats[i].style.pixelTop = Ypos+yBase*Math.sin(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/10)
document.all.msieBats[i].style.pixelLeft =Xpos+xBase*Math.cos(((currStep)+i*3.7)/4)*Math.cos((currStep+i*35)/62)
}
}
}
flybat=setInterval('Animate()',30);
setTimeout("dismissbat()",dismissafter*1000)
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, необходимые для работы скрипта: светлый фон - bats_set2.zip, темный фон - bats_set1.zip


Img48

Мигающее обрамление рисунка
Поместите предложенные в таблицах коды так, как указано в заголовках таблиц! Затем, в обычный тэг рисунка помещаете следующую строку id="flash0" class="flashgroup", то есть тэг будет выглядеть так <img src="ВАШ.gif" id="flash0" class="flashgroup">. Заметьте, что упоминание о BORDER отсутствует. Вот и все! Если Вы захотите "раскрасить" не один рисунок, то измените значение id="flash0" на id="flash1" и так далее.

Вот так выглядят тэги для этих двух рисунков:
<img src="backgr10.gif" id="flash0" class="flashgroup"><img src="backgr11.gif" id="flash1" class="flashgroup">

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.flashgroup{
border:3px solid green; <!---ТОЛЩИНА МИГАЮЩЕЙ ЛИНИИ И ЕЕ ОСНОВНОЙ ЦВЕТ--->
}
-->
</style>

Содержимое этой таблицы поместите сразу перед </BODY>

<script language="JavaScript1.2">

/*
Flashing Border image script (credit must stay enclosed)
By Wsabstract.com
For this and over 400+ JavaScripts,
Visit http://www.wsabstract.com
*/

//specify color of flash
var flashcolor="yellow"
//specify speed (less is faster ie: 50)
var speed=150

/////No need to edit below here////
var curborder=new Array()
var increment=0
var flashobject=new Array()

if (document.all||document.getElementById){
while (document.getElementById("flash"+increment)!=null){
flashobject[increment]=document.getElementById? document.getElementById("flash"+increment).style : eval("document.all.flash"+increment+".style")
curborder[increment]=0
increment++
}
}

function flash(which){
if (curborder[which]==1){
flashobject[which].borderLeftColor=flashcolor
flashobject[which].borderBottomColor= flashobject[which].borderRightColor
}
else if (curborder[which]==2){
flashobject[which].borderTopColor=flashcolor
flashobject[which].borderLeftColor= flashobject[which].borderBottomColor
}
else if (curborder[which]==3){
flashobject[which].borderRightColor=flashcolor
flashobject[which].borderTopColor= flashobject[which].borderLeftColor
}
else if (curborder[which]==4){
flashobject[which].borderBottomColor=flashcolor
flashobject[which].borderRightColor= flashobject[which].borderTopColor
}

if (curborder[which]<=3)
curborder[which]++
else
curborder[which]=1
}

if (document.all||document.getElementById){
for (z=0;z<flashobject.length;z++){
var temp='setInterval("flash('+z+')",'+speed+')'
eval(temp)
}
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img16

Муравьи
 (если рисунки будут располагаться не в той же директории, что сам документ, будьте внимательны при написании адреса рисунков - его необходимо указывать не один раз на протяжении всего скрипта)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.ant {
height: 16px;
position: absolute;
visibility: hidden;
width: 16px;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike Hall (MHall75819@aol.com) -->
<!-- Web Site: http://members.aol.com/MHall75819 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

// get the ant images in a single zip file from
// http://javascript.internet.com/img/ants/ants.zip

// Extract the images then upload them to your server and
// change the 'dir' variable to their location (end with a '/')

var images = new Array(
"antdl.gif",
"antdn.gif",
"antdr.gif",
"antlt.gif",
"antrt.gif",
"antul.gif",
"antup.gif",
"antur.gif"
);

var isMinNS4 = (document.layers) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;

var _LBimgList;
var _LBimgCount;
var _LBbase = "LBbase";
var _LBlow = "LBlow";
var _LBhigh = "LBhigh";
var _LBwidth;
var _LBheight;
var _LBbaseLayer;
var _LBlowLayer;
var _LBhighLayer;
function createLoadBar(width, height, bdSize, bdColor, bgColor, fgColor, fontFace, fontSize, text) {
var txtLow, txtHigh, tblStart, tblEnd;
var str;
txtLow = '<font color="' + fgColor + '" face="' + fontFace + '" size=' + fontSize + '>' + text + '</font>';
txtHigh = '<font color="' + bgColor + '" face="' + fontFace + '" size=' + fontSize + '>' + text + '</font>';
tblStart = '<table border=0 cellpadding=0 cellspacing=0 height=100% width=100%><tr valign="center"><td align="center">';
tblEnd = '</td></tr></table>';
if (isMinNS4)
str = '<layer name="' + _LBbase + '" bgcolor="' + bdColor + '" width=' + width + ' height=' + height + ' visibility="hide">\n'
+ ' <layer name="' + _LBlow + '" bgcolor="' + bgColor + '" left=' + bdSize + ' top=' + bdSize + ' width=' + (width - 2 * bdSize) + ' height=' + (height - 2 * bdSize) + '>' + tblStart + txtLow + tblEnd + '</layer>\n'
+ ' <layer name="' + _LBhigh + '" bgcolor="' + fgColor + '" left=' + bdSize + ' top=' + bdSize + ' width=' + (width - 2 * bdSize) + ' height=' + (height - 2 * bdSize) + '>' + tblStart + txtHigh + tblEnd + '</layer>\n'
+ '</layer>';
if (isMinIE4)
str = '<div id="' + _LBbase + '" style="position:absolute; background-color:' + bdColor + '; width:' + width + 'px; height:' + height + 'px; visibility:hidden;">\n'
+ ' <div id="' + _LBlow + '" style="position:absolute; background-color=' + bgColor + '; left:' + bdSize + 'px; top:' + bdSize + 'px; width:' + (width - 2 * bdSize) + 'px; height:' + (height - 2 * bdSize) + 'px;">' + tblStart + txtLow + tblEnd + '</div>\n'
+ ' <div id="' + _LBhigh + '" style="position:absolute; background-color=' + fgColor + '; left:' + bdSize + 'px; top:' + bdSize + 'px; width:' + (width - 2 * bdSize) + 'px; height:' + (height - 2 * bdSize) + 'px;">' + tblStart + txtHigh + tblEnd + '</div>\n'
+ '</div>';
document.writeln(str);
_LBwidth = width - 2 * bdSize;
_LBheight = height - 2 * bdSize;
}
function startLoadBar(srcList, x, y) {
var i, w, h;
if (isMinNS4) {
_LBbaseLayer = document.layers[_LBbase];
_LBlowLayer = _LBbaseLayer.document.layers[_LBlow];
_LBhighLayer = _LBbaseLayer.document.layers[_LBhigh];
}
if (isMinIE4) {
_LBbaseLayer = eval('document.all.' + _LBbase);
_LBlowLayer = eval('document.all.' + _LBlow);
_LBhighLayer = eval('document.all.' + _LBhigh);
}
if (isMinNS4) {
w = window.innerWidth;
h = window.innerHeight;
}
if (isMinIE4) {
w = document.body.clientWidth;
h = document.body.clientHeight;
}
if (x == null)
x = Math.round((w - _LBwidth) / 2);
if (y == null)
y = Math.round((h - _LBheight) / 2);
moveLayerTo(_LBbaseLayer, x, y);
clipLayer(_LBhighLayer, 0, 0, 0, _LBheight);
showLayer(_LBbaseLayer);
_LBimgCount = 0;
_LBimgList = new Array();
for (i = 0; i < srcList.length; i++) {
_LBimgList[i] = new Image();
_LBimgList[i].onabort = _LBupdate;
_LBimgList[i].onerror = _LBupdate;
_LBimgList[i].onload = _LBupdate;
}
for (i = 0; i < srcList.length; i++)
_LBimgList[i].src = srcList[i];
}
function endLoadBar() { // empty (can be changed) function called when finished
}
function _LBupdate() {
var pct;
_LBimgCount++;
pct = _LBimgCount / _LBimgList.length;
clipLayer(_LBhighLayer, 0, 0, Math.round(pct * _LBwidth), _LBheight);
if (_LBimgCount == _LBimgList.length) {
setTimeout('hideLayer(_LBbaseLayer)', 500);
endLoadBar();
}
}
function moveLayerTo(layer, x, y) {
if (isMinNS4)
layer.moveTo(x, y);
if (isMinIE4) {
layer.style.left = x;
layer.style.top = y;
}
}
function hideLayer(layer) {
if (isMinNS4)
layer.visibility = "hide";
if (isMinIE4)
layer.style.visibility = "hidden";
}
function getWindowWidth() {
if (isMinNS4)
return(window.innerWidth);
if (isMinIE4)
return(document.body.offsetWidth);
return(-1);
}
function getWindowHeight() {
if (isMinNS4)
return(window.innerHeight);
if (isMinIE4)
return(document.body.offsetHeight);
return(-1);
}
function getPageScrollX() {
if (isMinNS4)
return(window.pageXOffset);
if (isMinIE4)
return(document.body.scrollLeft);
return(-1);
}
function getPageScrollY() {
if (isMinNS4)
return(window.pageYOffset);
if (isMinIE4)
return(document.body.scrollTop);
return(-1);
}
function getHeight(layer) {
if (isMinNS4) {
if (layer.document.height)
return(layer.document.height);
else
return(layer.clip.bottom - layer.clip.top);
}
if (isMinIE4) {
if (false && layer.style.pixelHeight)
return(layer.style.pixelHeight);
else
return(layer.clientHeight);
}
return(-1);
}
function getWidth(layer) {
if (isMinNS4) {
if (layer.document.width)
return(layer.document.width);
else
return(layer.clip.right - layer.clip.left);
}
if (isMinIE4) {
if (layer.style.pixelWidth)
return(layer.style.pixelWidth);
else
return(layer.clientWidth);
}
return(-1);
}
function getLeft(layer) {
if (isMinNS4)
return(layer.left);
if (isMinIE4)
return(layer.style.pixelLeft);
return(-1);
}
function getTop(layer) {
if (isMinNS4)
return(layer.top);
if (isMinIE4)
return(layer.style.pixelTop);
return(-1);
}
function getRight(layer) {
if (isMinNS4)
return(layer.left + getWidth(layer));
if (isMinIE4)
return(layer.style.pixelLeft + getWidth(layer));
return(-1);
}
function getBottom(layer) {
if (isMinNS4)
return(layer.top + getHeight(layer));
else if (isMinIE4)
return(layer.style.pixelTop + getHeight(layer));
return(-1);
}
function moveLayerBy(layer, dx, dy) {
if (isMinNS4)
layer.moveBy(dx, dy);
if (isMinIE4) {
layer.style.pixelLeft += dx;
layer.style.pixelTop+= dy;
}
}
function showLayer(layer) {
if (isMinNS4)
layer.visibility = "show";
if (isMinIE4)
layer.style.visibility = "visible";
}
function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {
if (isMinNS4) {
layer.clip.left = clipleft;
layer.clip.top= cliptop;
layer.clip.right= clipright;
layer.clip.bottom = clipbottom;
}
if (isMinIE4)
layer.style.clip = 'rect(' + cliptop + ' ' +clipright + ' ' + clipbottom + ' ' + clipleft +')';
}
var mouseX = 0;
var mouseY = 0;
if (isMinNS4)
document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMousePosition;
function init() {
startLoadBar(images);
}
function getMousePosition(e) {
if (isMinNS4) {
mouseX = e.pageX;
mouseY = e.pageY;
}
if (isMinIE4) {
mouseX = event.clientX + document.body.scrollLeft;
mouseY = event.clientY + document.body.scrollTop;
}
return true;
}
var ants = new Array(8);
function endLoadBar() {
var i;
for (i = 0; i < ants.length; i++) {
if (isMinNS4) {
ants[i] = document.layers["ant" + (i + 1)];
ants[i].image = ants[i].document.images["antimg" + (i + 1)];
}
if (isMinIE4) {
ants[i] = eval('document.all.ant' + (i + 1));
ants[i].image = document.images["antimg" + (i + 1)];
}
initAnt(i);
showLayer(ants[i]);
}
updateAnts();
}
function initAnt(n) {
var s, x, y;
x = Math.floor(Math.random() * getWindowWidth());
y = Math.floor(Math.random() * getWindowHeight());
s = Math.floor(Math.random() * 4);
if (s == 0)
x = -getWidth(ants[n]);
if (s == 1)
x = getWindowWidth();
if (s == 2)
y = -getHeight(ants[n]);
if (s == 3)
y = getWindowHeight();
x += getPageScrollX();
y += getPageScrollY();
moveLayerTo(ants[n], x, y);
}
function updateAnts() {
var i, dx, dy, theta, d;
d = 3;
for (i = 0; i < ants.length; i++) {
dx = mouseX - getLeft(ants[i]);
dy = mouseY - getTop(ants[i]);
theta = Math.round(Math.atan2(-dy, dx) * 180 / Math.PI);
if (theta < 0)
theta += 360;
if (Math.abs(dx) < d && Math.abs(dy) < d)
initAnt(i);
else if (theta > 22.5 && theta <= 67.5) {
moveLayerBy(ants[i], d, -d);
ants[i].image.src = "antur.gif";
}
else if (theta > 67.5 && theta <= 112.5) {
moveLayerBy(ants[i], 0, -d);
ants[i].image.src = "antup.gif";
}
else if (theta > 112.5 && theta <= 157.5) {
moveLayerBy(ants[i], -d, -d);
ants[i].image.src = "antul.gif";
}
else if (theta > 157.5 && theta <= 202.5) {
moveLayerBy(ants[i], -d, 0);
ants[i].image.src = "antlt.gif";
}
else if (theta > 202.5 && theta <= 247.5) {
moveLayerBy(ants[i], -d, d);
ants[i].image.src = "antdl.gif";
}
else if (theta > 247.5 && theta <= 292.5) {
moveLayerBy(ants[i], 0, d);
ants[i].image.src = "antdn.gif";
}
else if (theta > 292.5 && theta <= 337.5) {
moveLayerBy(ants[i], d, d);
ants[i].image.src = "antdr.gif";
}
else {
moveLayerBy(ants[i], d, 0);
ants[i].image.src = "antrt.gif";
}
}
setTimeout('updateAnts()', 50);
return;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body  OnLoad="init()">

<script language="JavaScript">
createLoadBar(240, 20, 1, "#000000", "#cccccc", "#999999", "MS Sans serif,Arial,Helvetica", 1, "<b>Loading ants, please wait...</b>");
</script>

<div id="ant1" class="ant"><img name="antimg1" src="transparent.gif" width=13 height=13></div>
<div id="ant2" class="ant"><img name="antimg2" src="transparent.gif" width=13 height=13></div>
<div id="ant3" class="ant"><img name="antimg3" src="transparent.gif" width=13 height=13></div>
<div id="ant4" class="ant"><img name="antimg4" src="transparent.gif" width=13 height=13></div>
<div id="ant5" class="ant"><img name="antimg5" src="transparent.gif" width=13 height=13></div>
<div id="ant6" class="ant"><img name="antimg6" src="transparent.gif" width=13 height=13></div>
<div id="ant7" class="ant"><img name="antimg7" src="transparent.gif" width=13 height=13></div>
<div id="ant8" class="ant"><img name="antimg8" src="transparent.gif" width=13 height=13></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: ant.zip


RC30

Рисунок на каждый день недели
(воспроизводит каждый день недели разный рисунок)

Сегодня -й день недели

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center">
Сегодня&nbsp;
<script>
<!--
<!--Week Of The Day Image Displayer script- By Website Abstraction -->
var mondayimg="1gold.gif"
var tuesdayimg="2gold.gif"
var wednesdayimg="3gold.gif"
var thursdayimg="4gold.gif"
var fridayimg="5gold.gif"
var saturdayimg="6gold.gif"
var sundayimg="7gold.gif"
var mydate=new Date()
var today=mydate.getDay()
if (today==1)
document.write('<img src="'+mondayimg+'">')
else if (today==2)
document.write('<img src="'+tuesdayimg+'">')
else if (today==3)
document.write('<img src="'+wednesdayimg+'">')
else if (today==4)
document.write('<img src="'+thursdayimg+'">')
else if (today==5)
document.write('<img src="'+fridayimg+'">')
else if (today==6)
document.write('<img src="'+saturdayimg+'">')
else
document.write('<img src="'+sundayimg+'">')
//-->
</script>-</font><font color="#FF0000" size="6">й</font>&nbsp; <font size="4" color="#FF0000">день&nbsp;
недели
<p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

1gold.gif
2gold.gif
3gold.gif
4gold.gif
5gold.gif
6gold.gif
7gold.gif


Img17

Описание к рисунку-ссылке
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function showMsg(text) {
document.picform.message.value = text;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<ul>
<li>
<a href="home.htm"
onmouseover="showMsg('здесь должно быть описание рисунка 1....');"
onmouseout="showMsg('');">
<img name="button1" src="fift1.gif"></a>
</li>
<li>
<a href="another.htm"
onmouseover="showMsg('здесь должно быть описание рисунка 2....');"
onmouseout="showMsg('');">
<img name="button2" src="fift2.gif"></a>
</li>
<li>
<a href="Link.htm"
onmouseover="showMsg('здесь должно быть описание рисунка 3....');"
onmouseout="showMsg('');">
<img name="button3" src="fift3.gif"></a>
</li>
</ul>
<form name="picform">
<textarea name=message rows=2 cols=40 wrap=virtual>Выберите рисунок для получения его описания!</textarea><br>
<input type=hidden name=go value="">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip


Img20

Отключение команды OnMouseOut
При наведении мыши на линк изменяется рисунок (команда OnMouseOver), при отводе мыши с линка рисунок не изменяется (команда OnMouseOut отключена)

Вот цифры, которые я умею считать:

Цифра ОДИН

 Цифра ДВА

 Цифра ТРИ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var one = new Image();
var two = new Image();
var three = new Image();

one.src = "fift1.gif";
two.src = "fift2.gif";
three.src = "fift3.gif";

function doButtons(picimage) {
eval("document['picture'].src = " + picimage + ".src");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
</font>
<table border=1 width="430" bgcolor="#CCCCCC">
<tr><td width="112">
<center><h2><font color="#000000" size="3">Вот цифры, которые я умею считать:</font></h2></center>
<font size="3" color="#000000">
<p align=center>
<a href = "fift1.gif" onmouseover = "doButtons('one')">Цифра ОДИН<br><br>
</a>
<a href = "fift2.gif" onmouseover = "doButtons('two')">Цифра ДВА<br><br>
</a>
<a href = "fift3.gif" onmouseover = "doButtons('three')">Цифра ТРИ<p>
</a>

</font>

<td width="280">
<img name=picture src="blank.gif" width=300 height=300 border=0></td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip, кроме того Вам потребуется любой прозрачный GIF с названием файла blank.gif


Img60

Отражение
Пригоден ЛЮБОЙ!!! рисунок (выделен белым) для получения этого потрясающего эффекта!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--Change following reflection image to your own-->
<img id="reflect" src="cute.gif">
<br>
<script language="JavaScript1.2">

/*
Image reflection script (Submitted by Savio, savio_d_souza@hotmail.com)
Permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

function f1(){
setInterval("mdiv.filters.wave.phase+=10",100);
}

if (document.all){
document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">')
window.onload=f1
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img59

Переливающийся затемняющийся рисунок.
Вы можете заставить переливаться таким образом сколько угодно рисунков. Просто вставьте в тэг рисунка id="spotlight" speed="50", где 50 - это скорость перехода цвета, которую Вы также можете изменить. В целом, тэг рисунка будет выглядеть так: <img id="spotlight" speed="50" src="ваш_рисунок.gif"> или для рисунка-ссылки: <a href="http://ваш_сайт.com"><img id="spotlight" speed="100" src="ваш_рисунок.gif" border=0></a>. Следует так же иметь ввиду, что скрипт порядком нагружает процессор, и, при P133 например, после назначения трех переливающихся рисунков начинает вполне ощущаться снижение скорости работы приложения.

Кликните здесь для просмотра эффекта на черном фоне.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#spotlight{
filter:light
}

-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Moving light on image script
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all&&window.spotlight){
var x=new Array()
var direction=new Array()
var y=new Array()
if (spotlight.length==null){
spotlight[0]=document.all.spotlight
x[0]=0
direction[0]="right"
y[0]=spotlight[0].height
spotlight[0].filters. light.addPoint(100,50,100,255,255,255,90)
}
else
for (i=0;i<spotlight.length;i++){
x[i]=0
direction[i]="right"
y[i]=spotlight[i].height
spotlight[i].filters. light.addPoint(100,50,100,255,255,255,90)
}
}

function slidelight(cur){
spotlight[cur].filters.light. MoveLight(0,x[cur],y[cur],200,-1)

if (x[cur]<spotlight[cur].width+200&&direction[cur] =="right")
x[cur]+=10
else if (x[cur]>spotlight[cur].width+200){
direction[cur]="left"
x[cur]-=10
}
else if (x[cur]>-200&&x[cur]<-185){
direction[cur]="right"
x[cur]+=10
}
else{
x[cur]-=10
direction[cur]="left"
}
}

if (document.all&&window.spotlight){
if (spotlight.length==null)
setInterval("slidelight(0)",spotlight[0].speed)
else
for (t=0;t<spotlight.length;t++){
var temp= 'setInterval("slidelight('+t+')",'+spotlight[t].speed+')'
eval(temp)
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img3

Перетаскиваемый рисунок
(см. также комментарий внизу страницы)

 "Возьмите" этот рисунок и перенесите.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.drag{position:relative;cursor:move}
-->
</style>
<script language="JavaScript1.2">
<!--

/*
Drag and Drop Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var dragapproved=false
var z,x,y
function move(){
if (event.button==1&&dragapproved){
z.style.pixelLeft= temp1+event.clientX-x
z.style.pixelTop= temp2+event.clientY-y
return false
}
}
function drags(){
if (!document.all)
return
if (event.srcElement.className=="drag"){
dragapproved=true
z=event.srcElement
temp1=z.style.pixelLeft
temp2=z.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<img src="Dowl.gif" class=drag>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Использованный в примере рисунок:

Dowl.gif


Img25

Перетаскиваемый рисунок 2
Каждый рисунок перетаскивается отдельно. Вместо тэгов рисунков можно написать тэги шрифта, дав им имя такое же, как ID у DIV и текст станет перетаскиваемым... Довольно универсальный скрипт! Но применять его надо с осторожностью, так как ЛЮБОЙ фиксированный DIV на странице становится перетаскиваемым при у словии совпадения имени объекта и ID DIV-а.

При желании можете удалить или изменить выделенные белым тэги (см. нижнюю таблицу) для изменения вида курсора.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/sitemap.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
N = (document.all) ? 0 : 1;
var ob;
function MD(e) {
if (N) {
ob = document.layers[e.target.name];
X=e.x;
Y=e.y;
return false;
}
else {
ob = event.srcElement.parentElement.style;
X=event.offsetX;
Y=event.offsetY;
}
}
function MM(e) {
if (ob) {
if (N) {
ob.moveTo((e.pageX-X), (e.pageY-Y));
}
else {
ob.pixelLeft = event.clientX-X + document.body.scrollLeft;
ob.pixelTop = event.clientY-Y + document.body.scrollTop;
return false;
}
}
}
function MU() {
ob = null;
}

if (N) {
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}
document.onmousedown = MD;
document.onmousemove = MM;
document.onmouseup = MU;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="s" style="position:absolute;left:150;top:120; cursor:move;">
<img src=spades.gif name="s">
</div>

<div id="d" style="position:absolute;left:150;top:170; cursor:move;">
<img src=diamonds.gif name="d">
</div>

<div id="c" style="position:absolute;left:200;top:120; cursor:move;">
<img src=clubs.gif name="c">
</div>

<div id="h" style="position:absolute; left:200; top:170; cursor:move;">
<img src=hearts.gif name="h">
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img4

Поднимающиеся облака (пузыри)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">
<!-- Begin

/*
Bubble Script by Rachel R (broadwaygal13@hotmail.com)
Based on code by Altan d.o.o. (snow@altan.hr, http://www.altan.hr/snow/index.html)
For full source code and installation instructions to this script, visit http://dynamicdrive.com
*/

var no = 20; // image number or falling rate
var speed = 2; // the lower the number the faster the image moves
var snow = new Array();
snow[0] = "bubble.gif"
snow[1] = "bubble.gif"
snow[2] = "bubble.gif"

var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById&&!document.all) ? 1 : 0;
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 800, doc_height = 1800;

if (ns4up||ns6up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}

dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
j = 0;

for (i = 0; i < no; ++ i) {
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\""+ snow[j] + "\" border=\"0\"></layer>");
} } else if (ie4up||ns6up) { if (i == 0)
{
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"VISIBILITY: visible; TOP: 15px; LEFT: 15px; width:1;\"><img src=\"" + snow[j] + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"VISIBILITY: visible; TOP: 15px; LEFT: 15px; width:1;\"><img src=\"" + snow[j] + "\" border=\"0\"></div>");
}
}
if (j == (snow.length-1)) { j = 0; } else { j += 1; }
}

function snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] -= sty[i]; if (yp[i] < -50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = doc_height;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight; }
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] +
am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()", speed);
}

function snowIE_NS6() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] -= sty[i];
if (yp[i] < -50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = doc_height;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = ns6up?window.innerWidth-5:document.body.clientWidth;
doc_height = ns6up?window.innerHeight-5:document.body.clientHeight;
}
dx[i] += stx[i];
if (ie4up){
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
else if (ns6up){
document.getElementById("dot"+i).style.top=yp[i];
document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i]);
}
}
setTimeout("snowIE_NS6()", speed);
}

if (ns4up) {
snowNS();
} else if (ie4up||ns6up) {
snowIE_NS6();
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

bubble.gif


Img6

Прыгающий мяч

Кликните где-нибудь на странице

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original: Dragos Saracu (smardoi@yahoo.com) -->
<!-- Cross Browser by: Bob Simpson (webmaster@maryjanebrown.net) -->
<!-- Contributor URL: http: //www.maryjanebrown.net/ webmaster -->

<!-- Begin
function BrowserCheck() {
var b = navigator.appName;
if (b == "Netscape") this.b = "NS";
else if (b == "Microsoft Internet Explorer") this.b = "IE";
else this.b = b;
this.v = parseInt(navigator.appVersion);
this.NS = (this.b == "NS" && this.v>=4);
this.NS4 = (this.b == "NS" && this.v == 4);
this.NS5 = (this.b == "NS" && this.v == 5);
this.IE = (this.b == "IE" && this.v>=4);
this.IE4 = (navigator.userAgent.indexOf('MSIE 4')>0);
this.IE5 = (navigator.userAgent.indexOf('MSIE 5')>0);
if (this.IE5 || this.NS5) this.VER5 = true;
if (this.IE4 || this.NS4) this.VER4 = true;
this.OLD = (! this.VER5 && ! this.VER4) ? true : false;
this.min = (this.NS||this.IE);
}
is = new BrowserCheck();
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Кликните где-нибудь на странице<br>
<div id="staticBall" style="position:relative;visibility:visible">
<img src="ball.gif"
height=30 width=30 alt="Static ball">
</div>
</center>
<div id="ball" style="visibility:hidden; position:absolute; left:100; top:10;
height:34; width:34">
<img src="ball.gif"
height=30 width=30 alt="Прыгающий мяч">
</div>

<script language="Javascript1.2">
<!-- Begin
iter = 0;
setId = 0;
down = true;
up = false;
bouncingBall = (is.VER5) ? document.getElementById("ball").style
: (is.NS) ? document.layers["ball"]
: document.all["ball"].style;
stillBall = (is.VER5) ? document.getElementById("staticBall").style
: (is.NS) ? document.layers["staticBall"] :
document.all["staticBall"].style;
winH = (is.NS) ? window.innerHeight - 55 : document.body.offsetHeight
- 55;
document.onmouseup = buttonUp;
if (is.NS4)
document.captureEvents(Event.MOUSEUP);
function buttonUp(e) {
if ( ((is.NS) ? e.which : event.button) != 1) return true;
if (setId != 0) clearInterval(setId);
bouncingBall.visibility="visible";
stillBall.visibility="hidden";
bouncingBall.left = (is.NS) ? e.pageX - 15 : event.offsetX - 15;
bouncingBall.top = (is.NS) ? e.pageY - 15 : event.offsetY - 15;
iter = 0;
setId = setInterval("generateGravity()", 20);
return true;
}
function generateGravity() {
if ((parseInt(bouncingBall.top)+iter < winH) && down) {
bouncingBall.top = parseInt(bouncingBall.top) + iter;
iter++;
return;
}
else {
if ((parseInt(bouncingBall.top)< winH) && down) {
bouncingBall.top = winH + 5;
return;
}
down = false;
up = true;
if (iter < 0 && parseInt(bouncingBall.top) > winH) {
clearInterval(setId);
bouncingBall.visibility = "hidden";
stillBall.visibility="visible";
setId = 0;
}
if (parseInt(bouncingBall.top) > 0 && up && iter >= 0) {
bouncingBall.top = parseInt(bouncingBall.top) - iter;
iter--;
if (iter%3 == 0) iter--;
return;
}
down = true;
up = false;
}
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

ball.gif


Img9

"Пугливый" рисунок

Поймайте сову!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kien Caoxuan (kcaoxuan@caoxuan.com) -->
<!-- Web  Site:  http://www.caoxuan.com/ -->

<!-- Begin
N = (navigator.appName. indexOf("Netscape") != -1);
M = (navigator.appName. indexOf("Microsoft") != -1);
Vis = new Array();
Vis[0] = (M) ? "hidden":"hide";
Vis[1] = (M) ? "visible":"show";
function GetDiv(divId, divY, divX, divW, divH, bCol, visb, zInd) {
bkCol = (bCol != "")?((N)?" bgColor = "+bCol:";background:"+bCol):"";
DivTyp = (M) ? "<DIV" : "<LAYER";
if(M) {
Styl = " ID="+divId+" style = 'position:absolute; top:"+divY+"; left:"+divX+"; width:"+divW+"; height:"+divH+bkCol+"; visibility:"+Vis[visb]+"; z-index:"+zInd+"'>";
}
if(N) {
Styl = " ID = "+divId+" top = "+divY+" left = "+divX+" width = "+divW+" height = "+divH+bkCol+" visibility = "+Vis[visb]+" z-index = "+zInd+">";
}
document.writeln(DivTyp+Styl);
}
function EndDiv() {
(M)? document.writeln("</DIV>"): document.writeln("</LAYER>");
}
GetDiv('Obj', 300, 300, 20, 20, '', 1, 0);
document.write("<img src=\"Dowl.gif\"
      width=\"50\" height=\"50\">");
EndDiv();
if(document.layers) document.captureEvents (Event.MOUSEMOVE);
document.onmousemove = newPos;
function newPos(e) {
X = (navigator.appName. indexOf("Microsoft") != -1)?event.clientX:e.pageX;
Y = (navigator.appName.indexOf ("Microsoft") != -1)?event.clientY:e.pageY;
Xo = parseInt ((M)?document.all.Obj.style.left: document.Obj.left);
Yo = parseInt ((M)?document.all.Obj.style.top: document.Obj.top);
if(Math.abs(X - Xo) < 50 && Math.abs(Y - Yo) < 50) {
if(M) {
document.all.Obj.style.left = Math.floor(Math.random() * 400);
document.all.Obj.style.top = 100 + Math.floor(Math.random() * 300);
}
if(N) {
document.Obj.left = Math.floor(Math.random() * 700);
document.Obj.top = Math.floor(Math.random() * 500);
}
}
}
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере.

Dowl.gif


Img33

Размер рисунка в зависимости от разрешения экрана
Вы сами определяете какими быть размерам рисунка при том или ином разрешении экрана. Скрипт лишь определяет разрешение экрана посетителя и устанавливает предварительно назначенные Вами размеры рисунка.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original: Daniel Farmer (danfarmer@hotmail.com) -->
<!-- Web Site: http://www.mp3.com/protoculture -->

<!-- Begin
if (screen.height >= 768 && screen.width >= 1024) {
document.write("<img src='colortable.gif' width=850 height=11 border=0>");
}
else {
if (screen.height == 600 && screen.width == 800) {
document.write("<img src='colortable.gif' width=600 height=11 border=0>");
}
else {
document.write("<img src='colortable.gif' width=475 height=11 border=0>");
}
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img68

Появление рамки при наведении мыши на рисунок
Вставьте в тэг любого рисунка на странице class="borderimage" onMouseover="borderit(this,'black')" onMouseout="borderit(this,'silver')". То есть, тэг станет выглядеть так: <img src="ваш_рисунок.gif" class="borderimage" onMouseover="borderit(this,'black')" onMouseout="borderit(this,'siver')">

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.borderimage{
border:1px solid silver;
}
</style>
<script language="JavaScript1.2">

/*
Highlight Image Script II-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

function borderit(which,color){
//if IE 4+ or NS 6+
if (document.all||document.getElementById){
which.style.borderColor=color
}
}

</script>

Или ДРУГОЙ ВАРИАНТ, который я написал для себя давным давно (можете сравнить и выбрать)

Здесь также следует вставить в тэг рисунка следующее onMouseOver="Javascript:(this.style.border='1 solid black')" onMouseOut="Javascript:(this.style.border='1 solid silver')" style="border: 1 solid silver" То есть тэг будет выглядеть так: <img src="ваш_рисунок.gif" onMouseOver="Javascript:(this.style.border='1 solid black')" onMouseOut="Javascript:(this.style.border='1 solid silver')" style="border: 1 solid silver"> И ВСЕ !!!!!!!! БОЛЬШЕ НИЧЕГО НИГДЕ ПИСАТЬ НЕ НАДО! СМОТРИТЕ РЕЗУЛЬТАТ НИЖЕ.

А если, вдруг, очень не любите слово "JavaScript", то можете убрать и его - еще короче будет! Это не шутка, попробуйте!

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img67

Резкое осветление рисунка
Вставьте в тэг любого рисунка на странице style="filter:alpha(opacity=20)" onMouseover="makevisible(this,0)" onMouseout="makevisible(this,1)". То есть, тэг станет выглядеть так: <img src="ваш_рисунок.gif" style="filter:alpha(opacity=20)" onMouseover="makevisible(this,0)" onMouseout="makevisible(this,1)">

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*
Highlight Image Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=20
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img8

Рикошет мяча

(для остановки "рикошета" кликните по рисунку, для запуска кликните по рисунку еще раз)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

 <div id="img" style="position:absolute;">
<img src="ball.gif"
onMouseDown="pauseResume();">
</div>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Justin Arruda (JArruda@mindspring.com) -->

<!-- Begin
var step = 1;
var delay = 30;
var height = 0;
var Hoffset = 0;
var Woffset = 0;
var yon = 0;
var xon = 0;
var pause = true;
var interval;
var name = navigator.appName;
if(name == "Microsoft Internet Explorer") name = true;
else name = false;
var xPos = 20;
if(name) var yPos = document.body.clientHeight;
else var yPos = window.innerHeight;
function changePos() {
if(name) {
width = document.body.clientWidth;
height = document.body.clientHeight;
Hoffset = img.offsetHeight;
Woffset = img.offsetWidth;
img.style.left = xPos + document.body.scrollLeft;
img.style.top = yPos + document.body.scrollTop;
}
else {
height = window.innerHeight;
width = window.innerWidth;
Hoffset = document.img.clip.height;
Woffset = document.img.clip.width;
document.img.pageY = yPos + window.pageYOffset;
document.img.pageX = xPos + window.pageXOffset;
}
if (yon) {
yPos = yPos + step;
}
else {
yPos = yPos - step;
}
if (yPos < 0) {
yon = 1;
yPos = 0;
}
if (yPos >= (height - Hoffset)) {
yon = 0;
yPos = (height - Hoffset);
}
if (xon) {
xPos = xPos + step;
}
else {
xPos = xPos - step;
}
if (xPos < 0) {
xon = 1;
xPos = 0;
}
if (xPos >= (width - Woffset)) {
xon = 0;
xPos = (width - Woffset);
}
}
function start() {
if(name) img.visibility = "visible";
else document.img.visibility = "visible";
interval = setInterval('changePos()',delay);
}
function pauseResume() {
if(pause) {
clearInterval(interval);
pause = false;
}
else {
interval = setInterval('changePos()',delay);
pause = true;
}
}
start();
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделено имя файла рисунка. Замените на свой.

Рисунок, использованный в примере.

ball.gif


RC26

Рисунки-ссылки из выпадающего меню
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
<!--

/*Combo Box Image Selector:
By Website Abstraction (www.wsabstract.com)
Over 200+ free JavaScript here!
*/

function linkrotate(which){
var mylinks=new Array()
//add in more links if you want (ie:mylinks[3]=...)
mylinks[0]="home.htm"
mylinks[1]="Link.htm"
mylinks[2]="another.htm"

window.location=mylinks[which]
}

function showimage()
{
if (!document.images)
return
document.images.pictures.src=
document.mygallery. picture.options [document.mygallery.picture. selectedIndex].value
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%"> <form name="mygallery"><p><select
name="picture" size="1" onChange="showimage()">
<option selected value="Dowl.gif">Сова</option>
<option value="bulb__on.gif">Лампочка</option>
<option value="7gold.gif">Цифра</option>
</select></p>
</form>
</td>
</tr>
<tr>
<td width="100%"><p align="center"> <a href="javascript:linkrotate (document.mygallery.picture.selectedIndex)" onMouseover="window.status='';return true"> <img src="Dowl.gif" name="pictures" width="99"
height="100" border=0></a></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделены рисунки, которые Вы можете заменить на свои. Тем ни менее, ниже приведены рисунки, использованные в этом примере.

Dowl.gif
bulb__on.gif
 7gold.gif


Form89

Рисунок как фон для формы
( только MSIE )

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<TEXTAREA rows="8" cols="15" style="background-image:url(sandraaa1.jpg)">
</TEXTAREA>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img29

Рисунок при просмотре источника
Пользователи видят рисунок наравне с текстом во время просмотра источника.
 (только Netscape !!!)

Используйте правый клик мыши или меню браузера для просмотра источника.

(ПРОСМОТР ЭФФЕКТА СЛЕДУЕТ ПРОИЗВОДИТЬ В РЕАЛЬНОМ HTML ДОКУМЕНТЕ!!!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Dion (yobo42@hotmail.com) -->
<!-- Web Site: http://yoboseyo.virtualave.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

/*
</xmp>

<center>
<img src="5-full.gif" width=88 height=31>
</center>

*/
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img7

Прокрутка background-a

Для просмотра эффекта с другим рисунком фона наведите курсор мыши на предложенные рисунки

 Наведите мышь
на рисунок!

Наведите мышь
на рисуноk!

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY background="КАКОЙ-НИБУДЬ.gif">

<!-- Original: Roy Sinclair (roysinclair@email.msn.com) -->
<script language="JavaScript">
<!-- Begin
var backgroundOffset = 0;
var bgObject = eval('document.body');
function scrollBG(maxSize) {
backgroundOffset = backgroundOffset + 1;
if (backgroundOffset > maxSize) backgroundOffset = 0;
bgObject.style.backgroundPosition = "0 " + backgroundOffset;
}
var ScrollTimer = window.setInterval("scrollBG(307)", 64);
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Для работы скрипта необходимо, наличие рисунока фона.


RC16

Прокрутка рисунков

(Здесь Ваш заголовок)

К началу

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" cellpadding="0">
<caption><font face="Arial" size="2">(Здесь Ваш заголовок)</font></caption>
<font size="4" color="#FF0000">
<tr>
<td width="100%">
<p align="center"><img src="Dowl.gif" width="100" height="100" name="photoslider"></p>
</td>
</tr>
<tr>
<td width="100%"><form method="POST" name="rotater">
<div align="center"><center><p><script language="JavaScript1.1">
var photos=new Array()
var which=0

// Измените рисунки на те, которые нужны Вам. Количество неограничено
photos[0]="Dowl.gif"
photos[1]="bulb__on.gif"
photos[2]="1gold.gif"
photos[3]="2gold.gif"
photos[4]="3gold.gif"

function backward(){
if (which>0){
window.status=''
which--
document.images.photoslider.src=photos[which]
}
}

function forward(){
if (which<photos.length-1){
which++
document.images.photoslider.src=photos[which]
}
else window.status='Конец галереи'
}
</script><input type="button" value="<<Назад " name="B2"
onClick="backward()"> <input type="button" value="Вперед>>" name="B1"
onClick="forward()"><br>
<a href="#" onClick="which=1;backward();return false"><small>К началу</small></a></p>
</center></div>
</form>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примеры.

Dowl.gif
bulb__on.gif
1gold.gif
2gold.gif
3gold.gif


Img52

Простой скроллинг рисунков
(в одном направлении, с кнопкой)

Скрипт полезен для тех, кто изучает JavaScript

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
function makeArray() {
this.length = makeArray.arguments.length
for (var i = 0; i < this.length; i++) this[i+1] = makeArray.arguments[i]
}

var teams = new makeArray ("dg0.gif", "dg1.gif", "dg2.gif", "dg3.gif", "dg4.gif", "dg5.gif");
var num = 1;

function clickTest() {
tiger = new Image(100, 80);
document.blumcalalim.tcifra.src = teams[num];
num += 1;
if (num == 7) num = 1;
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="blumcalalim">
<input type=Button name="clickMe" value="Нажми кнопку!" onClick="clickTest()">
<IMG NAME="tcifra" width=100 height=80 border=0 SRC="dg5.gif">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img19

Скроллинг рисунков
Рисунок может быть ссылкой, а может и не быть (удалите выделенную желтым часть кода). Установите время смены рисунков (выделено белым цветом).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: D. Keith Higgs (dkh2@po.cwru.edu) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var timeDelay = 5; // Время задержки в секундах
var Pix = new Array
("fift1.gif"
,"fift2.gif"
,"fift3.gif"
,"fift4.gif"
,"fift5.gif"
,"fift6.gif"
,"fift7.gif"
,"fift8.gif"
,"fift9.gif"
);
var howMany = Pix.length;
timeDelay *= 1000;
var PicCurrentNum = 0;
var PicCurrent = new Image();
PicCurrent.src = Pix[PicCurrentNum];
function startPix() {
setInterval("slideshow()", timeDelay);
}
function slideshow() {
PicCurrentNum++;
if (PicCurrentNum == howMany) {
PicCurrentNum = 0;
}
PicCurrent.src = Pix[PicCurrentNum];
document["ChangingPix"].src = PicCurrent.src;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="startPix()">

<a href="home.htm"><img name="ChangingPix" src="fift1.gif"
 style="border:0"></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip


Img53

Простой автоскроллинг рисунков

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

function makeArray() {

this.length = makeArray.arguments.length

for (var i = 0; i < this.length; i++) this[i+1] = makeArray.arguments[i]

}

var teams = new makeArray ("dg0.gif", "dg1.gif", "dg2.gif", "dg3.gif", "dg4.gif", "dg5.gif");

var eatHim = 1;

function smenialka() {

lion = new Image(100, 80);

document.kapusta.rediska.src = teams[eatHim];

eatHim += 1;

if (eatHim == 7) eatHim = 1;

setTimeout("smenialka()", 2000);

}

</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="smenialka()">

<form name="kapusta">
<IMG NAME = "rediska" width=100 height=80 border=0 SRC = "dg0.gif">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img23

Покрутка рисунков 2
МИНИГАЛЕРЕЯ

Минигалерея

Выберите рисунок и нажмите "GO".

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Daniel Smith (xalres@earthlink.net) -->
<!-- Web Site: http://home.earthlink.net/~xalres -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
prev1 = new Image (32,18);
prev1.src = "prev1.jpg";
prev2 = new Image (32,18);
prev2.src = "prev2.jpg";

next1 = new Image (32,18);
next1.src = "next1.jpg";
next2 = new Image (32,18);
next2.src = "next2.jpg";

go1 = new Image (48,24);
go1.src = "go1.jpg";
go2 = new Image (48,24);
go2.src = "go2.jpg";

maxPic = 5;

p1 = new Image (144,96);
p1.src = "1-thumb.jpg";
link1 = "1-full.jpg";

p2 = new Image (144,96);
p2.src = "2-thumb.jpg";
link2 = "2-full.jpg";

p3 = new Image (144,96);
p3.src = "3-thumb.jpg";
link3 = "3-full.jpg";

p4 = new Image (144,96);
p4.src = "4-thumb.jpg";
link4 = "4-full.jpg";

p5 = new Image (144,96);
p5.src = "5-thumb.jpg";
link5 = "5-full.jpg";

count = 1;
function next() {
count++;
if (count > maxPic) {
count = 1;
}
eval("document.p.src=p" + count + ".src");
}
function back() {
count--;
if (count == 0) {
count = maxPic;
}
eval("document.p.src=p" + count + ".src");
}
function link() {
location.href=eval("link" + count);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table bgcolor="#003366" border=0>
<tr>
<td align=center width=300>
<font color=white face="Arial, Helvetica" size="+1">Минигалерея</font>
<br><br>
<img name=p src="1-thumb.jpg" border=0 width=144 height=96>
<br>
<table border=0>
<tr>
<td><a href="javascript:back()" onmouseover="prev.src=prev2.src" onmouseout="prev.src=prev1.src"><img src="prev1.jpg" width="42" height="15" border="0" name="prev"></td>
<td><a href="javascript:link()" onmouseover="go.src=go2.src" onmouseout="go.src=go1.src"><img src="go1.jpg" width="48" height="24" border="0" name="go"></td>
<td><a href="javascript:next()" onmouseover="next.src=next2.src" onmouseout="next.src=next1.src"><img src="next1.jpg" width="32" height="18" border="0" name="next"></td>
</tr>
</table>
<br>
<font color="#A3ACC9" size="1" face="Verdana"><b>
Выберите рисунок и нажмите "GO".</b></font>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки кнопок, использованные в примере: prev.zip. Рисунки для галереи подберите свои, или можете скопировать примерные, поочередно открывая их в POP-UP. Хотя, зачем..? Рисунки для галереи выделены желтым в верхней таблице и в нижней. В нижней указывается рисунок, который будет загружатьтся при открытии страницы.


Img62

Слайдшоу-автоскроллинг вертикальный
Первый рисунок здесь - ссылка (можно сделать ссылками все рисунки). Другие комментарии см. в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<script language="JavaScript1.2">

/*
Up down slideshow Script- Updated: 99/05/15
By Dynamic Drive (www.dynamicdrive.com)
For full source code, terms of use, and 100's more scripts, visit http://dynamicdrive.com
*/

var scrollerwidth=103  // РАЗМЕРЫ БОКСА
var scrollerheight=106
var scrollerbgcolor='silver' // ЦВЕТ БОКСА

var pausebetweenimages=3000  // ВРЕМЯ ЗАДЕРЖКИ  ( В МИЛИСЕКУНДАХ)

//configure the below variable to change the images used in the slideshow. If you wish the images to be clickable, simply wrap the images with the appropriate <a> tag
var slideimages=new Array()
slideimages[0]='<a href="#top"> <img src="spinstar.gif" border="0"></a>'
slideimages[1]='<img src="cute.gif">'
slideimages[2]='<img src="ballon2.gif">'
slideimages[3]='<img src="ballon3.gif">'
slideimages[4]='<img src="ballon4.gif">'
slideimages[5]='<img src="butterfly.gif">'
//extend this list

///////Do not edit pass this line//////// ///////////////

if (slideimages.length>1)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.top>0&&tlayer.top<=5){
tlayer.top=0
setTimeout("move1(tlayer)",pausebetweenimages)
setTimeout("move2(document.main.document.second)", pausebetweenimages)
return
}
if (tlayer.top>=tlayer.document.height*-1){
tlayer.top-=5
setTimeout("move1(tlayer)",100)
}
else{
tlayer.top=scrollerheight
tlayer.document.write(slideimages[i])
tlayer.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.top>0&&tlayer2.top<=5){
tlayer2.top=0
setTimeout("move2(tlayer2)",pausebetweenimages)
setTimeout("move1(document.main.document.first)",  pausebetweenimages)
return
}
if (tlayer2.top>=tlayer2.document.height*-1){
tlayer2.top-=5
setTimeout("move2(tlayer2)",100)
}
else{
tlayer2.top=scrollerheight
tlayer2.document.write(slideimages[i])
tlayer2.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (tdiv.style.pixelTop>0&&tdiv.style.pixelTop<=5){
tdiv.style.pixelTop=0
setTimeout("move3(tdiv)",pausebetweenimages)
setTimeout("move4(second2)",pausebetweenimages)
return
}
if (tdiv.style.pixelTop>=tdiv.offsetHeight*-1){
tdiv.style.pixelTop-=5
setTimeout("move3(tdiv)",100)
}
else{
tdiv.style.pixelTop=scrollerheight
tdiv.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (tdiv2.style.pixelTop>0&&tdiv2.style.pixelTop<=5){
tdiv2.style.pixelTop=0
setTimeout("move4(tdiv2)",pausebetweenimages)
setTimeout("move3(first2)",pausebetweenimages)
return
}
if (tdiv2.style.pixelTop>=tdiv2.offsetHeight*-1){
tdiv2.style.pixelTop-=5
setTimeout("move4(second2)",100)
}
else{
tdiv2.style.pixelTop=scrollerheight
tdiv2.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (document.all){
move3(first2)
second2.style.top=scrollerheight
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.top=scrollerheight+5
document.main.document.second.visibility='show'
}
}

window.onload=startscroll

</script>

<ilayer id="main" width=&{scrollerwidth}; height=&{scrollerheight}; bgColor=&{scrollerbgcolor}; visibility=hide>
<p>
<p>
<p>
<p>
<layer id="first" left=0 top=1 width=&{scrollerwidth}; >
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[0])
</script>
</layer>
<layer id="second" left=0 top=0 width=&{scrollerwidth}; visibility=hide>
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[1])
</script>
</layer>
</ilayer>

<script language="JavaScript1.2">
if (document.all){
document.writeln('<span id="main2" style="position:relative;
 width:'+scrollerwidth+';height:'+scrollerheight+'; overflow:hiden;
 background-color:'+scrollerbgcolor+'">')
document.writeln('<div style="position:absolute; width:'+scrollerwidth+';
 height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0;top:0">')
document.writeln('<div id="first2" style=  "position:absolute;
 width:'+scrollerwidth+';left:0;top:1;">')
document.write(slideimages[0])
document.writeln('</div>')
document.writeln('<div id="second2" style=   "position:absolute;
 width:'+scrollerwidth+';left:0;top:0">')
document.write(slideimages[1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</span>')
}
</script></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img63

Cлайдшоу-автоскроллинг горизонтальный
Первый рисунок здесь - ссылка (можно сделать ссылками все рисунки). Другие комментарии см. в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<script language="JavaScript1.2">

/*
Left-Right image slideshow Script-
By Dynamic Drive (www.dynamicdrive.com)
For full source code, terms of use, and 100's more scripts, visit http://dynamicdrive.com
*/

var scrollerwidth=100  //  РАЗМЕРЫ БОКСА
var scrollerheight=106
var scrollerbgcolor='silver'   // ЦВЕТ БОКСА
var pausebetweenimages=3000      // СКОРОСТЬ СМЕНЫ КАДРОВ (милисекунды)

//configure the below variable to change the images used in the slideshow. If you wish the images to be clickable, simply wrap the images with the appropriate <a> tag
var slideimages=new Array()
slideimages[0]='<a href="#top"><img src="spinstar.gif" border=0"></a>'
slideimages[1]='<img src="cute.gif">'
slideimages[2]='<img src="ballon2.gif">'
slideimages[3]='<img src="ballon3.gif">'
slideimages[4]='<img src="ballon4.gif">'
slideimages[5]='<img src="butterfly.gif">'
//extend this list

///////Do not edit pass this line///////////////////////

if (slideimages.length>1)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.left>0&&tlayer.left<=5){
tlayer.left=0
setTimeout("move1(tlayer)",pausebetweenimages)
setTimeout("move2(document.main.document.second)", pausebetweenimages)
return
}
if (tlayer.left>=tlayer.document.width*-1){
tlayer.left-=5
setTimeout("move1(tlayer)",100)
}
else{
tlayer.left=scrollerwidth+5
tlayer.document.write(slideimages[i])
tlayer.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.left>0&&tlayer2.left<=5){
tlayer2.left=0
setTimeout("move2(tlayer2)",pausebetweenimages)
setTimeout("move1(document.main.document.first)",  pausebetweenimages)
return
}
if (tlayer2.left>=tlayer2.document.width*-1){
tlayer2.left-=5
setTimeout("move2(tlayer2)",100)
}
else{
tlayer2.left=scrollerwidth+5
tlayer2.document.write(slideimages[i])
tlayer2.document.close()
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (tdiv.style.pixelLeft>0&&tdiv.style.pixelLeft<=5){
tdiv.style.pixelLeft=0
setTimeout("move3(tdiv)",pausebetweenimages)
setTimeout("move4(second2)",pausebetweenimages)
return
}
if (tdiv.style.pixelLeft>=tdiv.offsetWidth*-1){
tdiv.style.pixelLeft-=5
setTimeout("move3(tdiv)",100)
}
else{
tdiv.style.pixelLeft=scrollerwidth
tdiv.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (tdiv2.style.pixelLeft>0&&tdiv2.style.pixelLeft<=5){
tdiv2.style.pixelLeft=0
setTimeout("move4(tdiv2)",pausebetweenimages)
setTimeout("move3(first2)",pausebetweenimages)
return
}
if (tdiv2.style.pixelLeft>=tdiv2.offsetWidth*-1){
tdiv2.style.pixelLeft-=5
setTimeout("move4(second2)",100)
}
else{
tdiv2.style.pixelLeft=scrollerwidth
tdiv2.innerHTML=slideimages[i]
if (i==slideimages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (document.all){
move3(first2)
second2.style.left=scrollerwidth
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.left=scrollerwidth+5
document.main.document.second.visibility='show'
}
}

window.onload=startscroll

</script>

<ilayer id="main" width=&{scrollerwidth}; height=&{scrollerheight}; bgColor=&{scrollerbgcolor}; visibility=hide>
<p>
<p>
<layer id="first" left=1 top=0 width=&{scrollerwidth}; >
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[0])
</script>
</layer>
<layer id="second" left=0 top=0 width=&{scrollerwidth}; visibility=hide>
<script language="JavaScript1.2">
if (document.layers)
document.write(slideimages[1])
</script>
</layer>
</ilayer>

<script language="JavaScript1.2">
if (document.all){
document.writeln('<span id="main2" style="position:relative;
 width:'+scrollerwidth+';height:'+scrollerheight+'; overflow:hidden;
 background-color:'+scrollerbgcolor+'">')
document.writeln('<div style="position:absolute; width:'+scrollerwidth+';
 height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0;top:0">')
document.writeln('<div id="first2" style="position:absolute;
 width:'+scrollerwidth+';left:1;top:0;">')
document.write(slideimages[0])
document.writeln('</div>')
document.writeln('<div id="second2" style="position:absolute;
 width:'+scrollerwidth+';left:0;top:0">')
document.write(slideimages[1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</span>')
}
</script></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img65

Скроллинг исчезающих рисунков-ссылок, слайдшоу
С комментарием в строке статуса.

По возможности, рисункам следует быть одного размера, так как настроить размеры из этого скрипта нельзя. Так же, следует поместить скрипт в таблицу, как это сделано в примере на случай разных по величине рисунков - это предотвратит дергание страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*
Blending Image Slide Show Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/

function reapply(){
setTimeout("slideit()",2000)
return true
}
window.onerror=reapply
</script>
<script language="JavaScript1.1">
<!--
var image1=new Image()
image1.src="ballon2.gif"
var image2=new Image()
image2.src="cute.gif"
var image3=new Image()
image3.src="butterfly.gif"
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="slideit()">

<div align="center">
<center><table width="100" height="100"><tr><td>
<a href="javascript:slidelink()" onMouseover="window.status='Кликните по рисунку для большей информации!';return true" onMouseout="window.status=''"><img src="ballon3.gif" name="slide" border=0 style="filter:blendTrans(duration=3)"></a>
<script>
<!--
////change number of images below
var number_of_images=3
//change speed below (in seconds)
var speed=3
var step=1
var whichimage=1
function slideit(){
if (!document.images)
return
if (document.all)
slide.filters.blendTrans.apply()
document.images.slide.src=eval("image"+step+".src")
if (document.all)
slide.filters.blendTrans.play()
whichimage=step
if (step<number_of_images)
step++
else
step=1
if (document.all)
setTimeout("slideit()",speed*1000+3000)
else
setTimeout("slideit()",speed*1000)
}
function slidelink(){
if (whichimage==1)
window.location="home.htm"
else if (whichimage==2)
window.location="Link.htm"
else if (whichimage==3)
window.location="another.htm"
}
//-->
</script>

</td></tr></table>
</center>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Img10

Следящие глаза
 (классика!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT >
// Watching Eyes Script
// By Virtual_Max http://www.geocities.com/siliconvalley/lakes/8620
// Modified by Dynamicdrive.com (IE specific bug fixed)
// Permission granted to Dynamicdrive.com to include the script in it's archive
// For 100's more DHTML scripts, visit Dynamicdrive.com
//
// Permission to use, copy, modify, and distribute this software and its documentation
// for NON-COMMERCIAL purposes and without fee is hereby granted provided that this
// notice appears in all copies.
//
// VIRTUAL MAX MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
// NON-INFRINGEMENT. VIRTUAL MAX SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
// LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR
// ITS DERIVATIVES.

var brOK=false;
var mie=false;
var ex=0;
var ey=0;
var ae;
var le;
var re;
var x0;
var y0;
var tid;
var realx;
var realy;
var loaded=false;
if(parseInt(navigator.appVersion.charAt(0))>=4)
{brOK=true;}
if(navigator.appName.indexOf("Microsoft")!=-1)
{mie=true; }
function myhandler(e)
{ex=e.pageX;
ey=e.pageY;
moveeye()
return routeEvent(e);
}

function moveeye()
{dy=ey-y0-20;
dx1=ex-x0-20;
dx2=ex-x0-60;

r=Math.sqrt(dx1*dx1+dy*dy);
if(r<20) r=20
dx1=dx1*10/r+x0+10;
dy1=dy*10/r+y0+10;

r=Math.sqrt(dx2*dx2+dy*dy);
if(r<20) r=20
dx2=dx2*10/r+x0+50;

ae.left=x0;
ae.top=y0;
le.left=dx1;
le.top=dy1;
re.left=dx2;
re.top=dy1;
}

function setHandlers()
{if(!mie) {y0=document.eyeballs.top;
x0=document.eyeballs.left;
ae=document.eyeballs;
le=document.lefteye;
re=document.righteye;
window.captureEvents(Event.MOUSEMOVE);
window.onMouseMove=myhandler;
}
else {y0=document.all.eyeballs.style.pixelTop;
x0=document.all.eyeballs.style.pixelLeft;
ae=document.all.eyeballs.style;
le=document.all.lefteye.style;
re=document.all.righteye.style;
}
realx=x0+0.1;
realy=y0+0.1;

moveall();
loaded=true;
}

function moveall()
{rx=realx+40
ry=realy+40;
rx+=(ex-rx)*0.1;
ry+=(ey-ry)*0.1;
realx=rx-40;
realy=ry-40;
x0=Math.round(realx);
y0=Math.round(realy);
moveeye();
tid=setTimeout('moveall()',100);
}

function placeeyes(x,y)
{if(brOK)
{ex=x+40;
ey=y+40;
s ='<DIV ID="dummy" STYLE="position:absolute; top:'+y+'; left:'+x+'; width:10; height:10;"> </DIV>';
s+='<DIV ID="eyeballs" STYLE="position:absolute; top:'+y+'; left:'+x+'; width:80; height:40;" ><IMG SRC="eyeballs.gif" border=0></DIV>';
s+='<DIV ID="lefteye" STYLE="position:absolute; top:'+(y+10)+'; left:'+(x+10)+'; width:20; height:20;" ><IMG SRC="eye.gif" border=0></DIV>';
s+='<DIV ID="righteye" STYLE="position:absolute; top:'+(y+10)+'; left:'+(x+50)+'; width:20; height:20;" ><IMG SRC="eye.gif" border=0></DIV>';
document.writeln(s);
}
}
</script>
<script FOR=document Event="onmousemove()">
if((mie==true)&&(brOK)&&loaded)
{ex=document.body.scrollLeft+event.x;
ey=document.body.scrollTop+event.y;
moveeye();
}
</script>

<script>
if (document.all||document.layers)
placeeyes(200,100);
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: eyes.zip


Img1

Случайный рисунок при загрузке

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT>
<!-- written by The Omega
// http://www.geocities.com/ Area51/Corridor/4381
{gfx=new Array()
// Поместите здесь Ваши рисунки (полный URL)
gfx[0]="1gold.gif"
gfx[1]="2gold.gif"
gfx[2]="3gold.gif"

today2=new Date()
len=3
today=today2.getTime()/10
rnd=today % len
document.writeln ('<IMG SRC="'+gfx[rnd]+'">')}
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере (в таблице выделены белым).

1gold.gif
2gold.gif
3gold.gif


RC23

Снег

Цвет фона:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original: Altan (snow@altan.hr) -->
<!-- Web Site: http://www.altan.hr/snow -->

<!-- Begin
var no = 25; // количество снежинок
var speed = 10; // скорость падения снежинок
var snowflake = "snow.gif";

var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 800, doc_height = 600;
if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) {
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
}
}
}
function snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()", speed);
}
function snowIE() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowIE()", speed);
}
if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

snow.gif


Img54

Снотворное
Запустите эту "шарманку" и ложитесь в постель. Наблюдайте за рисунком минут пять... Спокойной ночи!

Кликните несколько раз (лучше больше) по черному полю для создания дополнительных пятен затем нажмите кнопку

ВНИМАНИЕ! ИЗ ФАЙЛА СПРАВКИ ЭТОТ СКРИПТ РАБОТАЕТ СУПЕР МЕДЛЕННО, ОСОБЕННО С MSIE! ОКНО БРАУЗЕРА ДОЛЖНО БЫТЬ РАСКРЫТО ВО ВЕСЬ ЭКРАН!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Кликните несколько раз по черному полю для
создания дополнительных пятен затем
нажмите кнопку&nbsp; <input type=button value="СТАРТ" onClick="if (active == 0) nextgen(1)">
</form>
<hr>

<script language=javascript>
<!-- hide from browsers that don't support it
var cell = new Array(451); // 24 x 16, with dead border
var index;
var row;
var col;
var active = 0;
function toggle(r, c)
{
index = 24 * ((r / 25) - 1) + (c - 1);
if (cell[r+c] == 0)
{
cell[r+c] = 1;
window.document.images[index].src = "reddot.gif";
}
else
{
cell[r+c] = 0;
window.document.images[index].src = "nodot.gif";
}
}
function redisplay()
{
var lifeVal;
index = 0;
for (row = 25; row < 425; row += 25)
for (col = 1; col <= 24; col++)
{
lifeVal = cell[row+col];
if (lifeVal == 0)
window.document.images[index].src = "nodot.gif";
else if (lifeVal == 1)
{
window.document.images[index].src = "reddot.gif";
cell[row+col] = 2;
}
else if (lifeVal < 30000)
window.document.images[index].src = "bluedot.gif";
else
{
window.document.images[index].src = "nodot.gif";
cell[row+col] = 0;
}
index++;
}
}
function nextgen(change)
{
var neighbors;
active = 1;
for (row = 25; row < 425; row += 25)
for (col = 1; col <= 24; col++)
{
index = row + col;
neighbors = 0;
if (cell[index-26] >= 2) neighbors++;
if (cell[index-25] >= 2) neighbors++;
if (cell[index-24] >= 2) neighbors++;
if (cell[index-1] >= 2) neighbors++;
if (cell[index+1] >= 2) neighbors++;
if (cell[index+24] >= 2) neighbors++;
if (cell[index+25] >= 2) neighbors++;
if (cell[index+26] >= 2) neighbors++;
if (neighbors == 3)
{
if (cell[index] == 0) change = 1; // birth
cell[index]++; // birth or sustaining
}
else if (neighbors == 2)
{
if (cell[index] > 1) cell[index]++; // sustaining
}
else if (cell[index] > 1)
{
change = 1;
cell[index] = 30000; // death
}
}
redisplay();
if (change == 1)
setTimeout("nextgen(0)", 500);
else
{
alert("Рисунок стабильный. \n\nПерезапустите \"фенобарбитал\"");
active = 0;
}
}
for (index = 0; index < 451; index++)
cell[index] = 0;
// put in starting pattern
cell[212] = 1;
cell[213] = 1;
cell[236] = 1;
cell[237] = 1;
cell[262] = 1;
if (top.frames.length > 1)
{

window.document.fgColor=top.frames[1].document.fgColor;
window.document.linkColor=top.frames[1].document.linkColor;
window.document.vlinkColor=top.frames[1].document.vlinkColor;
window.document.bgColor=top.frames[1].document.bgColor;

}
for (row = 25; row < 425; row += 25)
{
for (col = 1; col <= 24; col++)
{
window.document.write("<a href=javascript:toggle("+row+","+col+")>");
if (cell[row+col] == 1)
window.document.write("<img src=reddot.gif border=0></a>");
else
window.document.write("<img src=nodot.gif border=0></a>");
}
window.document.writeln("<br>");
}
// end of hidden part -->
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: barbiturat.zip


Img27

Сообщение о некорректной загрузке рисунка

(Рисунок отсутствует в принципе! Так сделано специально для примера!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function imageError(theImage) {
msg = 'Ошибка: Рисунок ' + theImage.name + ' не был загружен корректно.\n\n' +
'Загрузка производилась с URL:\n' + theImage.src + '\n\nПожалуйста, ' +
'перезагрузите страницу (нажмите кнопку \"Обновить\").';
alert(msg);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<img name="logo" src="http://javashelp.cjb.net/missing-logo.jpg" tppabs="http://javashelp.cjb.net/missing-logo.jpg" border=2 onError="imageError(this)" onAbort="imageError(this)"><br>
<font face="arial, helvetica" size="-2">( Рисунок отсутствует в принципе! Так сделано специально для примера!)</font>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img34

Спрятать - Показать рисунок

ИСПУГАТЬСЯ (показать) УСПОКОИТЬСЯ (спрятать)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE='JavaScript'><!--
dd=document
function showlr(L){
if(dd.layers)dd.layers[L].visibility='show'
else obg=dd.getElementById(L);obg.style.visibility='visible'}

function hidelr(L){
if(dd.layers)dd.layers[L].visibility='hide'
else obg=dd.getElementById(L);obg.style.visibility='hidden'}

//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="hidelr('test0')">
 <!---НЕ ОБЯЗАТЕЛЬНО--->

<DIV ID="test0" STYLE="position:absolute; left:50;
 top:100;color:lime;font-size:20pt;font-weight:bold">
<img src="mac.gif">
</DIV>

<A onmouseover="showlr('test0')"  style="cursor:hand" HREF="">ИСПУГАТЬСЯ (показать)</A>&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
<A onmouseover=hidelr('test0') style="cursor:hand" HREF="">УСПОКОИТЬСЯ (спрятать)</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок: mac.zip


Img38

Показать и Спрятать

Вместо рисунка можно поместить текст (см. 2-ю таблицу)

P.S. не для Netscape 4

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript><!--
dd=document;NS=(dd.layers)?1:0; IE=(dd.all)?1:0;DOM=(dd.getElementById)?1:0;
function setob(L){if (IE)obg=dd.all[''+L+''].style;
else if (DOM)obg=dd.getElementById(''+L+'').style;}

function dsh(L){if (!NS){setob(L);obg.display='block'}}
function dhd(L){if (!NS){setob(L);obg.display='none'}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<H1
style="FILTER: shadow(color:996633,direction=225,enabled:1); FONT-FAMILY: Times; COLOR:RED; FONT-SIZE: 40px; LINE-HEIGHT: 30px; WIDTH: 85%">&nbsp;Показать
и Спрятать<BR>&nbsp;</H1>
<FORM>
<TABLE cellPadding=1 cellSpacing=1>
<TBODY>
<TR>
<TD bgColor=#280000 vAlign=top>
<TABLE bgColor=#ffffff cellPadding=3 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD><INPUT class=but onclick="dsh('kuku')" type=button value=Показать></TD>
<TD>
<H2 id=kuku style="DISPLAY: none"><img src="mac.gif"></H2></TD>
<TD><INPUT class=but onclick="dhd('kuku')" type=button value=Спрятать></TD></TR></TBODY> </TABLE></TD></TR></TBODY></TABLE>
<BR>P.S. не для Netscape 4</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере: mac.zip


Img61

Суперслайдшоу
Это слайдшоу использует транзишн эффект № 23, то есть случайный (из предыдущих 23-х), описанный в разделе "Окно браузера" и предназначенный для эффектного открытия страниц. Тем не менее, этот эффект с успехом может быть применен для обычного (по-моему, уже штук пять их в этой библиотеке) слайдшоу - прокрутки рисунков, проще говоря... Рисунки должны быть одного размера. Количество неограничено. Чем больше, кстати, тем лучше. Время эффекта перехода (в секундах) выделено белым.... Что касается примера, то прошу прощения за малоинтересные картинки, но дополнительные рисунки значительно увеличивают размер файла библиотеки, а он и без того 3 Мгб в компилированном виде.

НАЗАД

ВПЕРЕД

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.1">

/*
DHTML slideshow script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var photos=new Array()
var photoslink=new Array()
var which=0

//define images. You can have as many as you want. Images MUST be of the same dimensions (for NS's sake)
photos[0]="cute.gif"
photos[1]="ballon2.gif"
photos[2]="ballon3.gif"
photos[3]="ballon4.gif"
photos[4]="butterfly.gif"

//Specify whether images should be linked or not (1=linked)
var linkornot=0

//Set corresponding URLs for above images. Define ONLY if variable linkornot equals "1"
photoslink[0]=""
photoslink[1]=""
photoslink[2]=""
photoslink[3]=""
photoslink[4]=""

//do NOT edit pass this line

var preloadedimages=new Array()
for (i=0;i<photos.length;i++){
preloadedimages[i]=new Image()
preloadedimages[i].src=photos[i]
}

function applyeffect(){
if (document.all){
photoslider.filters.revealTrans.Transition=Math.floor(Math.random()*23)
photoslider.filters.revealTrans.stop()
photoslider.filters.revealTrans.apply()
}
}

function playeffect(){
if (document.all)
photoslider.filters.revealTrans.play()
}

function keeptrack(){
window.status="Image "+(which+1)+" of "+photos.length
}

function backward(){
if (which>0){
which--
applyeffect()
document.images.photoslider.src=photos[which]
playeffect()
keeptrack()
}
}

function forward(){
if (which<photos.length-1){
which++
applyeffect()
document.images.photoslider.src=photos[which]
playeffect()
keeptrack()
}
}

function transport(){
window.location=photoslink[which]
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" colspan="2" height="22"><center>
<script>
if (linkornot==1)
document.write('<a href="javascript:transport()">')
document.write('<img src="'+photos[0]+'" name="photoslider" style="filter:revealTrans(duration=2,transition=23)" width=100 height=100 border=0>')
if (linkornot==1)
document.write('</a>')
</script>
</center></td>
</tr>
<tr>
<td width="50%" height="21"><p align="left"><a href="#" onClick="backward();return false">НАЗАД</a></td>
<td width="50%" height="21"><p align="right"><a href="#" onClick="forward();return false">ВПЕРЕД</a></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img49

Изменение порядка рисунков
Нажмите несколько раз Refresh и посмотрите как меняются местами рисунки.

Комментарии в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script>

/*
Images Order rotation script
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

var contents=new Array()

//ДОБАВЬТЕ РИСУНКОВ, ПРИ ЖЕЛАНИИ
contents[0]='<a href="http://www.dynamicdrive.com"><img src="fift1.gif" border=0></a>'
contents[1]='<a href="http://javashelp.cjb.net"><img src="fift2.gif" border=0></a>'
contents[2]='<a href="http://www.bignosebird.com"><img src="fift3.gif" border=0></a>'

// ЕСЛИ УБЕРЕТЕ БРЕЙКИ И ОСТАВИТЕ
 "    ", ТО РИСУНКИ СТАНУТ В ОДИН
 РЯД
var spacing="<br><br>"

var randomorder=new Array()
var the_one
var z=0
for (i=0;i<contents.length;i++)
randomorder[i]=i

while (z<contents.length){
the_one=Math.floor(Math.random()*contents.length)
if (contents[the_one]!="_selected!"){
document.write(contents[the_one]+spacing)
contents[the_one]="_selected!"
z++
}

}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img46

Предзагрузка рисунков 2-3

Требуется, когда необходимо иметь быстрый доступ к рисункам (например, в играх), которые не загружены из-за отсутствия их в данный момент на странице. В принципе, можно использовать и другой метод: пишется обычный тэг для рисунка (<img src="рисунок.gif" border=0 ...... и размеры назначаются 1х1, то есть..... ........ width=1 height=1>). Рисунок, таким образом не виден, но он загружен!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
Preload images script
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

var myimages=new Array()
function preloadimages(){
for (i=0;i<preloadimages.arguments.length;i++){
myimages[i]=new Image()
myimages[i].src=preloadimages.arguments[i]
}
}

//Введите адреса рисунков, которые должны быть предзагружены НЕОГРАНИЧЕННОЕ КОЛИЧЕСТВО
preloadimages("http://mydomain.com/первый.gif",
"http://mydomain.com/второй.gif",
"http://mydomain.com/третий.gif",
"..............................",
"http://mydomain.com/сотый.gif")

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img47

Предзагрузка рисунков (еще один способ....)

Довольно радикальный способ... Пример работы скрипта здесь Вы не увидите, так как все рисунки "влетели" бы мгновенно и положенного эффекта скрипт все равно не произвел. Смысл заключается в появлении почти пустой страницы с загрузочным баром по-середине, при этом в строке статуса идет количественный и процентный отсчет рисунков уже загруженных на страницу, которую, кстати, Вы еще не видите..... И не увидите, судя по всему, если не загрузится хотя бы один рисунок! Что сплошь и рядом! Выделенный желтым (в таблице) линк иногда просто начинает загрузку заново...! Так что, будьте по-аккуратнее с этим скриптом...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
<!-- begin hiding
// (C) 2000 Marcin P Wojtowicz [one_spook@hotmail.com]. All rights reserved.
// Obtain permission before selling/redistributing in any medium.

startingColor = new Array()
endingColor = new Array()

// YOU MAY MODIFY THE FOLLOWING:
var yourImages = new Array("http://abstract.simplenet.com/dd/status1.jpg",
"http://abstract.simplenet.com/dd/status2.jpg",
"http://abstract.simplenet.com/dd/status3.gif",
"http://abstract.simplenet.com/dd/status4.gif",
"http://abstract.simplenet.com/dd/back.jpg",
"http://abstract.simplenet.com/dd/pika.gif",
"http://abstract.simplenet.com/dd/pokemon.gif",
"http://abstract.simplenet.com/dd/brick.jpg",
"http://abstract.simplenet.com/dd/hot.gif") // РИСУНКИ, КОТОРЫЕ ОБЯЗАТЕЛЬНЫ К ЗАГРУЗКЕ
var locationAfterPreload = "http://www.wsabstract.com/script/script2/preloadimage2.shtml" //
       СЮДА ВЫ ПОПАДЕТЕ ЕСЛИ ВСЕ БУДЕТ ЗАГРУЖЕНО "УСПЕШНО"
var preloadbarWidth = 250 //  ДЛИНА ЗАГРУЗОЧНОГО БАРА (чем больше картинок,
      тем делайте длиннее)
var preloadbarHeight = 15
var backgroundOfGradient = "#000000" //  ЦВЕТ "ЗАПОЛНЯЮЩЕГОСЯ" ЗАГРУЗОЧНОГО БАРА

// Color the preloadbar is starting with - enter 1st, 3rd and 5th numbers/letters of color code
startingColor[0] = "c"
startingColor[1] = "f"
startingColor[2] = "f"

// Color the preloadbar is going to end up with - enter the 1st, 3rd and 5th numbers/letters of color code
endingColor[0] = "c"
endingColor[1] = "0"
endingColor[2] = "0"

var gap = 5 // ЕСЛИ ВОЗНИКНУТ ПРОБЛЕМЫ
      ПОМЕНЯЙТЕ НА ДРУГУЮ ЦИФРУ не ментше 2 !!!

// Дальше ничего не меняйте (и
      без того скрипт "нерусский"!)

if (!document.all) location.replace(locationAfterPreload)
var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, j, ones = new Array(), sixteens = new Array(), diff = new Array();
var convert = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), imgLen = yourImages.length;
var loaded = new Array(), preImages = new Array(), currCount = 0, pending = 0, h = 0, hilite = new Array(), cover = new Array();
var num = Math.floor(preloadbarWidth/gap);
for (i = 0; i < 3; i++) {
startingColor[i] = startingColor[i].toLowerCase();
endingColor[i] = endingColor[i].toLowerCase();
startingColor[i] = eval(startingColor[i]);
endingColor[i] = eval(endingColor[i]);
diff[i] = (endingColor[i]-startingColor[i])/num;
ones[i] = Math.floor(diff[i]);
sixteens[i] = Math.round((diff[i] - ones[i])*15);
}
endingColor[0] = 0;
endingColor[1] = 0;
endingColor[2] = 0;
i = 0, j = 0;
while (i <= num) {
hilite[i] = "#";
while (j < 3) {
hilite[i] += convert[startingColor[j]];
hilite[i] += convert[endingColor[j]];
startingColor[j] += ones[j];
endingColor[j] += sixteens[j];
if (endingColor[j] > 15) {
endingColor[j] -= 15;
startingColor[j]++;
}
j++;
}
j = 0;
i++;
}
function loadImages() {
for (i = 0; i < imgLen; i++) {
preImages[i] = new Image();
preImages[i].src = yourImages[i];
loaded[i] = 0;
cover[i] = Math.floor(num/imgLen)*(i+1)
}
cover[cover.length-1] += num%imgLen
checkLoad();
}
function checkLoad() {
if (pending) { changeto(); return }
if (currCount == imgLen) { location.replace(locationAfterPreload); return }
for (i = 0; i < imgLen; i++) {
if (!loaded[i] && preImages[i].complete) {
loaded[i] = 1; pending++; currCount++;
checkLoad();
return;
}
}
setTimeout("checkLoad()",10);
}
function changeto() {
if (h+1 > cover[currCount-1]) {
var percent = Math.round(100/imgLen)*currCount;
if (percent > 100) while (percent != 100) percent--;
if (currCount == imgLen && percent < 100) percent = 100;
defaultStatus = "Загружено " + currCount + " из " + imgLen + " рисунков [" + percent + "%].";
pending--;
checkLoad();
return;
}
eval("document.all.cell" + (h+1) + ".style.backgroundColor = hilite[h]");;
h++;
setTimeout("changeto()",1);
}
defaultStatus = "Загружено 0 из " + imgLen + " рисунков [0%]."
// end hiding -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<font face="Verdana, Arial, Helvetica" size="2"><center>Загрузка
 рисунков.... Подождите.</center>
<script language="JavaScript1.2">
<!-- beging hiding
document.write('<table border="0" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">');
for (i = 0; i < num; i++) {
document.write('<td width="' + gap + '" id="cell' + (i+1) + '"></td>');
}
document.write('</tr></table>');
document.write('<p><small><a href="javascript:location.replace(locationAfterPreload)">Пропустить
 загрузку!</a>
loadImages();
// end hiding -->
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img26

Пропорциональное изменение размеров рисунка
В зависимости от размеров окна браузера, в котором открывается документ.

Измените размер окна и нажмите кнопку REFRESH (ОБНОВИТЬ).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ed Churnside -->
<!-- Web Site:  http://www.dragonquest.com/inddpl.htm -->

<!-- Additional documention available online at -->
<!-- http://www.dragonquest.com/dplsspic.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function showpic(src, w, h, alt, aln, pw, ph, bw, bh) {
if (src == null) return;
var iw, ih; // Set inner width and height
if (window.innerWidth == null) {
iw = document.body.clientWidth;
ih=document.body.clientHeight;
}
else {
iw = window.innerWidth;
ih = window.innerHeight;
}
if (w == null) w = iw;
if(h == null)  h = ih;
if(alt == null) alt = "Толпа зевак";
if(aln == null) aln = "left";
if(pw == null) pw = 100;
if(ph == null) ph = 100;
if(bw == null) bw = 24;
if(bh == null) bh = 24;
var sw = Math.round((iw - bw) * pw / 100*0.95);
      //для небольшого изменения ширины
      рисунка
var sh = Math.round((ih - bh) * ph / 100*0.95);
      //для небольшого изменения высоты рисунка
if ((w * sh) / (h * sw) < 1) sw = Math.round(w * sh / h);
else sh = Math.round(h * sw / w);
document.write('<img src="'+src+'" alt="'+alt+'" width="'+sw+'" height="'+sh+'" align="'+aln+'">');
}
// End -->
</script>

<!--выделенные белым цветом цифры всегда должны быть равны между собой-->

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="javascript">
showpic("crowd.gif", 362, 113, "Толпа зевек", "middle");
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img28

Просмотр рисунков онлайн и оффлайн

Напечатайте адрес рисунка (начиная с http://),
который хотели бы увидеть, или выберите рисунок
на Вашем компьютере нажав кнопку "Обзор..."

Впишите желаемые размеры рисунка:
Высота: Ширина:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Ronnie T. Moore -->
<!-- Web Site:  The JavaScript Source -->

<!-- Begin
function ViewImage(form) {
ix = form.width.value;
iy = form.height.value;
ifile = form.url.value;
NS = (document.layers) ? 1 : 0;
localurl = ifile.indexOf('http://') == -1;
if (NS && localurl) ifile = "file:///" + ifile;
var win;
var sWidth;
var sHeight;
win = window.open("","","width="+ix+", height="+iy+", menubar=no,toolbar=no,top=100,left=100");
if (NS) {
sWidth = win.innerWidth;
sHeight = win.innerHeight;
} else {
sWidth = win.document.body.clientWidth;
sHeight = win.document.body.clientHeight;
}
win.document.open();
win.document.write("<html><head> </head><body>");
win.document.write('<div style="position:absolute;width:'+ix+'px;
      height:'+iy+'px;left:0px;top:0px">');
win.document.write("<img src=\""+ifile+"\" width=" + ix + " height=" + iy + "></div></body></html>");
win.document.close();
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=imageform>
<input name=url type=file size=40>
<br> Впишите желаемые размеры рисунка:<br>
Высота: <input name=height type=text value="200" size=3>
Ширина: <input name=width type=text value="150" size=3>
<p>
<input type=button value="Посмотреть" onClick="ViewImage(this.form);">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img31

Просмотр больших рисунков в POP-UP
Предназначен для сокращения времени загрузки страницы. Так как уменьшенная и увеличенная фотографии являются разными рисунками, то при загрузке, соответственно, меньше времени отнимет меньшая. Если же посетителю понравится снимок, он сможет посмотреть его "увеличенным" в то время как увеличенным тот являться не будет, а будет попросту другим, большим по размеру рисунком.

или
Посмотреть дом

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Anders Jennerberg (anders@katedral.se) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function ViewImage(ifile,ix,iy,ititle) {
var win;
var sWidth;
var sHeight;
var NS = (document.layers) ? 1 : 0;
win = window.open("","imageviewer","width="+ix+",height="+iy+",menubar=no,toolbar=no");
if (NS) {
sWidth = win.innerWidth;
sHeight = win.innerHeight;
} else {
sWidth = win.document.body.clientWidth;
sHeight = win.document.body.clientHeight;
}
if(sWidth!=ix || sHeight!=iy) {
win.close();
setTimeout("ViewImage('"+ifile+"',"+ix+","+iy+",'"+ititle+"')", 250);
return;
}
win.document.open();
win.document.write("<html><head><title>"+ititle+"</title>");
win.document.write("</head><body>");
win.document.write('<div style="position:absolute;width:'+ix+'px;height:'+iy+'px;left:0px;top:0px">');
win.document.write("<img src="+ifile+"></div></body></html>");
win.document.close();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:ViewImage('apartment-large.jpg',576,303,'An Apartment')"><img src="apartment-small.jpg" width=144 height=76 border=1></a>
<br>
или
<br>
<a href="javascript:ViewImage('apartment-large.jpg',576,303,'An Apartment')">Посмотреть дом</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки используйте свои. Или скопируйте эти... Один со страницы, другой из POP-UP.


Img45

Просмотр рисунка для фона в POP-UP окне
Внимание! В некоторых случаях (касается только IE) может не открыться окно. Или, что более вероятно, в открывшемся окне не будет никакого рисунка фона. В первом случае ничего, кроме попытки повторить запуск, посоветовать нельзя. Что же касается отсутствия фонового рисунка в новом окне, то впишите не просто имя файла рисунка (выделен желтым), а полный его адрес http://...и т.д.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*By George Chiang (WA JavaScript site www.abstract.simplenet.com)
Credit must stay intact for use*/
function tile(bgname){
win2=window.open("","","width=380,height=380")
if (win2){
win2.focus()
win2.document.open()
win2.document.write("<head><title>"+bgname+"</title></head>")
win2.document.write("<body background="+'"'+bgname+'"'+">")
win2.document.write("</body>")
win2.document.close()
}
else
alert("Невозможно открыть новое окно! Повторите попытку.")
}
//-->
</script>
<a href="test.htm"
onclick="tile('backgr10.gif');return false"><img
src="backgr10.gif" border="0" width="80"
height="80"></a>
<a href="test.htm"
onclick="tile('backgr11.gif');return false"><img
src="backgr11.gif" border="0" width="128"
height="128"></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img32

Перемещаемый с клавиатуры рисунок
Перемещается по горизонтали используя клавиши Ф и В (A и D) клавиатуры. Рисунок можно использовать любой (выделен желтым в таблице).

Кликните по странице для переноса фокуса на нее. При переключении страниц в файле справки, активным остается левое окно с папками.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Massimo Giari (motore@iol.it) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
n = (document.layers) ? 1 : 0;
ie = (document.all) ? 1 : 0;
function moveImage() {
if (n) {
block = document.blockDiv;
}
if (ie) {
block = blockDiv.style;
}
block.xpos = parseInt(block.left);
block.active = 0;
document.onkeydown = keyDown;
document.onkeyup = keyUp;
if (n) {
document.captureEvents(Event.keydown | Event.keyup);
}
}
function keyDown(e) {
if (n) {
var nKey = e.which;
var ieKey = 0;
}
if (ie) {
var ieKey = event.keyCode;
var nKey = 0;
}
if ((nKey == 97 || ieKey == 65) && !block.active) {
block.active = 1;
slideLeft();
}
if ((nKey == 100 || ieKey == 68) && !block.active) {
block.active = 1;
slideRight();
}
}
function keyUp(e) {
if (n) {
var nKey = e.which;
var ieKey = 0;
}
if (ie) {
var ieKey = event.keyCode;
var nKey = 0;
}
if ((nKey == 97 || ieKey == 65 || nKey == 100 || ieKey == 68))
block.active = 0;
}
function slideRight() {
if (block.active) {
block.xpos += 5;
block.left = block.xpos;
status = block.xpos;
setTimeout("slideRight()", 25);
}
}
function slideLeft() {
if (block.active) {
block.xpos -= 5;
block.left = block.xpos;
status = block.xpos;
setTimeout("slideLeft()", 25);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="moveImage()">

<div id="blockDiv" STYLE="position:absolute; left:125px; top:130px; width:137px; height: 121px">
<img src="korabl.gif" width="115" height="63"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Img21

Управляющие рисунки
Придумайте сами как применить этот скрипт. При наведении мыши на верхний рисунок, центральный заменяется последовательным набором рисунков (от 1 до 6, можно больше) и остается замененным на последний из набора рисунок (при этом OnMouseOut команда в случае верхнего рисунка отсутствует), а при наведении мыши на нижний рисунок, в центре все приводится к первоначальному виду ( OnMouseOut команда в случае нижнего рисунка отсутствует также). Судя по названиям фукций и названиям файлов рисунков, скрипт предназначен для выполнения эффекта затемнения чего-то чем-то...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var maximages = 6; // how many fade images do you have?
var fadespeed = 125; // fade frame time in milliseconds; 125 = 125 ms

var fadeintimer;
var fadeouttimer;
var fadeincount = 0;
var fadeoutcount = maximages-1;
var fadearray = new Array(maximages); // enter all the fade images here
// the first item should be 0, then numbered through 1 less than your maximages

fadearray[0] = "fift1.gif";
fadearray[1] = "fift2.gif";
fadearray[2] = "fift3.gif";
fadearray[3] = "fift4.gif";
fadearray[4] = "fift5.gif";
fadearray[5] = "fift6.gif";

for (var i = 0; i < maximages; i++) {
eval('pic' + i + ' = new Image();');
eval('pic' + i + '.src = fadearray[i];'); // preloads fade images
}
function fade_in() {
clearTimeout(fadeouttimer);
document.images['fade-pic'].src = fadearray[fadeincount];
if (fadeincount != maximages-1) {
fadeincount++;
fadeintimer = setTimeout('fade_in()', fadespeed);
}
else {
clearTimeout(fadeintimer);
fadeincount = 0;
}
}
function fade_out() {
clearTimeout(fadeintimer);
document.images['fade-pic'].src = fadearray[fadeoutcount];
if (fadeoutcount != 0) {
fadeoutcount--;
fadeouttimer = setTimeout('fade_out()', fadespeed);
}
else {
clearTimeout(fadeouttimer);
fadeoutcount = maximages-1;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<a href="another.htm" onmouseover="fade_in()">
<img src="fift7.gif" border=0></a><br>
<img name="fade-pic" height=56 width=300 border=0 src="fift1.gif"><br>
<a href="another.htm" onmouseover="fade_out()"><img src="fift8.gif" border=0><br></a>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip


Img40

Мозаичные шторки для смены рисунка
Картинки возьмите любые. Лучше, если они будут одного размера. Каждая картинка - это линк. Адреса выделены голубым.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">

.imgsstyle {
position:absolute;
left:-2000px;
}
A {
color:FF0000;
}
</STYLE>

<SCRIPT LANGUAGE="JavaScript">
<!-- Beginning of JavaScript -

// ИМЕНА ФАЙЛОВ РИСУНКОВ
var imgsname = new Array()
imgsname[0]="backpic1253.jpg"
imgsname[1]="backpic2253.jpg"
imgsname[2]="backpic3253.jpg"

// the links for each image
var imgsurl = new Array()
imgsurl[0]="http://www.yahoo.com"
imgsurl[1]="http://www.altavista.com"
imgsurl[2]="http://www.excite.com"

// Configure the distance to the left and top margin of the window (pixels)
var imgstop=120
      // ПОЛОЖЕНИЕ НА СТРАНИЦЕ
var imgsleft=70

// Configure the speed of the transition effect. less means faster
var pause=80

// Configure the standstill-time of the images (seconds)
var standstill=1500

// Do not change the variables below this line
var imgpreload=new Array()
for (i=0;i<=imgsname.length-1;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=imgsname[i]
}
var coverimage = new Array()
coverimage[0]="imgtranspoint0.gif"
coverimage[1]="imgtranspoint1.gif"
coverimage[2]="imgtranspoint2.gif"
coverimage[3]="imgtranspoint3.gif"
coverimage[4]="imgtranspoint4.gif"
coverimage[5]="imgtranspoint5.gif"
coverimage[6]="imgtranspoint6.gif"
coverimage[7]="imgtranspoint7.gif"
coverimage[8]="imgtranspoint8.gif"
var covimgpreload=new Array()
for (i=0;i<=coverimage.length-1;i++) {
covimgpreload[i]=new Image()
covimgpreload[i].src=coverimage[i]
}
var i_imgs=0
var i_loop=0
var thisurl=0
var timer
stamdstill=standstill*1000

function init() {
if (document.all) {
document.all.imgs.style.posTop=imgstop
document.all.imgs.style.posLeft=imgsleft
document.all.cover.style.posTop=imgstop
document.all.cover.style.posLeft=imgsleft
enlargehearts()
}

if (document.layers) {
document.imgs.top=imgstop
document.imgs.left=imgsleft
document.cover.top=imgstop
document.cover.left=imgsleft
enlargehearts()
}
}

function enlargehearts() {
if (i_loop<=coverimage.length-1) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop++
timer= setTimeout("enlargehearts()",pause)
}
else {
clearTimeout(timer)
i_loop--
timer= setTimeout("shrinkhearts()",standstill)
}
}

function shrinkhearts() {
if (i_loop>=0) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop--
timer= setTimeout("shrinkhearts()",pause)
}
else {
clearTimeout(timer)
i_loop=0
i_imgs++

if (i_imgs>=imgsname.length) {i_imgs=0}
if (document.all) {
imgsback.src=imgsname[i_imgs]
}
if (document.layers) {
document.imgs.document.imgsback.src=imgsname[i_imgs]
}
timer= setTimeout("enlargehearts()",(4*pause))
}
}

function gotourl() {
document.location.href=imgsurl[i_imgs]
}

// - End of JavaScript - -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="init()">

<DIV ID="imgs" class="imgsstyle"><img width=163 height=163 name="imgsback" src="backpic1253.jpg" border="0" target="_blank"></DIV>

<DIV ID="cover" class="imgsstyle"><a href="javascript:gotourl()">
 <img width=163 height=163 name="imgcover" src="imgtranspoint0.gif" border="0" target="_blank"></a></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.
Рисунки,использованные в примере: mozaika.zip


Img41

Угловые шторки для смены рисунка
Картинки возьмите любые. Лучше, если они будут одного размера. Каждая картинка - это линк. Адреса выделены голубым.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">

.imgsstyle {
position:absolute;
left:-2000px;
}
A {
color:FF0000;
}
</STYLE>

<SCRIPT LANGUAGE="JavaScript">
<!--

// ИМЕНА ФАЙЛОВ РИСУНКОВ
var imgsname = new Array()
imgsname[0]="backpic184.jpg"
imgsname[1]="backpic284.jpg"
imgsname[2]="backpic384.jpg"

// the links for each image
var imgsurl = new Array()
imgsurl[0]="http://www.yahoo.com"
imgsurl[1]="http://www.altavista.com"
imgsurl[2]="http://www.excite.com"

// Configure the distance to the left and top margin of the window (pixels)
var imgstop=150
      // ПОЛОЖЕНИЕ НА СТРАНИЦЕ
var imgsleft=100

// Configure the speed of the transition effect. less means faster
var pause=80

// Configure the standstill-time of the images (seconds)
var standstill=1500

// Do not change the variables below this line
var imgpreload=new Array()
for (i=0;i<=imgsname.length-1;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=imgsname[i]
}
var coverimage = new Array()
coverimage[0]="imgtranscorner10.gif"
coverimage[1]="imgtranscorner9.gif"
coverimage[2]="imgtranscorner8.gif"
coverimage[3]="imgtranscorner7.gif"
coverimage[4]="imgtranscorner6.gif"
coverimage[5]="imgtranscorner5.gif"
coverimage[6]="imgtranscorner4.gif"
coverimage[7]="imgtranscorner3.gif"
coverimage[8]="imgtranscorner2.gif"
coverimage[9]="imgtranscorner1.gif"
coverimage[10]="imgtranscorner0.gif"
var covimgpreload=new Array()
for (i=0;i<=coverimage.length-1;i++) {
covimgpreload[i]=new Image()
covimgpreload[i].src=coverimage[i]
}
var i_imgs=0
var i_loop=0
var thisurl=0
var timer
stamdstill=standstill*1000

function init() {
if (document.all) {
document.all.imgs.style.posTop=imgstop
document.all.imgs.style.posLeft=imgsleft
document.all.cover.style.posTop=imgstop
document.all.cover.style.posLeft=imgsleft
enlargehearts()
}

if (document.layers) {
document.imgs.top=imgstop
document.imgs.left=imgsleft
document.cover.top=imgstop
document.cover.left=imgsleft
enlargehearts()
}
}

function enlargehearts() {
if (i_loop<=coverimage.length-1) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop++
timer= setTimeout("enlargehearts()",pause)
}
else {
clearTimeout(timer)
i_loop--
timer= setTimeout("shrinkhearts()",standstill)
}
}

function shrinkhearts() {
if (i_loop>=0) {
if (document.all) {
imgcover.src=coverimage[i_loop]
}
if (document.layers) {
document.cover.document.imgcover.src=coverimage[i_loop]
}
i_loop--
timer= setTimeout("shrinkhearts()",pause)
}
else {
clearTimeout(timer)
i_loop=0
i_imgs++

if (i_imgs>=imgsname.length) {i_imgs=0}
if (document.all) {
imgsback.src=imgsname[i_imgs]
}
if (document.layers) {
document.imgs.document.imgsback.src=imgsname[i_imgs]
}
timer= setTimeout("enlargehearts()",(4*pause))
}
}

function gotourl() {
document.location.href=imgsurl[i_imgs]
}

// - End of JavaScript - -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="init()">

<DIV ID="imgs" class="imgsstyle"><img width=163 height=163 name="imgsback"
 src="backpic184.jpg" border="0" target="_blank"></DIV>

<DIV ID="cover" class="imgsstyle"><a href="javascript:gotourl()">
 <img width=163 height=163 name="imgcover" src="imgtranscorner0.gif" border="0" target="_blank"></a></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.
Рисунки,использованные в примере: shtorki.zip


scroll24

Бегунок за курсором
"Бегунок" "отцепится" после определенного Вами времени (выделено белым) или после двойного клика.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body style="width:100%;overflow-x:hidden;overflow-y:scroll">

<SCRIPT language="JavaScript1.2">
<!--

/*
Cursor scroller script- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

var scroller_msg='На мели мы налима лениво ловили и меняли налима мы на линя; о любви так мило меня вы молили и в туманы лимана манили меня... Моя версия...!'

var dismissafter=0 //    ЕСЛИ
 СТОИТ 0, ТО РАБОТАЕТ ТОЛЬКО ДВОЙНОЙ КЛИК (время
 в секундах)

var initialvisible=0
if (document.all)
document.write('<marquee id="curscroll" style="position:absolute;width:200px;height:25;border:1px solid black;font-family:helvetica;font-size:16px;background-color:lightyellow;visibility:hidden">'+scroller_msg+'</marquee>')

function followcursor(){
//move cursor function for IE

if (initialvisible==0){
curscroll.style.visibility="visible"
initialvisible=1
}

curscroll.style.left=document.body.scrollLeft+event.clientX+10
curscroll.style.top=document.body.scrollTop+event.clientY+10
}

function dismissmessage(){
curscroll.style.visibility="hidden"
}

if (document.all){
document.onmousemove=followcursor
document.ondblclick=dismissmessage
if (dismissafter!=0)
setTimeout("dismissmessage()",dismissafter*1000)
}

//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll23

Бегущий "флэшик"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">
<!--

/*
Typing Scroller
Submitted by bengaliboy00@hotmail.com (hp: http://www.angelfire.com/nt/bengaliboy/)
With modifications by Dynamicdrive.com
For full source code, usage terms, and 100s more scripts, visit http://dynamicdrive.com
*/

//Secify scroller contents
var line=new Array()
line[1]="Очень симпатичный скроллер!"
line[2]="Напечатает все, что захотите..."
line[3]="Одна буква за раз."
line[4]="Добавьте сколько угодно строк!"
line[5]="Очень легок в использовании!"

//Specify font size for scoller
var ts_fontsize="16px"

//--Don't edit below this line

var longestmessage=1
for (i=2;i<line.length;i++){
if (line[i].length>line[longestmessage].length)
longestmessage=i
}

//Auto set scroller width
var tscroller_width=line[longestmessage].length

lines=line.length-1 //--Number of lines

//if IE 4+ or NS6
if (document.all||document.getElementById){
document.write('<form name="bannerform">')
document.write('<input type="text" name="banner" size="'+tscroller_width+'"')
document.write(' style="background-color: '+document.bgColor+'; color: '+document.body.text+'; font-family: verdana; font-size: '+ts_fontsize+'; font-weight:bold; border: medium none" onfocus="blur()">')
document.write('</form>')
}

temp=""
nextchar=-1;
nextline=1;
cursor="\\"
function animate(){
if (temp==line[nextline] & temp.length==line[nextline].length & nextline!=lines){
nextline++;
nextchar=-1;
document.bannerform.banner.value=temp;
temp="";
setTimeout("nextstep()",1000)}
else if (nextline==lines & temp==line[nextline] & temp.length==line[nextline].length){
nextline=1;
nextchar=-1;
document.bannerform.banner.value=temp;
temp="";
setTimeout("nextstep()",1000)}
else{
nextstep()}}

function nextstep(){

if (cursor=="\\"){
cursor="|"}
else if (cursor=="|"){
cursor="/"}
else if (cursor=="/"){
cursor="-"}
else if (cursor=="-"){
cursor="\\"}

nextchar++;
temp+=line[nextline].charAt(nextchar);
document.bannerform.banner.value=temp+cursor
setTimeout("animate()",25)}

//if IE 4+ or NS6
if (document.all||document.getElementById)
window.onload=animate
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll20

Бокс с затемняющимся "перелистыванием"

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<script language="JavaScript1.2">

/*
Fading Scroller- By DynamicDrive.com
For full source code, 100's more DHTML scripts, and TOS,
visit http://www.dynamicdrive.com
*/

var delay=3000 //set delay between message change (in miliseconds)
var fcontent=new Array()
begintag='<font face="Arial" size=2>' //set opening tag, such as font declarations
fcontent[0]="<b>ПЕРВОЕ</b> <br>важное<br>сообщение.<br>"
fcontent[1]="ВТОРОЕ важное или не очень сообщение.<br><br><br>Можно через брэйки."
fcontent[2]="Сообщений может быть бесконечное количество. Главное правильно сконфигурировать скрипт"
closetag='</font>'

var fwidth=150 // РАЗМЕРЫ БОКСА
var fheight=150

///No need to edit below this line/////////////////

var ie4=document.all&&!document.getElementById
var ns4=document.layers
var DOM2=document.getElementById
var faderdelay=0
var index=0

if (DOM2)
faderdelay=2000

//function to change content
function changecontent(){
if (index>=fcontent.length)
index=0
if (DOM2){
document.getElementById("fscroller").style.color= "rgb(255,255,255)"
document.getElementById("fscroller"). innerHTML=begintag+fcontent[index]+closetag
colorfade()
}
else if (ie4)
document.all.fscroller.innerHTML= begintag+fcontent[index]+closetag
else if (ns4){
document.fscrollerns.document.  fscrollerns_sub.document. write(begintag+fcontent[index]+closetag)
document.fscrollerns. document.fscrollerns_sub.document.close()
}

index++
setTimeout("changecontent()",delay+faderdelay)
}

// colorfade() partially by Marcio Galli for Netscape Communications.  ////////////
// Modified by Dynamicdrive.com

frame=20;
hex=255  // Initial color value.

function colorfade() {
// 20 frames fading process
if(frame>0) {
hex-=12; // increase color value
document.getElementById("fscroller").style.color= "rgb("+hex+","+hex+","+hex+")"; // Set color value.
frame--;
setTimeout("colorfade()",20);
}
else{
document.getElementById("fscroller").style.color= "rgb(0,0,0)";
frame=20;
hex=255
}
}
//    ЦВЕТ ФОНА БОКСА
if (ie4||DOM2)
document.write('<div id="fscroller" style="background:white;border:1px solid black;width:'+fwidth+';height:'+fheight+';
 padding:2px"></div>')

window.onload=changecontent
</script>

<ilayer id="fscrollerns" width=&{fwidth}; height=&{fheight};><layer id="fscrollerns_sub" width=&{fwidth}; height=&{fheight}; left=0 top=0></layer></ilayer>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc 4

Вертикальный скроллинг
( без формы, со ссылками )

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV>
<span style="position: absolute; left: 10; top: 40">
<script language="JavaScript1.2">
//Specify the marquee's width (in pixels)
var marqueewidth=100
//Specify the marquee's height
var marqueeheight=100
//Specify the marquee's scroll speed (larger is faster)
var speed=2
//Specify the marquee contents
var marqueecontents='<font face="Arial" color=white size=2>Если
       очень захотите, то можете отправить мне
       свои<a href="mailto: eugenezz@yandex.ru"><b> ПОЖЕЛАНИЯ ИЛИ
       ВОЗМУЩЕНИЯ</b></a> В любом случае не
       забывайте иногда заходить на <a href="http:javashelp.cjb.net"><b>
       МОЮ
       СТРАНИЧКУ.</b> Каждая новая версия
       Библиотеки будет иметь шаг в 100 скриптов!
       </a></font>'
if (document.all)
document.write('<marquee direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+marqueecontents+'</marquee>')
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}
function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.height
scrollit()
}
function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marqueeheight
scrollit()
}
}
window.onload=regenerate2
</script>
<ilayer width=&{marqueewidth}; height=&{marqueeheight}; name="cmarquee01">
<layer name="cmarquee02" width=&{marqueewidth}; height=&{marqueeheight};></layer>
</ilayer>
</span>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc 5

Вертикальный скроллер
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Dion (dion42@hotmail.com) -->
<!-- Begin
function selectScroller(n) {
optlist = document.scrollform.scroller;
optlist[optlist.length] = new Option(optlist[0].text, "", false, false);
optlist[0] = null;
optlist.selectedIndex = -1;
n = (n + 1) % optlist.length;
// Ниже Вы можете
      изменить скорость прокрутки из расчета: 1000 = 1
      секунда.
setTimeout("selectScroller("+n+")",2000);
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="selectScroller(0)">

<p align="center">
<center>
<form name="scrollform">
<select name="scroller" size=8>
<option>
<option>
<option>
<option>
<option>
<option>
<option>
<option>Этот скрипт работает при-
<option>мерно таким образом. Верх-
<option>няя линия копируется вниз
<option>и потом удаляется. Это дви-
<option>гает все линии вверх на
<option>один шаг, равный одной
<option>линии. Внешне создается
<option>эффект скроллинга.
<option>
<option>
<option>Вы можете оставить сво-
<option>бодными столько линий,
<option>сколько посчитаете необ-
<option>ходимым для создания впе-
<option>чатления начала и оконча-
<option>ния Вашего сообщения.
<option>
<option>
<option>Этот скрипт создан специ-
<option>ально для тех, кто коллекци-
<option>онирует скроллеры, а также для
<option>тех, у кого старые браузеры -
<option>этот скрипт будет работать в
<option>любом браузере!
<option>
<option>
</select>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT14

Затемняющийся текст
(без формы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style TYPE="text/css">
<!--
.TextScrollStyle {
visibility:hidden;
font-family:Verdana;
font-weight:bold;
text-align:center;
padding:0;
margin:0;
width:100%;
overflow:hidden;
}

-->
</style>
<script language="JavaScript1.2">

/*
Dynamic Fader Script (updated: 00/08/05)
Created and submitted by Nicholas Poh (hwinmain@yahoo.com) to
Dynamicdrive.com
*/

//1) Configure messages:
var TS_message = new Array();
TS_message[0] = '<div align="left">Привет!</div>';
TS_message[1] = '<div align="left">Ну как Вам?... Нравится?</div>';
TS_message[2] = '<div align="left">Отсюда можно сделать ссылку <A HREF="home.htm">эта, например...</A></div>';
TS_message[3] = '<div align="left">можно добавить еще 1000000 сообщений</div>';
TS_message[4] = '<div align="left">можно изменить цвет фона, на котором эти сообщения возникают</div>';
TS_message[5] = '<div align="left">можно изменить направление скроллинга: вверх или вниз</div>';
TS_message[6] = '<div align="left">меняются и паузы между сообщениями</div>';

var TS_scrollwidth=400 //настройка затемнения
var TS_colorFG = 0x000000; // Цвет текста
var TS_colorBG = 0xC0C0C0; //Цвет фона
var TS_ymax = 50; // Мах количество сообщений
var TS_ystep = 1; // 1 или -1 (Направление скроллинга)
var TS_speed = 2; // Скорость скроллинга (меньше - быстрее)
var TS_pause = 100; // Пауза между сообщениями (в милисекундах)
var TS_fadestep= 20; // Шаг затемнения-осветления

if (document.all)

document.write('<style>#containerarea {width:'+TS_scrollwidth+'}</style>')
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <DIV id="containerarea" style="width: 257; height: 21">
<h5>
<SCRIPT LANGUAGE="JavaScript1.2">
// Dynamic Text Fader (1.20)
// (Updated on 6/7/2000)
// Script created by Nicholas Poh Tze Siang aka Programatix Copyright (c) 1999-2000
// (hwinmain@yahoo.com)
//Modified and Featured on http://www.dynamicdrive.com

// Create a hex convertor array (Dex2Hex[])
var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
var value=0;
var Dec2Hex=new Array();
for (x=0; x<16; x++){
for (y=0; y<16; y++){
Dec2Hex[value]= hexbase[x] + hexbase[y];
value++;
}
}

// Convert RGB colour to string base
function RGB2STR(rgbcolor)
{
return Dec2Hex[rgbcolor>>16] + Dec2Hex[(rgbcolor>>8)&0xFF] + Dec2Hex[rgbcolor&0xFF];
}

// Check the following variables to see if they exist. If not use default value
if (String(TS_colorFG)=="undefined") var TS_colorFG = 0x0000FF;	// Text color
if (String(TS_colorBG)=="undefined") var TS_colorBG = 0xFFFFFF;	// Background color
if (String(TS_ymax)   =="undefined") var TS_ymax    = 50;		// How many pixel to move
if (String(TS_ystep)  =="undefined") var TS_ystep   = 1;		// 1 or -1 only (Scroll direction)
if (String(TS_speed)  =="undefined") var TS_speed   = 2;		// The smaller the faster
if (String(TS_pause)  =="undefined") var TS_pause   = 600;		// Pause time(milisecond) between messages
if (String(TS_fadestep)=="undefined") {
var TS_fadestep = TS_ymax>>1;
} else {
if (TS_fadestep > (TS_ymax>>1)) TS_fadestep = TS_ymax>>1;
}

// check if user defined messages exist
if (String(TS_message)=="undefined") {
// use the default messages
var TS_message = new Array();
TS_message[0] = 'Dynamic Text Fader 1.20';
TS_message[1] = 'Code by Nicholas Poh Tze Siang aka Programatix';
TS_message[2] = 'You can insert any HTML tag into the messages';
TS_message[3] = 'Code downloaded from <A HREF="http://dynamicdrive.com">
 dynamicdrive.com</A>';
}

var TS_ypos    = 0;
var TS_yposOrg = 0;
var TS_color   = TS_colorBG;
var TS_curMsg  = 0;

// Calculate the difference between background and foreground color
var half_TS_ymax = (TS_ymax)>>1
var dfRed   = -((TS_colorBG>>16) - (TS_colorFG>>16)) / TS_fadestep;
var dfGreen = -(((TS_colorBG>>8)&0xFF) - ((TS_colorFG>>8)&0xFF)) / TS_fadestep;
var dfBlue  = -((TS_colorBG&0xFF) - (TS_colorFG&0xFF)) / TS_fadestep;
var TS_opColor  = (dfRed<<16) + (dfGreen<<8) + (dfBlue);

var timer;
var TS;

function UnloadMe()
{
clearTimeout(timer);
}

var isReadForNextText = 0;
var isChangeText = 0;

function ScrollText(currentstate)
{

TS_ypos += TS_ystep;

// Ready to change text?
if (TS_ypos >= TS_ymax || TS_ypos <= 0)
isChangeText = 1;
else
isChangeText = 0;

// Need to set the timer first so that it will go smoothly
if (isChangeText) {
if (TS_pause < TS_speed)
timer = setTimeout('ScrollText(0)', TS_speed);
else
timer = setTimeout('ScrollText(1)', TS_pause);
} else
timer = setTimeout('ScrollText(0)', TS_speed);

// Change text
if (isReadForNextText) {
// For IE only
TextScroll.innerHTML = TS_message[TS_curMsg];
isReadForNextText = 0;
}

// Change the color of the text
if (document.all) {
// IE
TS.paddingTop = TS_ypos;
TS.color = TS_color;
} else if (document.layers) {
// Netscape
TS.top = TS_ypos + TS_yposOrg;

// Clip the text
var calc = (TS.top-TS_yposOrg) + TS.document.height - 20
if (calc > TS_ymax) {
TS.clip.bottom=(TS.document.height) - (calc-TS_ymax);
} else {
TS.clip.bottom=TS.document.height;
}

// Display the text
text  = '<SPAN CLASS="TextScrollStyle">' +
'<FONT COLOR='+TS_colorFG+'>' +
TS_message[TS_curMsg] +
'</FONT></SPAN>';
TS.backgroundColor = TS_colorBG;
TS.backgroundColor = 'black';
if (currentstate==1){
TS.document.write(text);
TS.document.close();
}
}
if (TS_ypos < TS_fadestep || (TS_ymax - TS_ypos) < TS_fadestep) {
TS_color += TS_opColor;
}

// Check to see if in the middle, if so, change colour direction
if (TS_ypos == half_TS_ymax) TS_opColor *= -1;

// Prepare for next text please
if (isChangeText) {
TS_color = TS_colorBG;
TS_opColor *= -1;

if (TS_ystep > 0) {
TS_ypos = 0;
} else {
TS_ypos = TS_ymax;
}

if (++TS_curMsg > TS_message.length-1) {
TS_curMsg = 0;
}

// Change text
if (document.all) {
// IE
TextScroll.innerHTML = " ";
TS.paddingTop = TS_ypos;
isReadForNextText = 1;
} else if (document.layers) {
TS.document.write('');
TS.document.close();
TS.top = TS_ypos + TS_yposOrg;
}
}
}

function startani(){
if (document.layers)
document.TextScroll.visibility="show"
timer = setTimeout('ScrollText()', 1000)
}

function ScrollTextDisplay()
{
var navName=navigator.appName;
var navVer=parseInt(navigator.appVersion)
var fNetscape = 0;

if (! ((navName=="Netscape" && navVer>=4) || (navName=="Microsoft Internet Explorer" && navVer>=4)) ) {
return;
}
if (navName=="Microsoft Internet Explorer") {
TS_speed = 20 + TS_speed;
} else if (navName=="Netscape") {
fNetscape=1;
}

document.write('<ILAYER NAME="TextScroll" CLASS="TextScrollStyle" WIDTH="'+TS_scrollwidth+'" HEIGHT=' + (TS_ymax+20) + ' BGCOLOR=' + RGB2STR(TS_colorBG) + ' VISIBILITY="hide">');
document.write('<LAYER NAME="Content" WIDTH="'+TS_scrollwidth+'">');
document.write('<SPAN ID="TextScroll" CLASS="TextScrollStyle">');
if (fNetscape) document.write('<FONT COLOR='+TS_colorFG+'>');
document.write(TS_message[0]);
if (fNetscape) document.write('</FONT>');
document.write('</SPAN>');
document.write('</LAYER>');
document.write('</ILAYER>');

if (TS_ystep > 0) {
TS_ypos = 0;
} else {
TS_ypos = TS_ymax;
}

if (document.all) {
// IE
TS = TextScroll.style;
} else if (document.layers) {
// Netscape
TS = document.TextScroll.document.Content;
TS_yposOrg = TS.top;
}
TS.height = TS_ymax+20;
TS.color = TS_color;
TS.visibility = "visible";
TS.backgroundColor = TS_colorBG;

window.onload=startani
window.onunload=UnloadMe;
}

ScrollTextDisplay()
</SCRIPT>
</h5>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделены величины для определения размера шрифта. Остальные комментарии по настройке смотрите в верхней таблице.


scroll15

Вертикальный скроллинг со Стоп/Старт линками

Дареному провайде- ру в канал не смотрят.

Лучше синица в руках, чем утка под кроватью.

Что посеешь, то уже не найдешь.

Не рой другому яму сам.

Каждой твари - по паре (еванг. от Преподователя)

Старт | Стоп

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center"><!--webbot bot="HTMLMarkup" startspan -->
<marquee id="scroller" scrollAmount=5 direction=up width=150 height=150 style="background-color:lightyellow;border:1px solid black">
<font face="Arial"><small>
<p align=justify><img src="dot-1.gif"> Дареному провайде- ру в канал не смотрят.
<p align=justify><img src="dot-1.gif"> Лучше синица в руках, чем утка под кроватью.
<p align=justify><img src="dot-1.gif"> Что посеешь, то уже не найдешь.
<p align=justify><img src="dot-1.gif"> Не рой другому яму сам.
<p align=justify><img src="dot-1.gif"> Каждой твари - по паре (еванг. от Преподователя)
</small></font></marquee><br>
<b><a href="javascript:scroller.start()">Старт</a> | <a href="javascript:scroller.stop()">Стоп</a></b>
<script language="JavaScript1.2">
/*
Up down scrolling marquee
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

if (document.all)
scroller.stop()
</script><!--webbot bot="HTMLMarkup"
endspan --></P>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll11

Вертикальный скроллер с рисунками и линками
Для работы скрипта необходим любой прозрачный GIF с названием файла blank.gif

Этот вертикальный скроллер
прокручивает не только текст.
Совершенно свободно можете
вставить сюда линки, рисунки
и вообще любые HTML тэги.
Например, ЦВЕТНОЙ ТЕКСТ
или линк: Отправить мне email
А для тех, кто обидился на
свой компьютер, есть утешение:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Dion (yobo42@hotmail.com) -->
<!-- Web Site:  http://www.iinet.net.au/~biab/ -->

<!-- Begin

// адрес прозрачного пустого GIF-а
var blank = "blank.gif";

topedge = 130;  // расстояние от верхнего края страницы
leftedge = 10;  // расстояние от левого края страницы
boxheight = 150;  // высота
boxwidth = 210;  // ширина
scrollheight = 240;

function scrollnews(cliptop) {
if (document.layers) {
newsDiv = document.news;
newsDiv.clip.top = cliptop;
newsDiv.clip.bottom = cliptop + boxheight;
newsDiv.clip.left = 0;
newsDiv.clip.right = boxwidth + leftedge;
newsDiv.left = leftedge;
newsDiv.top = topedge - cliptop;
}
else {
newsDiv = news.style;
newsDiv.clip = "rect(" + cliptop + "px " + (boxwidth + leftedge) + "px " + (cliptop + boxheight) + "px 0px)";
newsDiv.pixelLeft = leftedge;
newsDiv.pixelTop = topedge - cliptop;
}
cliptop = (cliptop + 1) % (scrollheight + boxheight);
newsDiv.visibility='visible';
setTimeout("scrollnews(" + cliptop + ")", 50);
      //скорость прокрутки (меньше цифра -
      больше скорость)
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="scrollnews(0)">

<div ID="news" style="position:absolute; visibility:hidden;
top:1; left:1; height:600;
clip:rect(10,100,100,10); border-width:0px;">
<table border=0 cellpadding=1 cellspacing=0 bgcolor="silver">
<tr>
<td>
<script language="javascript">
document.write('<img src=' + blank + ' width=1 height='+boxheight+'>');
</script>
</td>
</tr>
<tr>
<td>

<!-- Здесь ваш текст, линки, рисунки -->

Этот вертикальный скроллер<br>
прокручивает не только текст.<br>
Совершенно свободно можете<br>
вставить сюда линки, рисунки<br>
и вообще любые HTML тэги.<br>
Например, <font color=red>ЦВЕТНОЙ ТЕКСТ</font><br>
или линк: <a href="mailto:eugenezz@yandex.ru">Отправить мне email</a><br>
А для тех, кто обидился на<br>
свой компьютер, есть утешение:<br>
<img src="keyboard.gif" border=0>

<!-- Конец текста -->

</td>
</tr>
<tr>
<td>
<script language="javascript">
document.write('<img src=' + blank + ' width=1 height='+boxheight+'>');
</script>
</td>
</tr>
</table>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc 7

Скроллер "Замена букв"
(без формы, в форме, на кнопке)

просто текст

текст в форме

текст на кнопке (кнопка декоративная)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
var count = -1;
var counter;
var nchar
var speedtogo = 200
var a = new Array();

a[1] = "ЛЮБОЙ ВАШ ТЕКСТ";
a[2] = "любой ваш текст";

function capswitch() {
count++
if(count == 0){
document.wow.display.value = a[1]
}
if(count == 1){
document.wow.display.value = a[2].substring(0, 1) +
a[1].substring(22, 1)
}
if(count > 1){
a[3] = a[1].substring(0, count - 1) + a[2].substring(count - 1,
count) + a[1].substring(22, count)
document.wow.display.value = a[3]
}
if(count == a[1].length){
count = -1
}
counter = setTimeout("capswitch()",speedtogo);
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="capswitch()">

<FORM NAME="wow">
<INPUT TYPE="TEXT" NAME="display" SIZE="22">
</FORM>

<!--Между "SIZE="22"" и ковычкой вставте одну из выделенных белым!!! цветом строк-->

<!--Для бесфонового: style="background-color: #C0C0C0; border-style: solid; border-width: 0"---->

<!--Для кнопки: style="background-color: #C0C0C0; border-style: outset; border-width: 2"---->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Scroll27

Информационная волна
Все пользовательские настройки в верхней таблице. Добавьте еще только color:red (или на ваш вкус).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.scroll {font-weight:bold; font-size:36; text-align: center; font-family: Verdana, Courier, Courier New;}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">

/*
By Mark Baker
Showcased on Dynamicdrive.com
For full source code, visit http://dynamicdrive.com
*/
/*
Sine scrolling text script
By Mark Baker (mark.baker@usa.net)
Permission granted to Dynamicdrive.com to include script in archive
For 100's of free DHTML scripts, visit Dynamicdrive.com
*/

// globals
var initialx, initialy, scrolltext;
var frame = 0, frame2 = 0.5;
var amplitude1 = 47, amplitude2 = 27;
var offset = 0.2, speed = 0.2, speed2 = 0.35;
var offset2 = 0.6;
var scrollspeed = 4;
var charwidth = 30;

var twopi = Math.PI * 2;
var chracters, position, numvisible, nextchar, firstchar;
var skipsteps = 1;
var delaytimer = 0;
var interval;

// function to create sine scroller
function sinescroll (x, y, value, number_of_chars)
{
// setup globals
scrolltext = new String(value);
initialx = x;
initialy = y;
numvisible = number_of_chars;
nextchar = numvisible;
firstchar = 0;

// create fixed-size arrays of characters and positions
characters = new Array(numvisible);
position = initialx;

// write DIVs to hold characters
for (var i = 0; i < numvisible; i++)
{
document.write('<DIV ID="character" STYLE="position:absolute;top:',
initialy, ';left:-10000', //(initialx + i * charwidth),
';width=', charwidth, ';height=30;" ><p class=scroll>',
scrolltext.charAt(i), '</p></DIV>');
}
}

// animation function
function step ()
{
// increment counters
frame += speed;
frame2 += speed2;

// delay timer
if (delaytimer > 0)
{
delaytimer--;
}
else
{
// update position
position -= scrollspeed;
}

// check for 'offscreen'
if (position < (initialx - charwidth))
{
while (scrolltext.charAt(nextchar) == '|')
{
delaytimer += 90;
nextchar++;
}

// set nextchar into characters array
characters[firstchar].innerHTML = '<p class=scroll>' + scrolltext.charAt(nextchar) + '</p>';

// update nextchar
nextchar++;

// check for wrap-around
if (nextchar >= scrolltext.length)
{
nextchar = 0;
}

// change position and counters by offset
position += charwidth;
frame += offset;
frame2 += offset2;

// update firstchar
firstchar++;

if (firstchar >= numvisible)
{
firstchar = 0;
}
}

// wrap-around counters
if (frame > twopi) frame -= twopi;
if (frame2 > twopi) frame2 -= twopi;

// set up loop variables
var angle = frame;
var angle2 = frame2;
var pos = position;

// update the html
for (var i=firstchar; i < numvisible; i++)
{
characters[i].style.left = pos;
characters[i].style.top = initialy + amplitude1 * Math.sin(angle) + amplitude2 * Math.sin(angle2);
angle += offset;
angle2 += offset2;
pos += charwidth;
}

for (var i=0; i < firstchar; i++)
{
characters[i].style.left = pos;
characters[i].style.top = initialy + amplitude1 * Math.sin(angle) + amplitude2 * Math.sin(angle2);
angle += offset;
angle2 += offset2;
pos += charwidth;
}
}

// start the animation
function start ()
{
if (!document.all)
return
// get all of the DIV tags into an array (IE only?)
characters = document.all.item('character');

// setup timeout to call this function again
interval = window.setInterval("step();", 20);
}

// stop the animation
function stop ()
{
if (!document.all)
return
if (interval)
clearInterval(interval);
}

window.onload=start
window.onunload=stop

// create the scroller
if (document.all)
sinescroll(90, 200, "
 **** Симпатичный скрипулечка...? И сообщение может быть любой длины!Главное - не забыть поставить звездочки для привлечения внимания посетителя, пока он не пропустил начало самого сообщения.****     ", 15);
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt57

Мозаичная смена фона сообщений
Как Вы понимаете, меняется не просто цвет текста сообщения, но и само сообщение. В первой таблице белым цветом выделен текст, который Вы можете заменять на свой. Свободно составляйте связанный по смыслу текст из разных сообщений - случайным образом меняется только оформление фона. Сообщения следуют друг за другом в порядке сверху вниз (если смотреть на таблицу с кодом). Четыре нижних цветных блока следует убрать - они нужны только для демонстрации. Фактически, для работы Вам потребуются только две выделенные во второй таблице строки: та, которая помещается вместо <BODY> и та, которая начинает и заканчивает <div>

Текст сообщения синий
Текст сообщения красный
Текст сообщения зеленый
Текст сообщения белый
Текст сообщения белый
Текст сообщения белый

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
// +------------------------------------------------------------------+
// | Puzzle Message Board Version 1 |
// | Copyright 1999 Xin Yang yangxin@iname.com |
// | Created 09/20/1999 Last Modified 11/24/1999 |
// | Web Site: http://yx.webprovider.com |
// +------------------------------------------------------------------+
// | Copyright 1999 Xin Yang All Rights Reserved. |
// | |
// | yx_messageBox.js may be used and hosted free of charge by anyone |
// | for personal purpose so long as this copyright notice remain |
// | intact. |
// | |
// | Obtain permission before selling the code for this program or |
// | hosting this program on a commercial web or redistributing this |
// | program over the Internet or in any other medium. In all cases |
// | copyright must remain intact. |
// +------------------------------------------------------------------+

// Function A puzzle message board
// Browser IE4, IE5 & NN4x

// 2. Insert following statement in where the message board to be shown
// <div id="myMessageBoard" style="position:relative; left:0; top:0; visibility:visible; z-index:1;"></div>

// 3. place the function call in the <body> tag:
// onload='messageBoard(msgHolder, msgPool, msgWidth, msgHeight, msgTileX, msgTileY, msgMethod, msgInterval)'
// where:
// # msgHolder - should be "myMessageBoard", or you must change the style sheet line accordingly
// # msgPool - the user-defined message array, each message should be a html statement string
// # msgWidth - the width of the message board
// # msgHeight - the height of the message board
// # msgTileX - how many tiles a message is to be cut into, vertically
// # msgTileY - how many tiles a message is to be cut into, horizontally
// # msgMethod - how the tiles flip, where
// - 0 : randomly
// - 1 : from left to right
// - 2 : from left to right, then right to left
// - 3 : from top to bottom
// - 4 : from top to bottom, then bottom to top
// - 5 : from left to right, separately
// - 6 : from top to bottom, separately
// - 7 : one of 0-6, randomly chosen for a message
// # msgInterval - how long in secondss a message stays

// Script begins

var is_NN4 = false;
var is_IE4 = false;

var messageBox = 0;
var messageBoxCount = 0;
var messageBoxIndex = 0;
var messageBoxFlag = new Array();
var messageHolder = "";
var messageID = "box";
var messagePool = null;
var messagePoolLength = 0;
var messagePoolIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var messageTileX = 0;
var messageTileY = 0;
var messageTileIndex = 0;
var messageTileUnitX = 0;
var messageTileUnitY = 0;
var messageInterval = 0;
var messageMethod = 0;
var messageMethods = 7;
var messageMethodIndex = 0;
var messageMethodID = new Array();
messageMethodID[0] = getBoxID0;
messageMethodID[1] = getBoxID1;
messageMethodID[2] = getBoxID2;
messageMethodID[3] = getBoxID3;
messageMethodID[4] = getBoxID4;
messageMethodID[5] = getBoxID5;
messageMethodID[6] = getBoxID6;

function messageBoxInit(x,y) {
var layerID = "";
var layerClip = "";
var layerString = "";
var thisLayer = null;

layerID = messageID + x + "x" + y +"";

if (messageBoxCount < messageBox) {
if (is_IE4) {
layerClip = "clip:rect(" + (y * messageTileYUnit) + "px " + ((x + 1) * messageTileXUnit) + "px " + ((y + 1) * messageTileYUnit) + "px " + (x * messageTileXUnit) + "px); "
layerString = '<div id="' + layerID + '" style="position:absolute; left:0; top:0; width:' + messageWidth + '; height:' + messageHeight + '; ' + layerClip + 'visibility:visible; z-index:1;"><\/div>';
document.all[messageHolder].insertAdjacentHTML("BeforeEnd", layerString);
}
else {
document.layers[layerID] = new Layer(messageWidth, document.layers[messageHolder]);
thisLayer = document.layers[layerID];
thisLayer.height = messageHeight;
thisLayer.clip.top = y * messageTileYUnit;
thisLayer.clip.right = (x + 1) * messageTileXUnit;
thisLayer.clip.bottom = (y + 1) * messageTileYUnit;
thisLayer.clip.left = x * messageTileXUnit;
thisLayer.zIndex = 1;
thisLayer.visibility = "show";
}

messageBoxCount++;
}

return layerID;
}

function messageBoxFlagInit() {
for (var i = 0; i < messageBox; i++)
messageBoxFlag[i] = true;
}

function messageHolderInit() {
var holderString = "";

if (is_IE4) {
document.all[messageHolder].style.width = messageWidth;
document.all[messageHolder].style.height = messageHeight;
}
else {
holderString = "<table width=" + messageWidth + " height=" + messageHeight + " border=0 cellpadding=0 cellspacing=0><tr><td><font size=1>&nbsp;</font></td></tr></table>";
document.layers[messageHolder].document.open();
document.layers[messageHolder].document.writeln(holderString);
document.layers[messageHolder].document.close();
}
}

function getBoxID6(boxIndex) {
var boxMidBig = Math.ceil(messageBox / 2);
var boxY = 0;
var boxX = 0;

if (messageTileY % 2 != 0) {
if (boxIndex < boxMidBig) {
boxY = (boxIndex * 2) % messageTileY;
boxX = Math.floor(boxIndex * 2 / messageTileY);
}
else {
boxY = ((boxIndex - boxMidBig) * 2 + 1) % messageTileY;
boxX = Math.floor(((boxIndex - boxMidBig) * 2 + 1) / messageTileY);
}

return messageTileX * boxY + boxX
}
else {
if (boxIndex < boxMidBig) {
boxY = (boxIndex * 2 + Math.floor(boxIndex * 2 / messageTileY) % 2) % messageTileY;
boxX = Math.floor((boxIndex * 2 + Math.floor(boxIndex * 2 / messageTileY) % 2) / messageTileY);
}
else {
boxY = ((boxIndex - boxMidBig) * 2 + 1 - Math.floor((boxIndex - boxMidBig) * 2 / messageTileY) % 2) % messageTileY;
boxX = Math.floor(((boxIndex - boxMidBig) * 2 + 1 - Math.floor((boxIndex - boxMidBig) * 2 / messageTileY) % 2) / messageTileY);
}

return messageTileX * boxY + boxX
}
}

function getBoxID5(boxIndex) {
var boxMidBig = Math.ceil(messageBox / 2);

if (messageTileX % 2 != 0) {
if (boxIndex < boxMidBig)
return boxIndex * 2
else
return (boxIndex - boxMidBig) * 2 + 1;
}
else {
if (boxIndex < boxMidBig)
return boxIndex * 2 + Math.floor(boxIndex * 2 / messageTileX) % 2
else
return (boxIndex - boxMidBig) * 2 + 1 - Math.floor((boxIndex - boxMidBig) * 2 / messageTileX) % 2;
}
}

function getBoxID4(boxIndex) {
var boxY = boxIndex % messageTileY;
var boxX = Math.floor(boxIndex / messageTileY);

if (boxX % 2 == 0)
return messageTileX * boxY + boxX
else
return messageTileX * (messageTileY - boxY - 1) + boxX;
}

function getBoxID3(boxIndex) {
var boxY = boxIndex % messageTileY;
var boxX = Math.floor(boxIndex / messageTileY);

return messageTileX * boxY + boxX;
}

function getBoxID2(boxIndex) {
var boxX = boxIndex % messageTileX;
var boxY = Math.floor(boxIndex / messageTileX);

if (boxY % 2 == 0)
return boxIndex
else
return messageTileX * boxY + (messageTileX - 1 - boxX);
}

function getBoxID1(boxIndex) {
return boxIndex
}

function getBoxID0(boxIndex) {
var randomID = Math.floor(Math.random() * (messageBox - boxIndex));
var boxID = 0;

for (var i = 0; i < messageBox; i++)
if (messageBoxFlag[i]) {
if (randomID == 0) {
messageBoxFlag[i] = false;
boxID = i;
break;
}
else
randomID--;
}

return boxID;
}

function getMethod() {
return Math.floor(Math.random() * messageMethods);
}

function messageShow() {
var layerID = "";
var thisID = 0;
var thisX = 0;
var thisY = 0;
var thisLayer = null;

if (messageBoxIndex < messageBox) {
thisID = messageMethodID[messageMethodIndex](messageBoxIndex);
thisX = thisID%messageTileX;
thisY = Math.floor(thisID/messageTileX);
layerID = messageBoxInit(thisX,thisY);

if (is_IE4)
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
else {
thisLayer = document.layers[layerID];
thisLayer.document.open();
thisLayer.document.writeln(messagePool[messagePoolIndex]);
thisLayer.document.close();
}

messageBoxIndex++;
setTimeout("messageShow()",0);
}
else {
messageBoxIndex = 0;
messagePoolIndex = (++messagePoolIndex < messagePoolLength)?messagePoolIndex:0;
if (messageMethod == 7)
messageMethodIndex = getMethod();
if (messageMethodIndex == 0)
messageBoxFlagInit();
setTimeout("messageShow()",messageInterval);
}
}

function messageBoard(msgHolder, msgPool, msgWidth, msgHeight, msgTileX, msgTileY, msgMethod, msgInterval) {
is_NN4 = document.layers;
is_IE4 = document.all;

if (is_NN4 || is_IE4) {
messageHolder = msgHolder;
messagePool = msgPool;
messagePoolLength = messagePool.length;
messageWidth = msgWidth;
messageHeight = msgHeight;
messageTileX = msgTileX;
messageTileY = msgTileY;
messageBox = messageTileX * messageTileY;
messageTileXUnit = Math.floor(msgWidth/msgTileX)
messageTileYUnit = Math.floor(msgHeight/msgTileY);
messageMethod = msgMethod;
if (messageMethod != 7)
messageMethodIndex = messageMethod
else
messageMethodIndex = getMethod();
messageInterval = msgInterval * 1000;

messageHolderInit();
if (messageMethodIndex == 0)
messageBoxFlagInit();
messageShow();
}
}

// Script Ends
</script>

<script language="javascript">
var myMessage = new Array('<table bgcolor=#ff0000 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=verdana color=#0000ff><i>Текст сообщения синий</i></font></td></tr></table>',
'<table bgcolor=#00ff00 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=arial color=#ff0000><u>Текст сообщения красный</u></font></td></tr></table>',
'<table bgcolor=#0000ff cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=times color=#00ff00><b>Текст сообщения зеленый</b></font></td></tr></table>',
'<table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td bgcolor=#ff0000><font size=3 face=verdana color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#00ff00><font size=3 face=arial color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#0000ff><font size=3 face=times color=#ffffff>Текст сообщения белый</font></td></tr></table>');
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="messageBoard('myMessageBoard', myMessage, 240, 90, 16, 6, 7, 2)">

<table align=center cellpadding=0 cellspacing=5 border=0>
<tr align=center valign=middle>
<td colspan=2><table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=left valign=top><td><div id="myMessageBoard" style="position:relative; left:0; top:0; visibility:visible; z-index:1;"></div></td></tr></table></td>
</tr>
<tr align=center valign=middle>
<td><table bgcolor=#ff0000 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=verdana color=#0000ff><i>Текст сообщения синий</i></font></td></tr></table></td>
<td><table bgcolor=#00ff00 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=arial color=#ff0000><u>Текст сообщения красный</u></font></td></tr></table></td>
</tr>
<tr align=center valign=middle>
<td><table bgcolor=#0000ff cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=times color=#00ff00><b>Текст сообщения зеленый</b></font></td></tr></table></td>
<td><table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td bgcolor=#ff0000><font size=3 face=verdana color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#00ff00><font size=3 face=arial color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#0000ff><font size=3 face=times color=#ffffff>Текст сообщения белый</font></td></tr></table></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll13

Мульти-скроллер

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Hapaboy (happynoodleboy@mindless.com) -->
<!-- Web Site: http://www.geocities.com/SouthBeach/Palms/6999 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var message="Библиотека JavaScript!!";
var spc=10;
var speedisplay=50;
var times=2;
var rows=5;
var cols=40;
var stopbutton="yes"; // yes - есть кнопка СТОП, no- нет кнопки СТОП
var stopbuttonvalue="СТОП";
var startvalue="СТАРТ";
var len=spc*2;
var text=message;
var i;
var stop=false;
var stoppedisplay;
for (i=0;i<spc;i++) {
text=text+" ";
}
function array(n) {
this.length = n
for (i=1; i <= n; i++) {
this[i] ="";
}
return this;
}
document.writeln('<form name="F">')
document.writeln('<textarea style=\"background-color: #C0C0C0; font-size: 14pt; font-family: Arial; color: #800000; border-style: solid; border-width: 0\" rows='+rows+' cols='+cols+' name="display" wrap=soft></textarea>')
if (stopbutton == "yes") {
document.writeln('<br><input type=button style=\"width:200\" value="'+stopbuttonvalue+'" onClick="stopstart()" name=stopit>');
}
document.writeln('</form>')
var l=text.length;
var ll=message.length;
var lb=new array(l)
var lr=new array(spc*2+1)
var lg=new array(ll)
var lk=new array(ll)
lb[0]=text;lb[l]=text;lr[0]=message;lg[0]=message;

for (j=1;j<l;j++) {
lb[j]=lb[j-1].substring(1, l)+lb[j-1].charAt(0);
}
lr[spc*2]=message;
for (i=1;i<=spc;i++) {
lr[i]=" "+lr[i-1]
}
for (i=spc*2-1;i>=spc+1;i--) {
lr[i]=" "+lr[i+1]
}
var ll=message.length;
for (j=1;j<ll;j++) {
for (i=lg[j-1].length-2;i>=0;i--) {
lg[j]=lg[j-1].charAt(i)+lg[j];
}
}
lk[ll]=message;
for (j=ll-1;j>=0;j--) {
lk[j]=lk[j+1].substring(1, l);
}
var lge="";
var lbe="";
var rle="";
for (i=0;i<rows;i++) {
lge=lge+lg[i]+unescape('%0D%0A');
}
for (i=0;i<rows;i++) {
lbe=lbe+lb[l-i]+unescape('%0D%0A');
}
for (i=1;i<=rows;i++) {
rle=rle+lr[spc*2-i]+unescape('%0D%0A');
}
var c=1;
var i=ll;
var j=0;
var f=0;
function lgf() {
if(stop==false) {
if(i>ll) {
j=0;
i=i-2;
}
if(i==0&&j==0) {
c++;
j=1;
}
if(j!=0) {
document.F.display.value=lg[i]+unescape('%0D%0A')+document.F.display.value;
i++;
}
if(j==0) {
document.F.display.value=lg[i]+unescape('%0D%0A')+document.F.display.value;
i--;
}
if(c<=times) {
setTimeout("lgf()",speedisplay);
}
else {
document.F.display.value=lge;
i=0;
j=0;
c=0;
t();
}
}
}
function t() {
if(stop==false) {
if(i>l) {i=1};
document.F.display.value=lb[i]+unescape('%0D%0A')+document.F.display.value;
i++;
j++;
if(j<=l*times) {
setTimeout("t()",speedisplay)}else{document.F.display.value=lbe;
i=0;
j=0;
rl();
}
}
}
function rl() {
if (stop==false) {
if(i>=spc*2) {i=0};
document.F.display.value=lr[i]+unescape('%0D%0A')+document.F.display.value;
i++;
j++;
if(j<len*times) {setTimeout("rl()",speedisplay)}else{document.F.display.value=rle;i=ll-1;j=0;trans()}
}
}
function trans() {
if(stop==false) {
document.F.display.value=lk[i]+unescape('%0D%0A')+document.F.display.value;
i--;
if(i!=1) {
setTimeout("trans()",speedisplay)
}
else {
i=ll;
lgf();
}
}
}
function stopstart() {
stoppedisplay=stop;
if(stoppedisplay==false) {
stop=true;document.F.stopit.value=startvalue;
}
if(stoppedisplay==true) {
stop=false;document.F.stopit.value=stopbuttonvalue;
document.F.display.value="";
i=11;
j=0;
c=0;
lgf();
}
}
if (rows>spc||rows>ll) {
alert("ERROR!\nrows can NOT be more that spaces or message length!!!!")
}
if (spc+ll>cols) {
alert("ERROR!\ncols(coloums) can NOT be less that the message length + spacing length")
}
if (rows<=spc&&rows<=ll&&spc+ll<=cols) {
lgf();
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll9

Мягкий скроллинг текста с линками и рисунками.

Вы можете поместить сюда и текст, и линки: Yahoo, и даже рисунки! Теперь повтор.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original: Ernst Straka (ernst.straka@central-europe.basf.org) -->
<!-- Web Site: http://www.rs-systems.at/straka -->

<!-- Begin
var l1 = 0; // left of ticker in pixel, or 0 to position relative
var t1 = 0; // top of ticker in pixel, or 0 to position relative
var w1 = 450; // width of ticker in pixel
var ie = document.all ? true : false;
var first = true;
var l2 = l1 + w1;
var l3 = l1 - l2;
var l = l2;
function tickinit() {
if (ie) {
if (l1 == 0 && t1 == 0) {
pos = document.all['tickpos'];
l1 = getLeft(pos);
t1 = getTop(pos);
}
ticktext.style.posTop = t1;
}
else {
if (l1 == 0 && t1 == 0) {
pos = document.anchors['tickpos'];
l1 = pos.x;
t1 = pos.y;
}
document.ticktext.pageY = t1;
}
l2 = l1 + w1;
l3 = l1 - l2;
l = l2;
setInterval('tick()', 10);
}
function getLeft(ll) {
if (ll.offsetParent)
return (ll.offsetLeft + getLeft(ll.offsetParent));
else
return (ll.offsetLeft);
}
function getTop(ll) {
if (ll.offsetParent)
return (ll.offsetTop + getTop(ll.offsetParent));
else
return (ll.offsetTop);
}
function tick() {
l = l - 0.5;
if (l < l3) l = l2;
cl = l1 - l;
cr = l2 - l;
if (ie) {
ticktext.style.posLeft = l;
ticktext.style.posTop = t1;
ticktext.style.clip = "rect(auto "+cr+"px auto "+cl+"px)";
if (first) ticktext.style.visibility = "visible";
}
else {
document.ticktext.pageX = l;
document.ticktext.clip.left = cl;
document.ticktext.clip.right = cr;
if (first) document.ticktext.visibility = "show";
}
first = false;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="tickinit()">

<a name="tickpos"> </a>

<div id="ticktext" style="position:absolute;
 font-family:arial;font-size:14pt;visibility:hidden;">
<nobr>Вы можете поместить сюда и текст, и линки: <a href="http://www.yahoo.com" target="_blank">Yahoo</a>, и даже рисунки! <img src="korabl.gif" border=0>  Теперь повтор.</nobr>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll26

Новости

Если Вы это читаете, значит Ваш браузер не "переваривает", как минимум, этот скрипт...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
function correct(){
if (finished){
setTimeout("begin()",3000)
}
return true
}
window.onerror=correct
function begin(){
if (!document.all)
return
if (maxheight==null)
maxheight=temp.offsetHeight
whatsnew.style.height=maxheight
temp.style.display="none"
c=1
finished=true
change()
}
//-->
</script>

<style>
<!--
#whatsnew a{color:730073;text-decoration:none}
#whatsnew, #temp {font-weight:bold; font-family:Arial}
#whatsnew a:hover{color:red}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="begin()">

<!---КРАЙНЕ ВАЖНО, ЧТОБЫ СКРИПТ БЫЛ ВНУТРИ
 ЛЮБОЙ ТАБЛИЦЫ----->
<table width="409" height="40" align=center><tr><td align=center width="401">
<script language="javascript1.2">
<!--

/*
News Updater Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var head=''
var top=0
var maxheight
var finished=false
var tickers=new Array()

tickers[0]='<a href="#top">Это линк-сообщение 0 (?)</a>'

tickers[1]='<a href="#top">Это линк-сообщение 1</a>'

tickers[2]='<a href="#top">Это линк-сообщение 2.</a>'

tickers[3]='<a href="#top">Это линк-сообщение 3.</a>'

tickers[4]='<a href="#top">Это линк-сообщение 4.</a>'

for (i=1;i<=tickers.length-1;i++){
if (tickers[i].length>=tickers[top].length)
top=i
}
if (document.all)
document.write('<span id="whatsnew" style="width:100%;height=10;filter:revealTrans(duration=2,transition=19)">'+tickers[0]+'</span>')

function change(){
whatsnew.innerHTML=''
whatsnew.filters.revealTrans.apply()
whatsnew.filters.revealTrans.play()
whatsnew.innerHTML=tickers[c]
if (c==tickers.length-1)
c=0
else
c+=1
setTimeout("change()",5000)
}
if (document.all)
document.write('<span id=ns style="display:none;">')
//-->
</script>
<!--Insert alternate HTML codes here
that will be seen by browsers OTHER
than IE 4.x-->
Если Вы это читаете, зна чит Ваш браузер "непереваривает" как минимум этот скрипт...

<span id=temp style="position:absolute;left:0;top:0" style=&{head};>
<script>
<!--
if (document.all){
temp.style.width=whatsnew.style.width
document.write(tickers[top])
}
//-->
</script>
</span><br>
</td></tr></table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll14

Вертикальный скроллер в одну линию

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael Tartaglia (stonedstan@hotmail.com) -->
<!-- Web Site: http://www.geocities.com/SiliconValley/Horizon/5235 -->

<!-- Begin
msg ="Привет! Посмотри на мой новый вертикальный скроллер";
align="center";
speed=250; //скорость
up=true;
spas=" ";
for (a=0;a<=12;a++) {spas+=" "}
msg=spas+msg+spas;
j=eval(-1);
stop=msg.length;
document.write("<form name='form'><table border=0 cellspacing=0 "
+"cellpadding=0 align="+align+">");
for (i=1;i<=13;i++) {
document.write("<tr><td><input style=\"background-color: #C0C0C0; font-size: 14pt; font-family: Arial; color: #800000; border-style: solid; border-width: 0\" type=text name=\"box"+i+"\" size=1>");
document.write("</td></tr>");
}
document.write("</table></form>");
function scrollIt() {
j++;
with (document.form) {
if ((j+12) <= stop) {
box1.value = msg.charAt(j);
box2.value = msg.charAt(j+1);
box3.value = msg.charAt(j+2);
box4.value = msg.charAt(j+3);
box5.value = msg.charAt(j+4);
box6.value = msg.charAt(j+5);
box7.value = msg.charAt(j+6);
box8.value = msg.charAt(j+7);
box9.value = msg.charAt(j+8);
box10.value = msg.charAt(j+9);
box11.value = msg.charAt(j+10);
box12.value = msg.charAt(j+11);
box13.value = msg.charAt(j+12);
} else {
j=0;
}
}
setTimeout("scrollIt()",speed);
}
scrollIt();
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll17

Перетекание

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
function drip(){
wordy="Перетекание";
document.hey.a.value="";
document.hey.b.value="";
document.hey.c.value="";
document.hey.d.value="";
word="";
beat=0;
aa=0;
bb=0;
cc=0;
dd=0;
lo=wordy.length;
drop();
}
function drop(){
if(beat<=lo*3+1){
beat=beat+1;
if(beat<=1){
document.hey.a.value=wordy;
}
if(beat>1&&beat<=lo+1){
fin="";
aa=aa+1;
for(var x=0;x<=aa-1;x++){
fin=fin+" ";
}
fin=fin+wordy.substring(aa,lo);
document.hey.a.value=fin;
document.hey.b.value=wordy.substring(0,aa);
}
if(beat>lo+1&&beat<=lo*2+1){
fin="";
bb=bb+1;
for(var x=0;x<=bb-1;x++){
fin=fin+" ";
}
fin=fin+wordy.substring(bb,lo);
document.hey.b.value=fin;
document.hey.c.value=wordy.substring(0,bb);
}
if(beat>lo*2+1&&beat<=lo*3+1){
fin="";
cc=cc+1;
for(var x=0;x<=cc-1;x++){
fin=fin+" ";
}
fin=fin+wordy.substring(cc,lo);
document.hey.c.value=fin;
document.hey.d.value=wordy.substring(0,cc);
}
setTimeout("drop()",200);
}
else{
document.hey.d.value=wordy;
}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="hey">
<input type="text" name="a" size=12><br>
<input type="text" name="b" size=12><br>
<input type="text" name="c" size=12><br>
<input type="text" name="d" size=12><br>
<input type="button" name="start" value="Старт" onclick="drip()">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc 6

Простые JavaScript часы
(в форме)

(европейский вид)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Tarjei Davidsen (the@rescueteam.com) -->
<!-- Begin
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist(
"Это \"телетайп\" или \"печатная машинка\", как хотите... Удобно давать информацию таким образом!.",
"Можно ввести бесконечное количество сообщений, легко сконфигурировав скрипт.",
"Если Вам понадобиться ввести очень длинное сообщение, то это может быть решено путем увеличения формы.",
"К тому же, Internet Explorer позволяет видеть цвета background и текста.",
"Пишите письма любым почерком!."
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0;
setTimeout("textticker()", 2000);
if(++x == max) x = 0;
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY OnLoad="textticker()">

<center>
<form name=tickform><!---Желтым цветом выделены размеры формы (в линиях и буквах)--->
<textarea name=tickfield rows=4 cols=38 style="background-color: rgb(0,0,0); color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 11px" wrap=virtual>Новости появятся здесь сразу по окончании загрузки страницы.</textarea>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc8

Скроллер "Печатная машинка" 2
(без формы)

Один недостаток, и очень серьезный недостаток, есть у всех без исключения онлайновых архивов JavaScript. Они именно онлайновые! То есть если Вы русский человек, то "онлайн" для вас означает серьезные материальные затраты, и иногда даже проблемы в семье... А вот это уже катастрофический минус. Тоскливый, почти с наркомановским вожделение взгляд на компьютер, словно пытаясь пробиться сквозь экран монитора к отрезанной тощим кошельком виртуальной мировой реальности, все равно не сможет оплатить услуги провайдера и воссоединиться с... Короче, предлагаемая библиотека в некоторых случаях поможет пережить денежный и, надеюсь, семейный кризис. Кроме того, она напрочь лишена основных недостатков всех виртуальных страничек: здесь нет никакой рекламы - это РАЗ, работать можно оффлайн - это ДВА, все скрипты почти бесплатные - это ТРИ, их много - ЧЕТЫРЕ и, что самое важное, СКРИПТЫ РАБОТАЮТ ВСЕ!

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Typing Text Script-
Last updated: 99/06/17
© Dynamic Drive (www.dynamicdrive.com)
*/

var it=0
function initialize(){
mytext=typing.innerText
var myheight=typing.offsetHeight
typing.innerText=''
document.all.typing.style.height=myheight
document.all.typing.style.visibility="visible"
typeit()
}
function typeit(){
typing.insertAdjacentText ("beforeEnd",mytext.charAt(it))
if (it<mytext.length-1){
it++
setTimeout("typeit()",100)
}
else
return
}
if (document.all)
document.body.onload=initialize
</script>

<small><span id="typing" style="visibility:hidden" align="left">Один недостаток, и очень серьезный недостаток, есть у всех без исключения онлайновых архивов JavaScript. Они именно онлайновые! То есть если Вы русский человек, то "онлайн" для вас означает серьезные материальные затраты, и иногда даже проблемы в семье... А вот это уже катастрофический минус. Тоскливый, почти с наркомановским вожделение взгляд на компьютер, словно пытаясь пробиться сквозь экран монитора к отрезанной тощим кошельком виртуальной мировой реальности, все равно не сможет оплатить услуги провайдера и воссоединиться с... Короче, предлагаемая библиотека в некоторых случаях поможет пережить денежный и, надеюсь, семейный кризис. Кроме того, она напрочь лишена основных недостатков всех виртуальных страничек: здесь нет никакой рекламы - это РАЗ, работать можно оффлайн - это ДВА, все скрипты почти бесплатные - это ТРИ, их много - ЧЕТЫРЕ и, что самое важное, СКРИПТЫ РАБОТАЮТ ВСЕ!</span></small>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Scrolling 1

Простой скроллер

(бегущая строка в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var msg = "Поместите на это место свое сообщение.....
      "
function scrollMsg(){
document.scrollerForm.welcomeMsg.
value = msg
msg = msg.substring(1, msg.length) + msg.substring(0, 1)
setTimeout("scrollMsg()", 150)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="scrollMsg()">

<FORM NAME="scrollerForm">
<INPUT TYPE="text" NAME="welcomeMsg" VALUE="" size=30></B>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll21

"Рекламный щит"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Ticker Tape script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/
//configure tickercontents[] to set the messges you wish be displayed (HTML codes accepted)
var tickercontents=new Array()
tickercontents[0]='Не влезай убъет... <a href="#top">[Прочитать]</a>'
tickercontents[1]='Пиво только членам профсоюза... <a href="#top">[Прочитать]</a>'
tickercontents[2]='Шла Саша по шоссе и сосала... <a href="#top">[Прочитать]</a>'

//configure the below 2 variables to set the width/background color of the ticker
var tickerwidth='85%' // ШИРИНА (В ПРОЦЕНТАХ)
var tickerbgcolor='lightblue' // ЦВЕТ

//configure the below variable to determine the delay between ticking of messages (in miliseconds
var tickdelay=3000

////Do not edit pass this line////////////////

var currentmessage=0

function changetickercontent(){
if (document.layers){
document.tickernsmain.document.tickernssub.document.write(tickercontents[currentmessage])
document.tickernsmain.document.tickernssub.document.close()
}
else if (document.all)
tickerie.innerHTML=tickercontents[currentmessage]

if (currentmessage==tickercontents.length-1) currentmessage=0
else currentmessage++
setTimeout("changetickercontent()",tickdelay)
}

function start_ticking(){
if (document.layers)
document.tickernsmain.visibility="show"
changetickercontent()
}

if (document.all)
document.write('<div id="tickerie" style="width:'+tickerwidth+'; background-color:'+tickerbgcolor+'"></div>')
window.onload=start_ticking
</script>

<ilayer id="tickernsmain" width=&{tickerwidth}; bgColor=&{tickerbgcolor}; visibility=hide>
<p>
<p><layer id="tickernssub" width=&{tickerwidth}; left=0 top=0></layer></ilayer></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll22

"Рекламный щит" со вспышкой

Инициализация...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--

#tickertape{
position:relative;

layer-background-color:black;
width:350;
height:12;
}

#subtickertape{
background-color:black;
position:absolute;
border: 1px solid black;
width 350;
height:12;

}

.subtickertapefont{
font:bold 12px Verdana;
text-decoration:none;
color:white;
}

.subtickertapefont a{
color:white;
text-decoration:none;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="if (document.all||document.layers) {regenerate2();update()}">

<div id="tickertape">
<div id="subtickertape" class="subtickertapefont" style="width: 335; height: 19">Initializing...</div>
</div>

<script language="JavaScript1.2">

/*
Fading Ticker Tape Script-
© Dynamic Drive (www.dynamicdrive.com)
Fading background color component by Dave Methvin, Windows Magazine
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/
//default speed is 4.5 seconds, Change that as desired
var speed=4500

var news=new Array()
news[0]="<a href='#top'>Здесь ваш первый линк.</a>"
news[1]="<a href='#top'>Второй ваш линк здесь</a>"
news[2]="<a href='#top'>А это третий линк. Добавьте еще 100000000!</a>"
//expand or shorten this list of messages as desired

i=0
if (document.all)
tickerobject=document.all.subtickertape.style
else
tickerobject=document.tickertape.document
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",450)
}

function update(){
BgFade(0xff,0xff,0xff, 0x00,0x00,0x00,10);
if (document.layers){
document.tickertape.document.subtickertape. document.write('<span class="subtickertapefont">'+news[i]+'</span>')
document.tickertape.document.subtickertape. document.close()
}
else
document.all.subtickertape.innerHTML=news[i]

if (i<news.length-1)
i++
else
i=0
setTimeout("update()",speed)
}

function BgFade(red1, grn1, blu1, red2,
grn2, blu2, steps) {
sred = red1; sgrn = grn1; sblu = blu1;
ered = red2; egrn = grn2; eblu = blu2;
inc = steps;
step = 0;
RunFader();
}
function RunFader() {
var epct = step/inc;
var spct = 1 - epct;
if (document.layers)
tickerobject.bgColor =
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
else
tickerobject.backgroundColor=
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
if ( step < inc ) {
setTimeout('RunFader()',50);
}
step++;
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Scroll10

Скроллинг - рикошет
Пользователи не IE увидят обычный текст

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: http://www.geocities.com/SiliconValley/Horizon/5235 -->

<!-- Begin
mesg = "The JavaScript Library - это путь к успеху!!!";
isNS = (navigator.appName == "Netscape")
isIE = (navigator.appName == "Microsoft Internet Explorer")
text = ("<i><font size=3><b>"+mesg+"</b></font></i>")
if (isNS) {
document.write("<blink>" + text + "</blink>")}
else if (isIE) {
document.write("<MARQUEE BEHAVIOR=ALTERNATE DIRECTION=RIGHT>" + text + "</MARQUEE>")}
// End -->
</SCRIPT>
<NOSCRIPT>
<i><font size=3>The JavaScript Library - это путь к успеху!!!</font></i>
</NOSCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll25

Скроллер HTML документа
Весьма неожиданный и эффектный, но наудивление простой скрипт, позволяющий прокручивать в небольшом окошке любой другой HTML документ. При этом все ссылки в документе работать будут. Так же, при наведении мыши на бокс, скорость скроллинга заметно снижается для удобства чтения... К сожалению, из файла справки этот скрипт работать не может. Тем не менее, я очень рекомендую Вам, хотя бы в качестве эксперемента, поместите скрипт на какую-небудь страницу и посмотрите на результат. Впечатляет. (ТОЛЬКО IE)

Желтым отмечена скорость скроллинга при наведении мыши. Голубым - прокручиваемая страница.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <!--[if IE]>

<IE:Download ID="marqueedata" STYLE="behavior:url(#default#download)" />
<marquee id="externalmarquee" direction=up scrollAmount=4 style="width:200px;height:150px;border:1px solid black;padding:3px"
 onMouseover="this.scrollAmount=1"
 onMouseout="this.scrollAmount=4" src="window49.htm"
 >
</marquee>

<script language="JavaScript1.2">

/*
External Data Source Marquee Script (Updated 99/11/02)-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of Use, visit dynamicdrive.com
*/

function downloaddata(){
marqueedata.startDownload(externalmarquee.src,displaydata)
}

function displaydata(data){
externalmarquee.innerHTML=data
}

if (document.all)
window.onload=downloaddata

</script>

<![endif]-->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt58

Смена сообщений за цветными вертикальными жалюзями
Как Вы понимаете, меняется не просто цвет текста сообщения, но и само сообщение. В первой таблице белым цветом выделен текст, который Вы можете заменять на свой. Свободно составляйте связанный по смыслу текст из разных сообщений - меняется только оформление заставки. Сообщения следуют друг за другом в порядке сверху вниз (если смотреть на таблицу с кодом). Четыре нижних цветных блока следует убрать - они нужны только для демонстрации. Фактически, для работы Вам потребуются только две выделенные во второй таблице строки: та, которая помещается вместо <BODY> и та, которая начинает и заканчивает <div>

Текст сообщения синий
Текст сообщения красный
Текст сообщения зеленый
Текст сообщения белый
Текст сообщения белый
Текст сообщения белый

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
// +-------------------------------------------------------------------+
// | Rolling Message Board Version 1 |
// | Copyright 1999 Xin Yang yangxin@iname.com |
// | Created 09/20/1999 Last Modified 11/24/1999 |
// | Web Site: http://yx.webprovider.com |
// +-------------------------------------------------------------------+
// | Copyright 1999 Xin Yang All Rights Reserved. |
// | |
// | yx_messageRoll.js may be used and hosted free of charge by anyone |
// | for personal purpose so long as this copyright notice remain |
// | intact. |
// | |
// | Obtain permission before selling the code for this program or |
// | hosting this program on a commercial web or redistributing this |
// | program over the Internet or in any other medium. In all cases |
// | copyright must remain intact. |
// +-------------------------------------------------------------------+

// File yx_messageRoll.js
// Function A rolling message board
// Browser IE4, IE5 & NN4x

// 2. place the following style sheet statement where the message board to be shown, and adjust the html alignment accordingly
// <div id="myMessageBoard" style="position:relative; left:0; top:0; visibility:visible; z-index:1;"></div>

// 3. place the function call in the <body> tag:
// onload="messageBoard(msgID, msgPool, msgDirection, msgWidth, msgHeight, msgTile, msgInterval)"
// where:
// # msgID - should be "myMessageBoard", or you can change the style sheet statement accordingly
// # msgPool - the user-defined message array, each message should be a html statement string
// # msgDirection
// - 0 : from top to bottom
// - 1 : from right to left
// - 2 : from bottom to top
// - 3 : from left to right
// - 4 : from top to bottom and bottom to top
// - 5 : from left to right and right to left
// # msgWidth - the width of the message board
// # msgHeight - the height of the message board
// # msgTile - how many tiles a message is to be cut into
// # msgInterval - how long in seconds a message stays

// Script begins

var is_NN4 = false;
var is_IE4 = false;

var messageHolderID = "";
var messageID = "roll";
var messageFlag = 0;
var messagePool = null;
var messagePoolLength = 0;
var messagePoolIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var messageTile = 0;
var messageTileIndex = 0;
var messageTileUnit = 0;
var messageTileOffset = 0;
var messageInterval = 0;
var messageDirection = 0;
var messageCurrentDirection = 3;
var messageTop = 0;
var messageRight = 1;
var messageBottom = 2;
var messageLeft = 3;
var messageTopBottom = 4;
var messageLeftRight = 5;

function messageInit() {
var layerID = "";
var layerString = "";
var layerClip = "";
var this_layer = null;
var this_string = "";

if (is_IE4) {
document.all[messageHolderID].style.width = messageWidth;
document.all[messageHolderID].style.height = messageHeight;

for (var l = 0; l <=1; l++)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + l + "" + i +"";
if (messageCurrentDirection == messageLeft)
layerClip = "clip:rect(0px " + ((i + 1) * messageTileUnit) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px); "
else
layerClip = "clip:rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + ((i + 1) * messageTileUnit) + "px 0px); ";
layerString = '<div id="' + layerID + '" style="position:absolute; left:0; top:0; width:' + messageWidth + '; height:' + messageHeight + '; ' + layerClip + 'visibility:hidden; z-index:2;"><\/div>';
document.all[messageHolderID].insertAdjacentHTML("BeforeEnd", layerString);
document.all[layerID].offset = 0;
}
}
else {
this_string = "<table width=" + messageWidth + " height=" + messageHeight + " border=0 cellpadding=0 cellspacing=0><tr><td><font size=1>&nbsp;</font></td></tr></table>";
document.layers[messageHolderID].document.open();
document.layers[messageHolderID].document.writeln(this_string);
document.layers[messageHolderID].document.close();

for (var l = 0; l <=1; l++)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + l + "" + i +"";
document.layers[layerID] = new Layer(messageWidth, document.layers[messageHolderID]);
this_layer = document.layers[layerID];
this_layer.height = messageHeight;
if (messageCurrentDirection == messageLeft) {
this_layer.clip.top = 0;
this_layer.clip.right = (i + 1) * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = i * messageTileUnit;
}
else {
this_layer.clip.top = i * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = (i + 1) * messageTileUnit;
this_layer.clip.left = 0;
}
this_layer.visibility = "hidden";
this_layer.zIndex = 2;
this_layer.offset = 0;
}
}
}

function messageShow() {
var layerID = "";
var this_layer = null

if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageFlag + "" + i + "";
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageFlag + "" + i + "";
this_layer = document.layers[layerID];
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
}
}

function messageRollLeft() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;

messageTileOffset++;

for (var i = messageTileIndex; i < messageTile; i++) {
ii = i + 1;
layerIDIn = messageID + messageIn + "" + i + "";
layerIDOut = messageID + messageOut + "" + i + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(0px " + (ii * messageTileUnit) + "px " + messageHeight + "px " + (ii * messageTileUnit - layerOffset) + "px)";
layerClipOut = "rect(0px " + (ii * messageTileUnit - layerOffset) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelLeft = layerOffset - messageTileUnit;
document.all[layerIDOut].style.pixelLeft = layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.left--;
document.layers[layerIDIn].left++;
document.layers[layerIDOut].clip.right--;
document.layers[layerIDOut].left++;
}
if (layerOffset == messageTileUnit)
TileDone = true;

messageTileCount++;

if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex++;
break;
}

if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}

if (!loopBreak && TileDone)
messageTileIndex++;

if (messageTileIndex < messageTile)
setTimeout("messageRollLeft()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildLeftRight();
}
}

function messageRollRight() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;

messageTileOffset++;

for (var i = messageTileIndex; i > 0; i--) {
ii = i - 1;
layerIDIn = messageID + messageIn + "" + ii + "";
layerIDOut = messageID + messageOut + "" + ii + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(0px " + (ii * messageTileUnit + layerOffset) + "px " + messageHeight + "px " + (ii * messageTileUnit) + "px)";
layerClipOut = "rect(0px " + (i * messageTileUnit) + "px " + messageHeight + "px " + (ii * messageTileUnit + layerOffset) + "px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelLeft = messageTileUnit - layerOffset;
document.all[layerIDOut].style.pixelLeft = -layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.right++;
document.layers[layerIDIn].left--;
document.layers[layerIDOut].clip.left++;
document.layers[layerIDOut].left--;
}

if (layerOffset == messageTileUnit)
TileDone = true;

messageTileCount++;

if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex--;
break;
}

if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}

if (!loopBreak && TileDone)
messageTileIndex--;

if (messageTileIndex > 0)
setTimeout("messageRollRight()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildLeftRight();
}
}

function messageBuildLeftRight() {
var messageIn = 1 - messageFlag;
var layerID = "";
var layerClip = "";
var this_layer = null;

messagePoolIndex = (++messagePoolIndex < messagePoolLength)?messagePoolIndex:0;

if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
document.all[layerID].style.visibility = "hidden";
if (messageCurrentDirection == messageLeft) {
layerClip = "rect(0px " + ((i + 1) * messageTileUnit) + "px " + messageHeight + "px " + ((i + 1) * messageTileUnit) + "px)";
document.all[layerID].style.pixelLeft = -messageTileUnit;
}
else {
layerClip = "rect(0px " + (i * messageTileUnit) + "px " + messageHeight + "px " + (i * messageTileUnit) + "px)";
document.all[layerID].style.pixelLeft = messageTileUnit;
}
document.all[layerID].style.clip = layerClip;
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
document.all[layerID].offset = messageTileUnit;
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
this_layer = document.layers[layerID];
this_layer.visibility = "hidden";
if (messageCurrentDirection == messageLeft) {
this_layer.clip.top = 0;
this_layer.clip.right = (i + 1) * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = (i + 1) * messageTileUnit;
this_layer.left = -messageTileUnit;
}
else {
this_layer.clip.top = 0;
this_layer.clip.right = i * messageTileUnit;
this_layer.clip.bottom = messageHeight;
this_layer.clip.left = i * messageTileUnit;
this_layer.left = messageTileUnit;
}
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
this_layer.offset = messageTileUnit;
}

messageTileOffset = 0;
if (messageCurrentDirection == messageLeft) {
messageTileIndex = 0;
setTimeout("messageRollLeft()", messageInterval);
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageRight;
}
else {
messageTileIndex = messageTile;
setTimeout("messageRollRight()", messageInterval);
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageLeft;
}
}

function messageRollTop() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;

messageTileOffset++;

for (var i = messageTileIndex; i < messageTile; i++) {
ii = i + 1;
layerIDIn = messageID + messageIn + "" + i + "";
layerIDOut = messageID + messageOut + "" + i + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(" + (ii * messageTileUnit - layerOffset) + "px " + messageWidth + "px " + (ii * messageTileUnit) + "px 0px)";
layerClipOut = "rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + (ii * messageTileUnit - layerOffset) + "px 0px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelTop = layerOffset - messageTileUnit;
document.all[layerIDOut].style.pixelTop = layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.top--;
document.layers[layerIDIn].top++;
document.layers[layerIDOut].clip.bottom--;
document.layers[layerIDOut].top++;
}

if (layerOffset == messageTileUnit)
TileDone = true;

messageTileCount++;

if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex++;
break;
}

if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}

if (!loopBreak && TileDone)
messageTileIndex++;

if (messageTileIndex < messageTile)
setTimeout("messageRollTop()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildTopBottom();
}
}

function messageRollBottom() {
var messageIn = 1 - messageFlag;
var messageOut = messageFlag;
var layerIDIn = "";
var layerIDOut = "";
var layerClipIn = "";
var layerClipOut = "";
var layerOffset = 0;
var messageTileCount = 0;
var loopBreak = false;
var TileDone = false;
var ii = 0;

messageTileOffset++;

for (var i = messageTileIndex; i > 0; i--) {
ii = i - 1;
layerIDIn = messageID + messageIn + "" + ii + "";
layerIDOut = messageID + messageOut + "" + ii + "";
if (is_IE4) {
layerOffset = messageTileUnit - --document.all[layerIDIn].offset;
layerClipIn = "rect(" + (ii * messageTileUnit) + "px " + messageWidth + "px " + (ii * messageTileUnit + layerOffset) + "px 0px)";
layerClipOut = "rect(" + (ii * messageTileUnit + layerOffset) + "px " + messageWidth + "px " + (i * messageTileUnit) + "px 0px)";
document.all[layerIDIn].style.clip = layerClipIn;
document.all[layerIDOut].style.clip = layerClipOut;
document.all[layerIDIn].style.pixelTop = messageTileUnit - layerOffset;
document.all[layerIDOut].style.pixelTop = -layerOffset;
}
else {
layerOffset = messageTileUnit - --document.layers[layerIDIn].offset;
document.layers[layerIDIn].clip.bottom++;
document.layers[layerIDIn].top--;
document.layers[layerIDOut].clip.top++;
document.layers[layerIDOut].top--;
}

if (layerOffset == messageTileUnit)
TileDone = true;

messageTileCount++;

if (messageTileCount >= messageTileUnit) {
loopBreak = true;
messageTileIndex--;
break;
}

if (messageTileCount >= messageTileOffset) {
loopBreak = true;
break;
}
}

if (!loopBreak && TileDone)
messageTileIndex--;

if (messageTileIndex > 0)
setTimeout("messageRollBottom()", 1)
else {
messageFlag = 1 - messageFlag;
messageBuildTopBottom();
}
}

function messageBuildTopBottom() {
var messageIn = 1 - messageFlag;
var layerID = "";
var layerClip = "";
var this_layer = null;

messagePoolIndex = (++messagePoolIndex < messagePoolLength)?messagePoolIndex:0;

if (is_IE4)
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
document.all[layerID].style.visibility = "hidden";
if (messageCurrentDirection == messageTop) {
layerClip = "rect(" + ((i + 1) * messageTileUnit) + "px " + messageWidth + "px " + ((i + 1) * messageTileUnit) + "px 0px)";
document.all[layerID].style.pixelTop = -messageTileUnit;
}
else {
layerClip = "rect(" + (i * messageTileUnit) + "px " + messageWidth + "px " + (i * messageTileUnit) + "px 0px)";
document.all[layerID].style.pixelTop = messageTileUnit;
}
document.all[layerID].style.clip = layerClip;
document.all[layerID].innerHTML = messagePool[messagePoolIndex];
document.all[layerID].style.visibility = "visible";
document.all[layerID].offset = messageTileUnit;
}
else
for (var i = 0; i < messageTile; i++) {
layerID = messageID + messageIn + "" + i + "";
this_layer = document.layers[layerID];
this_layer.visibility = "hidden";
if (messageCurrentDirection == messageTop) {
this_layer.clip.top = (i + 1) * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = (i + 1) * messageTileUnit;
this_layer.clip.left = 0;
this_layer.top = -messageTileUnit;
}
else {
this_layer.clip.top = i * messageTileUnit;
this_layer.clip.right = messageWidth;
this_layer.clip.bottom = i * messageTileUnit;
this_layer.clip.left = 0;
this_layer.top = messageTileUnit;
}
this_layer.document.open();
this_layer.document.writeln(messagePool[messagePoolIndex]);
this_layer.document.close();
this_layer.visibility = "show";
this_layer.offset = messageTileUnit;
}

messageTileOffset = 0;
if (messageCurrentDirection == messageTop) {
messageTileIndex = 0;
setTimeout("messageRollTop()", messageInterval);
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageBottom;
}
else {
messageTileIndex = messageTile;
setTimeout("messageRollBottom()", messageInterval);
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageTop;
}
}

function messageBoard(msgID, msgPool, msgDirection, msgWidth, msgHeight, msgTile, msgInterval) {
is_NN4 = document.layers;
is_IE4 = document.all;

if (is_IE4 || is_NN4) {
messageHolderID = msgID;
messagePool = msgPool;
messagePoolLength = messagePool.length;
messageDirection = msgDirection;
messageCurrentDirection = messageDirection
if (messageDirection == messageTopBottom)
messageCurrentDirection = messageTop;
if (messageDirection == messageLeftRight)
messageCurrentDirection = messageLeft;
messageWidth = msgWidth;
messageHeight = msgHeight;
messageTile = msgTile;
if (messageCurrentDirection == messageLeft || messageCurrentDirection == messageRight)
messageTileUnit = Math.floor(msgWidth/msgTile)
else
messageTileUnit = Math.floor(msgHeight/msgTile);
messageInterval = msgInterval * 1000;

messageInit();
messageShow();

if (messageCurrentDirection == messageLeft || messageCurrentDirection == messageRight)
messageBuildLeftRight()
else
messageBuildTopBottom();
}
}
</script>
<script language="javascript">
var myMessage = new Array('<table bgcolor=#ff0000 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=verdana color=#0000ff><i>Текст сообщения синий</i></font></td></tr></table>',
'<table bgcolor=#00ff00 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=arial color=#ff0000><u>Текст сообщения красный</u></font></td></tr></table>',
'<table bgcolor=#0000ff cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=times color=#00ff00><b>Текст сообщения зеленый</b></font></td></tr></table>',
'<table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td bgcolor=#ff0000><font size=3 face=verdana color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#00ff00><font size=3 face=arial color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#0000ff><font size=3 face=times color=#ffffff>Текст сообщения белый</font></td></tr></table>');
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="messageBoard('myMessageBoard', myMessage, 5, 240, 90, 12, 2)">

<table align=center cellpadding=0 cellspacing=5 border=0>
<tr align=center valign=middle>
<td colspan=2><table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=left valign=top><td><div id="myMessageBoard" style="position:relative; left:0; top:0; visibility:visible; z-index:1;"></div></td></tr></table></td>
</tr>
<tr align=center valign=middle>
<td><table bgcolor=#ff0000 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=verdana color=#0000ff><i>Текст сообщения синий</i></font></td></tr></table></td>
<td><table bgcolor=#00ff00 cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=arial color=#ff0000><u>Текст сообщения красный</u></font></td></tr></table></td>
</tr>
<tr align=center valign=middle>
<td><table bgcolor=#0000ff cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td><font size=4 face=times color=#00ff00><b>Текст сообщения зеленый</b></font></td></tr></table></td>
<td><table cellpadding=0 cellspacing=0 width=240 height=90 border=0><tr align=center valign=middle><td bgcolor=#ff0000><font size=3 face=verdana color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#00ff00><font size=3 face=arial color=#ffffff>Текст сообщения белый</font></td></tr><tr align=center valign=middle><td bgcolor=#0000ff><font size=3 face=times color=#ffffff>Текст сообщения белый</font></td></tr></table></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scrol118

Строчно-вертикальный скроллер

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript">
/**********************************
 ********************************************
* dhtmllib.js                                                                 *
*                                                                             *
* Copyright 1999 by Mike Hall.                                                *
* Web address: http://www.brainjar.com                                        *
* Last update: November 30, 1999.                                             *
*                                                                             *
* Provides basic functions for DHTML positioned elements which will work on   *
* both Netscape Communicator and Internet Explorer browsers (version 4.0 and  *
* up).                                                                        *
********************************* *********************************************/

// Determine browser.

var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("5.")) >= 0 ? 1 : 0;

//------------------------------------
 -----------------------------------------
// Layer visibility.
//-----------------------------------
 ------------------------------------------

function hideLayer(layer) {

if (isMinNS4)
layer.visibility = "hide";
if (isMinIE4)
layer.style.visibility = "hidden";
}

function showLayer(layer) {

if (isMinNS4)
layer.visibility = "show";
if (isMinIE4)
layer.style.visibility = "visible";
}

function isVisible(layer) {

if (isMinNS4 && layer.visibility == "show")
return(true);
if (isMinIE4 && layer.style.visibility == "visible")
return(true);

return(false);
}

//-------------------------------------
 ----------------------------------------
// Layer positioning.
//------------------------------------
 -----------------------------------------

function moveLayerTo(layer, x, y) {

if (isMinNS4)
layer.moveTo(x, y);
if (isMinIE4) {
layer.style.left = x;
layer.style.top  = y;
}
}

function moveLayerBy(layer, dx, dy) {

if (isMinNS4)
layer.moveBy(dx, dy);
if (isMinIE4) {
layer.style.pixelLeft += dx;
layer.style.pixelTop  += dy;
}
}

function getLeft(layer) {

if (isMinNS4)
return(layer.left);
if (isMinIE4)
return(layer.style.pixelLeft);
return(-1);
}

function getTop(layer) {

if (isMinNS4)
return(layer.top);
if (isMinIE4)
return(layer.style.pixelTop);
return(-1);
}

function getRight(layer) {

if (isMinNS4)
return(layer.left + getWidth(layer));
if (isMinIE4)
return(layer.style.pixelLeft + getWidth(layer));
return(-1);
}

function getBottom(layer) {

if (isMinNS4)
return(layer.top + getHeight(layer));
else if (isMinIE4)
return(layer.style.pixelTop + getHeight(layer));
return(-1);
}

function getPageLeft(layer) {

if (isMinNS4)
return(layer.pageX);
if (isMinIE4)
return(layer.offsetLeft);
return(-1);
}

function getPageTop(layer) {

if (isMinNS4)
return(layer.pageY);
if (isMinIE4)
return(layer.offsetTop);
return(-1);
}

function getWidth(layer) {

if (isMinNS4) {
if (layer.document.width)
return(layer.document.width);
else
return(layer.clip.right - layer.clip.left);
}
if (isMinIE4) {
if (layer.style.pixelWidth)
return(layer.style.pixelWidth);
else
return(layer.clientWidth);
}
return(-1);
}

function getHeight(layer) {

if (isMinNS4) {
if (layer.document.height)
return(layer.document.height);
else
return(layer.clip.bottom - layer.clip.top);
}
if (isMinIE4) {
if (false && layer.style.pixelHeight)
return(layer.style.pixelHeight);
else
return(layer.clientHeight);
}
return(-1);
}

function getzIndex(layer) {

if (isMinNS4)
return(layer.zIndex);
if (isMinIE4)
return(layer.style.zIndex);

return(-1);
}

function setzIndex(layer, z) {

if (isMinNS4)
layer.zIndex = z;
if (isMinIE4)
layer.style.zIndex = z;
}

//------------------------------------
 -----------------------------------------
// Layer clipping.
//------------------------------------
 -----------------------------------------

function clipLayer(layer, clipleft, cliptop, clipright, clipbottom) {

if (isMinNS4) {
layer.clip.left   = clipleft;
layer.clip.top    = cliptop;
layer.clip.right  = clipright;
layer.clip.bottom = clipbottom;
}
if (isMinIE4)
layer.style.clip = 'rect(' + cliptop + ' ' +  clipright + ' ' + clipbottom + ' ' + clipleft +')';
}

function getClipLeft(layer) {

if (isMinNS4)
return(layer.clip.left);
if (isMinIE4) {
var str =  layer.style.clip;
if (!str)
return(0);
var clip = getIEClipValues(layer.style.clip);
return(clip[3]);
}
return(-1);
}

function getClipTop(layer) {

if (isMinNS4)
return(layer.clip.top);
if (isMinIE4) {
var str =  layer.style.clip;
if (!str)
return(0);
var clip = getIEClipValues(layer.style.clip);
return(clip[0]);
}
return(-1);
}

function getClipRight(layer) {

if (isMinNS4)
return(layer.clip.right);
if (isMinIE4) {
var str =  layer.style.clip;
if (!str)
return(layer.style.pixelWidth);
var clip = getIEClipValues(layer.style.clip);
return(clip[1]);
}
return(-1);
}

function getClipBottom(layer) {

if (isMinNS4)
return(layer.clip.bottom);
if (isMinIE4) {
var str =  layer.style.clip;
if (!str)
return(layer.style.pixelHeight);
var clip = getIEClipValues(layer.style.clip);
return(clip[2]);
}
return(-1);
}

function getClipWidth(layer) {

if (isMinNS4)
return(layer.clip.width);
if (isMinIE4) {
var str = layer.style.clip;
if (!str)
return(layer.style.pixelWidth);
var clip = getIEClipValues(layer.style.clip);
return(clip[1] - clip[3]);
}
return(-1);
}

function getClipHeight(layer) {

if (isMinNS4)
return(layer.clip.height);
if (isMinIE4) {
var str =  layer.style.clip;
if (!str)
return(layer.style.pixelHeight);
var clip = getIEClipValues(layer.style.clip);
return(clip[2] - clip[0]);
}
return(-1);
}

function getIEClipValues(str) {

var clip = new Array();
var i;

// Parse out the clipping values for IE layers.

i = str.indexOf("(");
clip[0] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[1] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[2] = parseInt(str.substring(i + 1, str.length), 10);
i = str.indexOf(" ", i + 1);
clip[3] = parseInt(str.substring(i + 1, str.length), 10);
return(clip);
}

//----------------------------------
 -------------------------------------------
// Layer scrolling.
//----------------------------------
 -------------------------------------------

function scrollLayerTo(layer, x, y, bound) {

var dx = getClipLeft(layer) - x;
var dy = getClipTop(layer) - y;

scrollLayerBy(layer, -dx, -dy, bound);
}

function scrollLayerBy(layer, dx, dy, bound) {

var cl = getClipLeft(layer);
var ct = getClipTop(layer);
var cr = getClipRight(layer);
var cb = getClipBottom(layer);

if (bound) {
if (cl + dx < 0)

dx = -cl;

else if (cr + dx > getWidth(layer))
dx = getWidth(layer) - cr;
if (ct + dy < 0)

dy = -ct;

else if (cb + dy > getHeight(layer))
dy = getHeight(layer) - cb;
}

clipLayer(layer, cl + dx, ct + dy, cr + dx, cb + dy);
moveLayerBy(layer, -dx, -dy);
}

//-------------------------------------
 ----------------------------------------
// Layer background.
//------------------------------------
 -----------------------------------------

function setBgColor(layer, color) {

if (isMinNS4)
layer.bgColor = color;
if (isMinIE4)
layer.style.backgroundColor = color;
}

function setBgImage(layer, src) {

if (isMinNS4)
layer.background.src = src;
if (isMinIE4)
layer.style.backgroundImage = "url(" + src + ")";
}

//--------------------------------------
 ---------------------------------------
// Layer utilities.
//--------------------------------------
 ---------------------------------------

function getLayer(name) {

if (isMinNS4)
return findLayer(name, document);
if (isMinIE4)
return eval('document.all.' + name);

return null;
}

function findLayer(name, doc) {

var i, layer;

for (i = 0; i < doc.layers.length; i++) {
layer = doc.layers[i];
if (layer.name == name)
return layer;
if (layer.document.layers.length > 0) {
layer = findLayer(name, layer.document);
if (layer != null)
return layer;
}
}

return null;
}

//--------------------------------------
 ---------------------------------------
// Window and page properties.
//--------------------------------------
 ---------------------------------------

function getWindowWidth() {

if (isMinNS4)
return(window.innerWidth);
if (isMinIE4)
return(document.body.clientWidth);
return(-1);
}

function getWindowHeight() {

if (isMinNS4)
return(window.innerHeight);
if (isMinIE4)
return(document.body.clientHeight);
return(-1);
}

function getPageWidth() {

if (isMinNS4)
return(document.width);
if (isMinIE4)
return(document.body.scrollWidth);
return(-1);
}

function getPageHeight() {

if (isMinNS4)
return(document.height);
if (isMinIE4)
return(document.body.scrollHeight);
return(-1);
}

function getPageScrollX() {

if (isMinNS4)
return(window.pageXOffset);
if (isMinIE4)
return(document.body.scrollLeft);
return(-1);
}

function getPageScrollY() {

if (isMinNS4)
return(window.pageYOffset);
if (isMinIE4)
return(document.body.scrollTop);
return(-1);
}
</script>
<script language="JavaScript">
/***************************************
 ***************************************
* scroller.js                                                                 *
*                                                                             *
* Copyright 1999 by Mike Hall.                                                *
* Web address: http://www.brainjar.com                                        *
* Last update: December 1, 1999.                                              *
*                                                                             *
* Allows you to create scrolling displays on a page. Multiple scrollers can   *
* be defined, each with it's own parameters and list of items. Item text can  *
* include basic HTML tags, including links and images.                        *
* Note: requires dhtmllib.js.                                                 *
************************************** ****************************************/

//*************************************
 ****************************************
// Scroller constructor.
//*************************************
 ****************************************

function Scroller(x, y, width, height, border, padding) {

this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.border = border;
this.padding = padding;

this.items = new Array();
this.created = false;

// Set default colors.

this.fgColor = "#000000";
this.bgColor = "#ffffff";
this.bdColor = "#000000";

// Set default font.

this.fontFace = "Arial,Helvetica";
this.fontSize = "2";

// Set default scroll timing values.

this.speed = 50;
this.pauseTime = 2000;

// Define methods.

this.setColors = scrollerSetColors;
this.setFont = scrollerSetFont;
this.setSpeed = scrollerSetSpeed;
this.setPause = scrollersetPause;
this.addItem = scrollerAddItem;
this.create = scrollerCreate;
this.show = scrollerShow;
this.hide = scrollerHide;
this.moveTo = scrollerMoveTo;
this.moveBy = scrollerMoveBy;
this.getzIndex = scrollerGetzIndex;
this.setzIndex = scrollerSetzIndex;
this.stop = scrollerStop;
this.start = scrollerStart;
}

//*************************************
 ****************************************
// Scroller methods.
//************************************
 *****************************************

function scrollerSetColors(fgcolor, bgcolor, bdcolor) {

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.fgColor = fgcolor;
this.bgColor = bgcolor;
this.bdColor = bdcolor;
}

function scrollerSetFont(face, size) {

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.fontFace = face;
this.fontSize = size;
}

function scrollerSetSpeed(pps) {

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.speed = pps;
}

function scrollersetPause(ms) {

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.pauseTime = ms;
}

function scrollerAddItem(str) {

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.items[this.items.length] = str;
}

function scrollerCreate() {

var start, end;
var str;
var i, j;
var x, y;

if (!isMinNS4 && !isMinIE4)
return;

// On first scroller, start interval timer.

if (scrollerList.length == 0)
setInterval('scrollerGo()', scrollerInterval);

// Create the scroller only once.

if (this.created) {
alert("Scroller Error: Scroller has already been created.");
return;
}
this.created = true;

// Copy first item to the end of the list, this lets us scroll from the last
// defined item to the first without jumping.

this.items[this.items.length] = this.items[0];

// Set up HTML code for item text.

start = '<table border=0'
+ ' cellpadding=' + (this.padding + this.border)
+ ' cellspacing=0'
+ ' width=' + this.width
+ ' height=' + this.height + '>'
+ '<tr><td>'
+ '<font'
+ ' color="' + this.fgColor + '"'
+ ' face="' + this.fontFace + '"'
+ ' size=' + this.fontSize + '>';
end   = '</font></td></tr></table>';

// Build the layers.

if (isMinNS4) {
this.baseLayer = new Layer(this.width);
this.scrollLayer = new Layer(this.width, this.baseLayer);
this.scrollLayer.visibility = "inherit";
this.itemLayers = new Array();
for (i = 0; i < this.items.length; i++) {
this.itemLayers[i] = new Layer(this.width, this.scrollLayer);
this.itemLayers[i].document.open();
this.itemLayers[i].document.writeln(start + this.items[i] + end);
this.itemLayers[i].document.close();
this.itemLayers[i].visibility = "inherit";
}

// Set background colors.

setBgColor(this.baseLayer, this.bdColor);
setBgColor(this.scrollLayer, this.bgColor);
}

if (isMinIE4) {
i = scrollerList.length;
str = '<div id="scroller' + i + '_baseLayer"'
+ ' style="position:absolute;'
+ ' background-color:' + this.bdColor + ';'
+ ' width:' + this.width + 'px;'
+ ' height:' + this.height + 'px;'
+ ' overflow:hidden;'
+ ' visibility:hidden;">\n'
+ '<div id="scroller' + i + '_scrollLayer"'
+ ' style="position:absolute;'
+ ' background-color: ' + this.bgColor + ';'
+ ' width:' + this.width + 'px;'
+ ' height:' + (this.height * this.items.length) + 'px;'
+ ' visibility:inherit;">\n';
for (j = 0; j < this.items.length; j++) {
str += '<div id="scroller' + i + '_itemLayers' + j + '"'
+  ' style="position:absolute;'
+  ' width:' + this.width + 'px;'
+  ' height:' + this.height + 'px;'
+  ' visibility:inherit;">\n'
+  start + this.items[j] + end
+  '</div>\n';
}
str += '</div>\n'
+  '</div>\n';

// Insert HTML code at end of page. For IE4, need to scroll window to
// end of page, insert and scroll back to correct bug.

if (!isMinIE5) {
x = getPageScrollX();
y = getPageScrollY();
window.scrollTo(getPageWidth(), getPageHeight());
}
document.body.insertAdjacentHTML("beforeEnd", str);
if (!isMinIE5)
window.scrollTo(x, y);

// Get handles to each layer.

this.baseLayer = getLayer("scroller" + i + "_baseLayer");
this.scrollLayer = getLayer("scroller" + i + "_scrollLayer");
this.itemLayers = new Array();
for (j = 0; j < this.items.length; j++)
this.itemLayers[j] = getLayer("scroller" + i + "_itemLayers" + j);
}

// Position and clip base and scroll layers.

moveLayerTo(this.baseLayer, this.x, this.y);
clipLayer(this.baseLayer, 0, 0, this.width, this.height);
moveLayerTo(this.scrollLayer, this.border, this.border);
clipLayer(this.scrollLayer, 0, 0,
this.width - 2 * this.border, this.height - 2 * this.border);

// Position and clip each item layer.

x = 0;
y = 0;
for (i = 0; i < this.items.length; i++) {
moveLayerTo(this.itemLayers[i], x, y);
clipLayer(this.itemLayers[i], 0, 0, this.width, this.height);
y += this.height;
}

// Set up scrolling parameters.

this.stopped = false;
this.currentY = 0;
this.stepY = this.speed / (1000 / scrollerInterval);
this.stepY = Math.min(this.height, this.stepY);
this.nextY = this.height;
this.maxY = this.height * (this.items.length - 1);
this.paused = true;
this.counter = 0;

// Add to global list.

scrollerList[scrollerList.length] = this;

// Display it.

showLayer(this.baseLayer);
}

function scrollerShow() {

if (this.created)
showLayer(this.baseLayer);
}

function scrollerHide() {

if (this.created)
hideLayer(this.baseLayer);
}

function scrollerMoveTo(x, y) {

if (this.created)
moveLayerTo(this.baseLayer, x, y);
}

function scrollerMoveBy(dx, dy) {

if (this.created)
moveLayerBy(this.baseLayer, dx, dy);
}

function scrollerGetzIndex() {

if (this.created)
return(getzIndex(this.baseLayer));
else
return(0);
}

function scrollerSetzIndex(z) {

if (this.created)
setzIndex(this.baseLayer, z);
}

function scrollerStart() {

this.stopped = false;
}

function scrollerStop() {

this.stopped = true;
}

//***********************************
 ******************************************
// Code for scrolling.
//***********************************
 ******************************************

// An array is used to hold a pointer to each scroller that is defined. The
// scrollerGo() function runs at regular intervals and updates each scroller
// in this list.

var scrollerList     = new Array();
var scrollerInterval = 20;

function scrollerGo() {

var i;

// Update each scroller object in the list.

for (i = 0; i < scrollerList.length; i++) {

// If stopped, skip.

if (scrollerList[i].stopped);

// If paused, update counter.

else if (scrollerList[i].paused) {
scrollerList[i].counter += scrollerInterval;
if (scrollerList[i].counter > scrollerList[i].pauseTime)
scrollerList[i].paused = false;
}

// Scroll it.

else {
scrollerList[i].currentY += scrollerList[i].stepY;

// Pause it if the next item has scrolled into view.

if (scrollerList[i].currentY >= scrollerList[i].nextY) {
scrollerList[i].paused = true;
scrollerList[i].counter = 0;
scrollerList[i].currentY = scrollerList[i].nextY;
scrollerList[i].nextY += scrollerList[i].height;
}

// When we reach the end, start over.

if (scrollerList[i].currentY >= scrollerList[i].maxY) {
scrollerList[i].currentY -= scrollerList[i].maxY;
scrollerList[i].nextY = scrollerList[i].height;
}
scrollLayerTo(scrollerList[i].scrollLayer,
0, Math.round(scrollerList[i].currentY),
false);
}
}
}

//************************************
 *****************************************
// Code to handle a window resize.
//***********************************
 ******************************************

// These variables are used to determine if a resize event is a true one.
// Necessary due to a bug in older NS4 releases.

var origWidth;
var origHeight;

// Fix for resize bug.

if (isMinNS4) {
origWidth  = window.innerWidth;
origHeight = window.innerHeight;
}
window.onresize = scrollerReload;

function scrollerReload() {

// Reload page in case of a browser resize. First make sure it's a true
// resize.

if (isMinNS4 && origWidth == window.innerWidth && origHeight == window.innerHeight)
return;
window.location.href = window.location.href;
}
</script>
<script language="JavaScript">

/*
Mike's DHTML scroller (By Mike Hall @ Brainjar.com)
Permission granted to Dynamicdrive.com to include script in archive
For this and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var myScroller1 = new Scroller(0, 0, 370, 52, 1, 8);
myScroller1.setColors("#006600", "#ccffcc", "#009900");
myScroller1.setFont("Verdana,Arial,Helvetica", 2);
myScroller1.addItem("<b>Кликните здесь <a href='home.htm'>\"Домашняя страница\"</a>, и попадете на home.htm.</b>");
myScroller1.addItem("<b>Попробуйте <a href='Link.htm'>Link.htm</a> - совершенно пустая страница.</b>");
myScroller1.addItem("<b>Еще одна совершенно пустая <a href='another.htm'>страница.</a>");
myScroller1.addItem("<b>Если кликните <a href='popdemo.htm' target='_blank'>ДЕМО</a>, popdemo.htm откроется в отдельном окне.</b>");

function runmikescroll() {

var layer;
var mikex, mikey;

// Locate placeholder layer so we can use it to position the scrollers.

layer = getLayer("placeholder");
mikex = getPageLeft(layer);
mikey = getPageTop(layer);

// Create the first scroller and position it.

myScroller1.create();
myScroller1.hide();
myScroller1.moveTo(mikex, mikey);
myScroller1.setzIndex(100);
myScroller1.show();
}

window.onload=runmikescroll
</script>

<div id="placeholder" style="position:relative; width:370px; height:52px;">&nbsp;</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll19

Вертикальный скроллер линков, с паузой.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">

/*
Pausing updown message scroller-
Last updated: 99/07/05 (Bugs fixed, ability to specify background image for scroller)
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

//configure the below five variables to change the style of the scroller
var scrollerwidth=150   //
 РАЗМЕРЫ БОКСА ДЛЯ СКРОЛЛЕРА
var scrollerheight=120
var scrollerbgcolor='lightyellow'
//set below to '' if you don't wish to use a background image
var scrollerbackground='scrollerback.gif'

//configure the below variable to change the contents of the scroller
var messages=new Array()
messages[0]="<font face='Arial'> <a href='#top'>Название линка ПЕРВОГО</a></font>"
messages[1]="<font face='Arial'> <a href='#top'>Название линка ВТОРОГО</a></font>"
messages[2]="<font face='Arial'> <a href='#top'>Название линка ТРЕТЬЕГО</a></font>"
messages[3]="<font face='Arial'> <a href='#top'>Название линка ЧЕТВЕРТОГО</a></font>"
messages[4]="<font face='Arial'> <a href='#top'>Название линка ПЯТОГО</a></font>"

///////Do not edit pass this line///////////////////////

if (messages.length>1)
i=2
else
i=0

function move1(whichlayer){
tlayer=eval(whichlayer)
if (tlayer.top>0&&tlayer.top<=5){
tlayer.top=0
setTimeout("move1(tlayer)",3000)
setTimeout("move2(document.main.document.second)",3000)
return
}
if (tlayer.top>=tlayer.document.height*-1){
tlayer.top-=5
setTimeout("move1(tlayer)",100)
}
else{
tlayer.top=scrollerheight
tlayer.document.write(messages[i])
tlayer.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move2(whichlayer){
tlayer2=eval(whichlayer)
if (tlayer2.top>0&&tlayer2.top<=5){
tlayer2.top=0
setTimeout("move2(tlayer2)",3000)
setTimeout("move1(document.main.document.first)",3000)
return
}
if (tlayer2.top>=tlayer2.document.height*-1){
tlayer2.top-=5
setTimeout("move2(tlayer2)",100)
}
else{
tlayer2.top=scrollerheight
tlayer2.document.write(messages[i])
tlayer2.document.close()
if (i==messages.length-1)
i=0
else
i++
}
}

function move3(whichdiv){
tdiv=eval(whichdiv)
if (tdiv.style.pixelTop>0&&tdiv.style.pixelTop<=5){
tdiv.style.pixelTop=0
setTimeout("move3(tdiv)",3000)
setTimeout("move4(second2)",3000)
return
}
if (tdiv.style.pixelTop>=tdiv.offsetHeight*-1){
tdiv.style.pixelTop-=5
setTimeout("move3(tdiv)",100)
}
else{
tdiv.style.pixelTop=scrollerheight
tdiv.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function move4(whichdiv){
tdiv2=eval(whichdiv)
if (tdiv2.style.pixelTop>0&&tdiv2.style.pixelTop<=5){
tdiv2.style.pixelTop=0
setTimeout("move4(tdiv2)",3000)
setTimeout("move3(first2)",3000)
return
}
if (tdiv2.style.pixelTop>=tdiv2.offsetHeight*-1){
tdiv2.style.pixelTop-=5
setTimeout("move4(second2)",100)
}
else{
tdiv2.style.pixelTop=scrollerheight
tdiv2.innerHTML=messages[i]
if (i==messages.length-1)
i=0
else
i++
}
}

function startscroll(){
if (document.all){
move3(first2)
second2.style.top=scrollerheight
second2.style.visibility='visible'
}
else if (document.layers){
document.main.visibility='show'
move1(document.main.document.first)
document.main.document.second.top=scrollerheight+5
document.main.document.second.visibility='show'
}
}

window.onload=startscroll

</script>

<ilayer id="main" width=&{scrollerwidth}; height=&{scrollerheight}; bgColor=&{scrollerbgcolor}; background=&{scrollerbackground}; visibility=hide>
<p>
<p>
<layer id="first" left=0 top=1 width=&{scrollerwidth};>
<script language="JavaScript1.2">
if (document.layers)
document.write(messages[0])
</script>
</layer>
<layer id="second" left=0 top=0 width=&{scrollerwidth}; visibility=hide>
<script language="JavaScript1.2">
if (document.layers)
document.write(messages[1])
</script>
</layer>
</ilayer>

<script language="JavaScript1.2">
if (document.all){
document.writeln('<span id="main2" style="position:relative;
 width:'+scrollerwidth+';height:'+scrollerheight+';
 overflow:hiden;background-color:'+scrollerbgcolor+' ;background-image:url('+scrollerbackground+')">')
document.writeln('<div style="position:absolute;width:'+scrollerwidth+';
 height:'+scrollerheight+';clip:rect(0 '+scrollerwidth+' '+scrollerheight+' 0);left:0;top:0">')
document.writeln('<div id="first2" style="position:absolute;
 width:'+scrollerwidth+';left:0;top:1;">')
document.write(messages[0])
document.writeln('</div>')
document.writeln('<div id="second2" style="position:absolute;
 width:'+scrollerwidth+';left:0;top:0;visibility:hidden">')
document.write(messages[1])
document.writeln('</div>')
document.writeln('</div>')
document.writeln('</span>')
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll16

Слово приветствия...
Этот небольшой скрипт написан просто из баловства. Я и сам толком не знаю где его применить. Но эффект скроллинга налицо, без всяких дополнительных примочек, вроде создания дополнительного HTML документа для pop-up окна, вставки в него скрипта и т.д. Хотя скорость набора слов сильно зависит от производительности Вашего компьютера. На 2 Ггц, мне кажется, фраза выскочет мгновенно. Больше похоже на бенчмарку.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language=JavaScript>
// EZ 2001  http://javashelp.cjb.net

var char=new Array('П','р','и','в','е','т',',', '&nbsp','б','о','л','ь','ш','и','е','&nbsp',
'д','я','д','и','!','<br>','В','ы','&nbsp','с','а', 'м','ы','е','&nbsp','л','у','ч','ш','и','е',
'&nbsp','в','&nbsp','М','и','р','е','&nbsp', 'б','о','л','ь','ш','и','е','<br>','п','ь','я','н','ы','е','&nbsp',
'д','я','д','и','.','&nbsp','Г','е','г','е','м','о', 'н','ы','!');
function privet() {
var greet = open("","greetwin","toolbar=no,
 directories=no, menubar=no,width=345,height=170")
greet.document.write("<HTML> <HEAD><TITLE>Окно для Приветствия</TITLE></HEAD><BODY OnClick=\"self.close()\" BGCOLOR=BLACK>");
greet.document.write("<FONT FACE=HELVETICA COLOR=LIME><CENTER><B>СЛОВО ПРИВЕТСТВИЯ!</B>
 </FONT></CENTER><HR>");
greet.document.write("<font face=verdana color=yellow><big>");
for (var i=0;i<75;i++)
greet.document.write(""+char[i]+"");
greet.document.write("</big></font>");
greet.document.write("<HR></BODY></HTML>") ;
}
</script>
<input type=button value="Пивет!" onClick="privet()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


scroll12

"Самокорректирующийся" скроллер

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p id='anima' style="position:absolute;font-size:20;background-color:silver;">
</font>
</p>
<br>
<br>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: dzzie@yahoo.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
text = "Добавьте.этот.скрипт.на.свой.сайт!..Он.может.дфаз/4даже.корректировать.сам.себя.!..:-)"
word = text.split('.')
i = -1;
j = 0;
start = 0;
scount = 0;
function checkIt() {
with(document.all.anima) {
if(innerText.charAt(innerText.length-1) == "_") {
innerText = innerText.substring(0, innerText.length - 1);
return true;
}
else {
innerText = innerText + "_";
return false;
}
}
}
function blinkfor(count, timing) {
with(document.all.anima) {
if(start < count) {
if(checkIt()) {
start++;
}
mistake = 'blinkfor('+count+','+timing+')';
setTimeout('eval(mistake)', timing);
}
else {
start = 0;
i++;
call_It();
}
}
}
function mispell(offset,correction) {
with(document.all.anima) {
if(scount < offset) {
if(!checkIt()) {
innerText = innerText.substring(0, innerText.length-2) + "_";
scount++;
}
mistake = 'mispell(' + offset + ', "' + correction + '")';
setTimeout("eval(mistake)", 150);
}
else {
if(correction == '' && scount == offset ) {
i = i - offset;
scount++;
}
if(offset > 0) {
if(checkIt()) {
innerText += correction.charAt(correction.length - offset) + "_";
offset--;
}
mistake = 'mispell(' + offset + ',"' + correction + '")';
setTimeout("eval(mistake)", 150);
}
else {
scount = 0;
j++;
innerText = innerText.substring(0, innerText.length - 1);
call_It();
}
}
}
}
function spellit(string) {
with(document.all.anima) {
if(i <= string.length) {
if(string.charAt(i) == '/') {
NumErrs = string.charAt(i + 1);
NewLets = string.substring(i + 2, i + NumErrs);
mispell(NumErrs,NewLets);
}
else if(i <= string.length - 1) {
i++;
innerText = string.substring(0,i) + "_";
mistake = 'spellit("' + string + '")';
setTimeout("eval(mistake)", 150);
}
else {
innerText = string.substring(0, i);
j++;
call_It();
}
}
}
}
function call_It() {
with(document.all) {
if(i == -1){
blinkfor(4, 150);
}
else if(j <= word.length - 1) {
spellit(anima.innerText + " " + word[j]);
}
else {
blinkfor(100,230);
}
}
}
if(document.all) {
call_It();
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Sc 8

Скроллер "ТЕЛЕТАЙП"
(в форме)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
// 1996 by Christoph Bergmann... http://acc.de/cb
// Please keep this note...
var max=0;
function textlist()
{
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl=new textlist
(

"Можете поместить здесь текст"
);
var x=0; pos=0;
var l=tl[0].length;

function textticker()
{
document.tickform.tickfield.value=tl[x].substring(0,pos)+"_";

if(pos++==l)
{
pos=0;
setTimeout("textticker()",1000); // Скорость появления букв
x++;
if(x==max)
x=0;
l=tl[x].length;
} else
setTimeout("textticker()",50);// Задержка обновления
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="textticker()">

<FORM NAME="tickform">
<INPUT TYPE="TEXT" NAME="tickfield" SIZE="30"><!--Ширина формы--->
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt28

"Умный" скроллинг
 (пользователи Netscape увидят статичное сообщение)

JS Library . . . Выберите скрипт и добавьте его на свой сайт!

(Для контроля движения текста передвигайте курсор мыши сверху вниз, слева направо и наоборот)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Sebastian Bender (sebastianbender@hotmail.com) -->
<!-- Web Site: http://behp2.tripod.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ostat = false;
function scrollstop() {
news.scrollAmount = 0;
ostat = true;
}
function scrollplay() {
news.scrollAmount = 5;
ostat = false;
}
function scrolldir() {
mid = screen.width / 2;
mouse = event.x;
if(mouse > mid) {
if(ostat == false) {
speed = (mouse - mid) / 25;
news.scrollAmount = speed;
}
news.direction = "right";
}
else {
if(ostat == false) {
speed = (mid - mouse) / 25;
news.scrollAmount = speed;
}
news.direction = "left";
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onMouseMove="scrolldir()">

<marquee name=news id=news behavior=scroll direction=left scrollamount=5 scrolldelay=1 hspace=0 vspace=0 onmouseover="scrollstop()" onmouseout="scrollplay()">
<b>JS Library . . . Выберите скрипт и добавьте его на свой сайт!</b>
</marquee>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random15

Случайные 16 чисел
Скрипт генерирует ряд из 16 случайных чисел в пределах от 1 до 16 во время загрузки; может быть использован где угодно.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
num= new Array(16);
for (i=0; i<16; i++) {
num[i]=Math.floor(16*Math.random()+1);
if (num[1]==num[0]) {
while (num[1]==num[0]) {
num[1]=Math.floor(16*Math.random()+1);
}
}
if (num[2]==num[1] || num[2]==num[0]) {
while (num[2]==num[1] || num[2]==num[0]) {
num[2]=Math.floor(16*Math.random()+1);
}
}
if (num[3]==num[2] || num[3]==num[1] || num[3]==num[0]) {
while (num[3]==num[2] || num[3]==num[1] || num[3]==num[0]) {
num[3]=Math.floor(16*Math.random()+1);
}
}
document.write(num[i],", ");
}
// End -->
</SCRIPT>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Gen6

Случайные имя и фамилия
(сами имена не изменялись сознательно - если и понадобиться подобный генератор кому-либо из русскоязычных интернетчиков, то только с определенной целью, не связанной с применением русских имен.. ;-)

Имя:
Фамилия:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael C. Hundt (mchundt@nglic.com) -->
<!-- Web Site: http://www.cinet.net/~mhundt/mystuff.htm -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var malename = new Array(
"Allen","Bob","Carlton",
"David","Ernie","Foster",
"George","Howard","Ian",
"Jeffery","Kenneth","Lawrence",
"Michael","Nathen","Orson",
"Peter","Quinten","Reginald",
"Stephen","Thomas","Morris",
"Victor","Walter","Xavier",
"Charles","Anthony","Gordon",
"Percy","Conrad","Quincey",
"Armand","Jamal","Andrew",
"Matthew","Mark","Gerald"
)
var femalename = new Array(
"Alice","Bonnie","Cassie",
"Donna","Ethel","Grace",
"Heather","Jan","Katherine",
"Julie","Marcia","Patricia",
"Mabel","Jennifer","Dorthey",
"Mary Ellen","Jacki","Jean",
"Betty","Diane","Annette",
"Dawn","Jody","Karen",
"Mary Jane","Shannon","Stephanie",
"Kathleen","Emily","Tiffany",
"Angela","Christine","Debbie",
"Karla","Sandy","Marilyn",
"Brenda","Hayley","Linda"
)
var lastname = new Array(
"Adams","Bowden","Conway",
"Darden","Edwards","Flynn",
"Gilliam","Holiday","Ingram",
"Johnson","Kraemer","Hunter",
"McDonald","Nichols","Pierce",
"Sawyer","Saunders","Schmidt",
"Schroeder","Smith","Douglas",
"Ward","Watson","Williams",
"Winters","Yeager","Ford",
"Forman","Dixon","Clark",
"Churchill","Brown","Blum",
"Anderson","Black","Cavenaugh",
"Hampton","Jenkins","Prichard"
)
var r = 0;
var i = 0;
function RandomName(nameform) {
r = Math.floor(Math.random() * lastname.length);
if(nameform.gender.options[1].selected == true) {
i = Math.floor(Math.random() * femalename.length);
nameform.first.value=femalename[i]
nameform.last.value=lastname[r]
}
else {
i = Math.floor(Math.random() * malename.length);
nameform.first.value=malename[i]
nameform.last.value=lastname[r]
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table width=300>
<tr>
<td align=center colspan=2>
<select name=gender size=1>
<option value="Male">Муж.
<option value="Female">Жен.
</select>
<input type=button name=generate value="Сгенериравать имя" onClick="RandomName(this.form)">
</td>
</tr>
<tr>
<td align=center><b>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Имя:</b></td>
<td align=center><input type=text name=first size=15></td>
</tr>
<tr>
<td align=center><b>Фамилия:</b></td>
<td align=center><input type=text name=last size=15></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random16

Случайная загадка с ответом Pop-up
(это может быть и шуточный вопрос с ответом, и серьезный тест)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Hall (randy.hall@i.am) -->
<!-- Web Site: http://i.am/randy.hall -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var QA = new Array();
QA[0] = new Array("Случайный вопрос 1", "Ответ к случайному вопросу 1");
QA[1] = new Array("Случайный вопрос 2", "Ответ к случайному вопросу 2");
QA[2] = new Array("Случайный вопрос 3", "Ответ к случайному вопросу 3");
QA[3] = new Array("Случайный вопрос 4", "Ответ к случайному вопросу 4");
QA[4] = new Array("Случайный вопрос 5", "Ответ к случайному вопросу 5");

var ql = QA.length - 1;
var qx = Math.round(Math.random() * ql);
if (qx < 0) { qx = 0; };
x = QA[qx][0], y = QA[qx][1];
var isNav = (navigator.appName.indexOf("Netscape") != -1);
var Ypos = 0;
function setupDescriptions() {
var x = navigator.appVersion;
y = x.substring(0,4);
if (y >= 4) setVariables();
}
var x, y, a, b;
function setVariables() {
if (navigator.appName == "Netscape") {
h=".left="; v=".top="; dS="document."; sD="";
}
else {
h=".pixelLeft="; v=".pixelTop="; dS=""; sD=".style";
}
}
function popLayer(a) {
desc = "<table cellpadding=3 border=1 bgcolor=F7F7F7><td>" + a + "</td></table>";
if(isNav) {
document.q1.document.write(desc);
document.q1.document.close();
document.q1.left = x+25;
document.q1.top = y+40;
}
else {
y = Ypos - 15;
q1.innerHTML = desc;
eval(dS+"q1"+sD+h+(x+25));
eval(dS+"q1"+sD+v+(y+40));
}
}
function hideLayer(a) {
if(isNav) {
eval(document.q1.top = a);
}
else q1.innerHTML = "";
}
function doQuestion() {
var text;
if (!isNav) {
text = "<div id=\"q1\" style=\"position:absolute; "
+ "visibility:show; left:25px; top:-50px; z-index:2\">layer "
+ "hidden off the screen</div><br><a nohref "
+ "onMouseover=\"popLayer('" + y + "')\" "
+ "onMouseout=\"hideLayer(-50)\"><font size=+1 "
+ "color=\"black\"><b>" + x + "</b></font></a><br>";
}
if(isNav) {
text = "<br><a href onmouseover=\"alert('" + y + "!');return "
+ "true\" onmouseout=\"status=' '\"><font size=+1 "
+ "color=\"black\"><b>" + x + "</b></font></a><br>";
}
document.write(text);
}
function handlerMM(e) {
x = (isNav) ? e.pageX : event.clientX;
y = (isNav) ? e.pageY : event.clientY;
if (!isNav) { Ypos = window.event.y + document.body.scrollTop; }
}
if (isNav) {
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setupDescriptions()">

<script>
doQuestion();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random1

Случайный линк
(в форме кнопки)

При нажатии на кнопку Вы попадете по одному из адресов, выделенных белым цветом. Причем, при каждом нажатии адреа будут меняться в случайном порядке.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script >
<!--
/*
Random link generator
By Website Abstraction (http://wsabstract.com)
Over 300+ free scripts!
This credit MUST stay intact for use
*/

//specify random links below. You can have as many as you want
var randomlinks=new Array()

randomlinks[0]="http://freewarejava.com"
randomlinks[1]="http://Javashelp.cjb.net"
randomlinks[2]="http://dynamicdrive.com"
randomlinks[3]="http://cnn.com"
randomlinks[4]="http://www.geocities.com"

function randomlink(){
window.location=randomlinks[Math.floor(Math.random()*randomlinks.length)]
}
//-->
</script>
<form>
<p align="center"><input type="button" name="B1" value="Random Link >>" onclick="randomlink()"></p></form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random2

Случайный линк 2

При нажатии на кнопку происходит переход на страницу по адресу СЛУЧАЙНО выбранному из всех адресов, имеющихся на странице. При отсутствии на странице ссылок будет возникать сообщение об ошибке. Нажмите для примера.

другая страница home линки

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*Super random link script- Written by Website Abstraction
*/
function random_all(){
var myrandom=Math.round(Math.random()*(document.links.length-1))
window.location=document.links[myrandom].href
}
//-->
</script>
<form>
<input type="button" onClick="random_all()" value="Random Link!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random6

Меню - "рулетка"

Нажмите "Spin wheel"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>

/*
Wheel of links script
By Website Abstraction (http://wsabstract.com)
*/

var count=0
function dothis(){
setTimeout ("document.wheel. wheel2.selectedIndex =1000",100)
setTimeout ("document.wheel. wheel2.selectedIndex =count",200)
setTimeout ("document.wheel. wheel2.selectedIndex =1000",300)
setTimeout ("document.wheel. wheel2.selectedIndex =count",400)
setTimeout ("document.wheel. wheel2.selectedIndex =1000",500)
setTimeout ("document.wheel. wheel2.selectedIndex =count",600)
setTimeout ("window.location=document. wheel.wheel2.options [document.wheel.wheel2. selectedIndex].value",800)
}

function animate(){
var countfinal=Math.round(Math.random()* (document.wheel.wheel2.length-1))
document.wheel.wheel2.selectedIndex =count
if (count==countfinal){
dothis()
return
}
if (count<document.wheel.wheel2.length)
count++
else
count=0
setTimeout("animate()",50)
}

</script>

<form method="POST" name="wheel">
<div align="center"><center><p><select name="wheel2" size="8">
<option value="home.htm">HOME</option>
<option value="another.htm">Другая страница</option>
<option value="№top">Нет никакой страницы</option>
<option value="Links.htm">Еще одна страница</option>
<option value="#top">Нет никакой страницы</option>
</select></p>
</center></div><div align="center"><center><p><input type="button" value="Spin wheel!"
name="B1" onClick="animate()"></p>
</center></div>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random12

Случайный набор слов в предложении
Если знаете, есть такая игра, когда несколько человек пишут ответы на последовательно задаваемые вопросы, например Кто?, Когда?, С кем ?,Что делал? и так далее, но при этом каждый раз меняются листками с текстом с другими участниками, предварительно складывая листок так, чтобы не было видно написанной им фразы. В результате получаются очень смешные истории. Предложенный скрипт занимается именно этим: набирает слова из базы данных и составляет из них правильные предложения. При этом НИКОГДА не повторяется! К сожалению, на полный перевод базы данных слов просто нет времени, поэтому привожу скрипт без изменения, на английском языке. Был бы очень признателен тем, кто сделал бы свою адаптацию и прислал скрипт - обещаю поместить его в следующем выпуске JS Library.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function qrand(n) {
RandSeed = (RandMultiplier * RandSeed + RandIncrement) % 0x7fffffff
return (RandSeed >> 16) % n
}
function qinit() {
RandMultiplier = 0x015a4e35
RandIncrement = 1
var now = new Date()
RandSeed = now.getTime() % 0xffffffff
FirstSentence = 1
FirstAmerica = 1
}
function GenRandomSentenceTemplate() {
var w = ""
var n = 17
var r = qrand(n+5)
if ( r > n ) w = "1 2 1."
else if ( r == 1 ) w = "1 2 1, 3 1 2 1."
else if ( r == 2 ) w = "When 1 4, 1 4."
else if ( r == 3 ) w = "If 1 2 1, then 1 4."
else if ( r == 4 ) w = "Sometimes 1 4, but 1 always 2 1!"
else if ( r == 5 ) w = "Most people believe that 1 2 1, but they need to remember how 7 1 4."
else if ( r == 6 ) {
if ( FirstAmerica ) {
FirstAmerica = 0
w = "1, 1, and 1 are what made America great!"
} else {
w = "1 2 1."
}
}
else if ( r == 7 ) w = "1 4, 3 1 2 1."
else if ( r == 8 ) w = "Now and then, 1 2 1."
else if ( r == 9 ) w = "1 4, and 1 4; however, 1 2 1."
else if ( r == 10 ) {

if ( FirstSentence ) {
w = "1 2 1."
} else {
w = "Indeed, 1 2 1."
}
}
else if ( r == 11 ) {
if ( FirstSentence ) {
w = "1 2 1."
} else {
w = "Furthermore, 1 4, and 1 2 1."
}
}
else if ( r == 12 ) {
if ( FirstSentence ) {
w = "1 2 1."
} else {
w = "For example, 1 indicates that 1 2 1."
}
}
else if ( r == 13 ) w = "When you see 1, it means that 1 4."
else if ( r == 14 ) w = "Any 0 can 5 1, but it takes a real 0 to 5 1."
else if ( r == 15 ) w = "1 is 6."
else if ( r == 16 ) w = "When 1 is 6, 1 2 1."
FirstSentence = 0
return w
}

function GenNoun() {
var n = 125
var r = qrand(n)
var w = ""
if ( r == 0 ) w = "cocker spaniel"
else if ( r == 1 ) w = "roller coaster"
else if ( r == 2 ) w = "abstraction"
else if ( r == 3 ) w = "pine cone"
else if ( r == 4 ) w = "microscope"
else if ( r == 5 ) w = "bottle of beer"
else if ( r == 6 ) w = "bowling ball"
else if ( r == 7 ) w = "grain of sand"
else if ( r == 8 ) w = "wheelbarrow"
else if ( r == 9 ) w = "pork chop"
else if ( r == 10 ) w = "bullfrog"
else if ( r == 11 ) w = "squid"
else if ( r == 12 ) w = "tripod"
else if ( r == 13 ) w = "girl scout"
else if ( r == 14 ) w = "light bulb"
else if ( r == 15 ) w = "hole puncher"
else if ( r == 16 ) w = "carpet tack"
else if ( r == 17 ) w = "submarine"
else if ( r == 18 ) w = "diskette"
else if ( r == 19 ) w = "tape recorder"
else if ( r == 20 ) w = "anomaly"
else if ( r == 21 ) w = "insurance agent"
else if ( r == 22 ) w = "mortician"
else if ( r == 23 ) w = "fire hydrant"
else if ( r == 24 ) w = "photon"
else if ( r == 25 ) w = "line dancer"
else if ( r == 26 ) w = "paper napkin"
else if ( r == 27 ) w = "stovepipe"
else if ( r == 28 ) w = "graduated cylinder"
else if ( r == 29 ) w = "hydrogen atom"
else if ( r == 30 ) w = "garbage can"
else if ( r == 31 ) w = "reactor"
else if ( r == 32 ) w = "power drill"
else if ( r == 33 ) w = "scooby snack"
else if ( r == 34 ) w = "freight train"
else if ( r == 35 ) w = "ocean"
else if ( r == 36 ) w = "bartender"
else if ( r == 37 ) w = "senator"
else if ( r == 38 ) w = "mating ritual"
else if ( r == 39 ) w = "briar patch"
else if ( r == 40 ) w = "jersey cow"
else if ( r == 41 ) w = "chain saw"
else if ( r == 42 ) w = "prime minister"
else if ( r == 43 ) w = "cargo bay"
else if ( r == 44 ) w = "buzzard"
else if ( r == 45 ) w = "polar bear"
else if ( r == 46 ) w = "tomato"
else if ( r == 47 ) w = "razor blade"
else if ( r == 48 ) w = "ball bearing"
else if ( r == 49 ) w = "fighter pilot"
else if ( r == 50 ) w = "support group"
else if ( r == 51 ) w = "fundraiser"
else if ( r == 52 ) w = "cowboy"
else if ( r == 53 ) w = "football team"
else if ( r == 54 ) w = "cab driver"
else if ( r == 55 ) w = "nation"
else if ( r == 56 ) w = "ski lodge"
else if ( r == 57 ) w = "mastadon"
else if ( r == 58 ) w = "recliner"
else if ( r == 59 ) w = "minivan"
else if ( r == 60 ) w = "deficit"
else if ( r == 61 ) w = "food stamp"
else if ( r == 62 ) w = "wedding dress"
else if ( r == 63 ) w = "fairy"
else if ( r == 64 ) w = "globule"
else if ( r == 65 ) w = "movie theater"
else if ( r == 66 ) w = "tornado"
else if ( r == 67 ) w = "rattlesnake"
else if ( r == 68 ) w = "CEO"
else if ( r == 69 ) w = "corporation"
else if ( r == 70 ) w = "plaintiff"
else if ( r == 71 ) w = "class action suit"
else if ( r == 72 ) w = "judge"
else if ( r == 73 ) w = "defendant"
else if ( r == 74 ) w = "dust bunny"
else if ( r == 75 ) w = "vacuum cleaner"
else if ( r == 76 ) w = "lover"
else if ( r == 77 ) w = "sandwich"
else if ( r == 78 ) w = "hockey player"
else if ( r == 79 ) w = "avocado pit"
else if ( r == 80 ) w = "fruit cake"
else if ( r == 81 ) w = "turkey"
else if ( r == 82 ) w = "sheriff"
else if ( r == 83 ) w = "apartment building"
else if ( r == 84 ) w = "industrial complex"
else if ( r == 85 ) w = "inferiority complex"
else if ( r == 86 ) w = "salad dressing"
else if ( r == 87 ) w = "short order cook"
else if ( r == 88 ) w = "pig pen"
else if ( r == 89 ) w = "grand piano"
else if ( r == 90 ) w = "tuba player"
else if ( r == 91 ) w = "traffic light"
else if ( r == 92 ) w = "turn signal"
else if ( r == 93 ) w = "paycheck"
else if ( r == 94 ) w = "blood clot"
else if ( r == 95 ) w = "earring"
else if ( r == 96 ) w = "blithe spirit"
else if ( r == 97 ) w = "customer"
else if ( r == 98 ) w = "warranty"
else if ( r == 99 ) w = "grizzly bear"
else if ( r == 100 ) w = "cyprus mulch"
else if ( r == 101 ) w = "pit viper"
else if ( r == 102 ) w = "crank case"
else if ( r == 103 ) w = "oil filter"
else if ( r == 104 ) w = "steam engine"
else if ( r == 105 ) w = "chestnut"
else if ( r == 106 ) w = "chess board"
else if ( r == 107 ) w = "pickup truck"
else if ( r == 108 ) w = "cheese wheel"
else if ( r == 109 ) w = "eggplant"
else if ( r == 110 ) w = "umbrella"
else if ( r == 111 ) w = "skyscraper"
else if ( r == 112 ) w = "dolphin"
else if ( r == 113 ) w = "asteroid"
else if ( r == 114 ) w = "parking lot"
else if ( r == 115 ) w = "demon"
else if ( r == 116 ) w = "tabloid"
else if ( r == 117 ) w = "particle accelerator"
else if ( r == 118 ) w = "cloud formation"
else if ( r == 119 ) w = "cashier"
else if ( r == 120 ) w = "burglar"
else if ( r == 121 ) w = "spider"
else if ( r == 122 ) w = "cough syrup"
else if ( r == 123 ) w = "satellite"
else if ( r == 124 ) w = "scythe"
return w
}
function GenPreposition() {
var n = 14
var r = qrand(n)
var w = ""
if ( r == 0 ) w = "of"
else if ( r == 1 ) w = "from"
else if ( r == 2 ) w = "near"
else if ( r == 3 ) w = "about"
else if ( r == 4 ) w = "around"
else if ( r == 5 ) w = "for"
else if ( r == 6 ) w = "toward"
else if ( r == 7 ) w = "over"
else if ( r == 8 ) w = "behind"
else if ( r == 9 ) w = "beyond"
else if ( r == 10 ) w = "related to"
else if ( r == 11 ) w = "defined by"
else if ( r == 12 ) w = "inside"
else if ( r == 13 ) w = "living with"
return w
}
function GenNounPhrase(depth) {
var phraseKind = qrand(3)
var s = ""
if ( phraseKind == 0 || depth>0 ) {
s = GenNoun()
} else if ( phraseKind == 1 ) {
s = GenAdjective() + " " + GenNoun()
} else if ( phraseKind == 2 ) {
s = GenNoun() + " " + GenPreposition() + " " + GenNounPhrase(depth+1)
}
var r = qrand(100)
if ( r < 30 ) {
s = "the " + s
} else if ( r < 35 ) {
s = "another " + s
} else if ( r < 40 ) {
s = "some " + s
} else {
var c = s.substring(0,1).toLowerCase()
if ( (s.substring(0,8) != "Eurasian") &&
(c=='a' || c=='e' || c=='i' || c=='o' || c=='u') ) {
s = "an " + s
} else {

s = "a " + s
}
}
return s
}
function GenAdverb() {
var n = 28
var r = qrand(n)
var s = ""
if ( r == 0 ) s = "knowingly"
else if ( r == 1 ) s = "slyly"
else if ( r == 2 ) s = "greedily"
else if ( r == 3 ) s = "hesitantly"
else if ( r == 4 ) s = "secretly"
else if ( r == 5 ) s = "carelessly"
else if ( r == 6 ) s = "thoroughly"
else if ( r == 7 ) s = "barely"
else if ( r == 8 ) s = "ridiculously"
else if ( r == 9 ) s = "non-chalantly"
else if ( r == 10 ) s = "hardly"
else if ( r == 11 ) s = "eagerly"
else if ( r == 12 ) s = "feverishly"
else if ( r == 13 ) s = "lazily"
else if ( r == 14 ) s = "inexorably"
else if ( r == 15 ) s = "accurately"
else if ( r == 16 ) s = "accidentally"
else if ( r == 17 ) s = "completely"
else if ( r == 18 ) s = "usually"
else if ( r == 19 ) s = "single-handledly"
else if ( r == 20 ) s = "underhandedly"
else if ( r == 21 ) s = "almost"
else if ( r == 22 ) s = "wisely"
else if ( r == 23 ) s = "ostensibly"
else if ( r == 24 ) s = "somewhat"
else if ( r == 25 ) s = "overwhelmingly"
else if ( r == 26 ) s = "seldom"
else if ( r == 27 ) s = "often"
return s
}
function GenAdjective() {
var n = 105
var r = qrand(n)
var w = ""
if ( r == 0 ) w = "slow"
else if ( r == 1 ) w = "surly"
else if ( r == 2 ) w = "gentle"
else if ( r == 3 ) w = "optimal"
else if ( r == 4 ) w = "treacherous"
else if ( r == 5 ) w = "loyal"
else if ( r == 6 ) w = "smelly"
else if ( r == 7 ) w = "ravishing"
else if ( r == 8 ) w = "annoying"
else if ( r == 9 ) w = "burly"
else if ( r == 10 ) w = "raspy"
else if ( r == 11 ) w = "moldy"
else if ( r == 12 ) w = "blotched"
else if ( r == 13 ) w = "federal"
else if ( r == 14 ) w = "phony"
else if ( r == 15 ) w = "magnificent"
else if ( r == 16 ) w = "alleged"
else if ( r == 17 ) w = "crispy"
else if ( r == 18 ) w = "gratifying"
else if ( r == 19 ) w = "elusive"
else if ( r == 20 ) w = "revered"
else if ( r == 21 ) w = "spartan"
else if ( r == 22 ) w = "righteous"
else if ( r == 23 ) w = "mysterious"
else if ( r == 24 ) w = "worldly"
else if ( r == 25 ) w = "cosmopolitan"
else if ( r == 26 ) w = "college-educated"
else if ( r == 27 ) w = "bohemian"
else if ( r == 28 ) w = "statesmanlike"
else if ( r == 29 ) w = "stoic"
else if ( r == 30 ) w = "hypnotic"
else if ( r == 31 ) w = "dirt-encrusted"
else if ( r == 32 ) w = "purple"
else if ( r == 33 ) w = "infected"
else if ( r == 34 ) w = "shabby"
else if ( r == 35 ) w = "tattered"
else if ( r == 36 ) w = "South American"
else if ( r == 37 ) w = "Alaskan"
else if ( r == 38 ) w = "overripe"
else if ( r == 39 ) w = "self-loathing"
else if ( r == 40 ) w = "frustrating"
else if ( r == 41 ) w = "rude"
else if ( r == 42 ) w = "pompous"
else if ( r == 43 ) w = "impromptu"
else if ( r == 44 ) w = "makeshift"
else if ( r == 45 ) w = "so-called"
else if ( r == 46 ) w = "proverbial"
else if ( r == 47 ) w = "molten"
else if ( r == 48 ) w = "wrinkled"
else if ( r == 49 ) w = "psychotic"
else if ( r == 50 ) w = "foreign"
else if ( r == 51 ) w = "familiar"
else if ( r == 52 ) w = "pathetic"
else if ( r == 53 ) w = "precise"
else if ( r == 54 ) w = "moronic"
else if ( r == 55 ) w = "polka-dotted"
else if ( r == 56 ) w = "varigated"
else if ( r == 57 ) w = "mean-spirited"
else if ( r == 58 ) w = "false"
else if ( r == 59 ) w = "linguistic"
else if ( r == 60 ) w = "temporal"
else if ( r == 61 ) w = "fractured"
else if ( r == 62 ) w = "dreamlike"
else if ( r == 63 ) w = "imaginative"
else if ( r == 64 ) w = "cantankerous"
else if ( r == 65 ) w = "obsequious"
else if ( r == 66 ) w = "twisted"
else if ( r == 67 ) w = "load bearing"
else if ( r == 68 ) w = "orbiting"
else if ( r == 69 ) w = "radioactive"
else if ( r == 70 ) w = "unstable"
else if ( r == 71 ) w = "outer"
else if ( r == 72 ) w = "nearest"
else if ( r == 73 ) w = "most difficult"
else if ( r == 74 ) w = "Eurasian"
else if ( r == 75 ) w = "hairy"
else if ( r == 76 ) w = "flabby"
else if ( r == 77 ) w = "soggy"
else if ( r == 78 ) w = "muddy"
else if ( r == 79 ) w = "salty"
else if ( r == 80 ) w = "highly paid"
else if ( r == 81 ) w = "greasy"
else if ( r == 82 ) w = "fried"
else if ( r == 83 ) w = "frozen"
else if ( r == 84 ) w = "boiled"
else if ( r == 85 ) w = "incinerated"
else if ( r == 86 ) w = "vaporized"
else if ( r == 87 ) w = "nuclear"
else if ( r == 88 ) w = "paternal"
else if ( r == 89 ) w = "childlike"
else if ( r == 90 ) w = "feline"
else if ( r == 91 ) w = "fat"
else if ( r == 92 ) w = "skinny"
else if ( r == 93 ) w = "green"
else if ( r == 94 ) w = "financial"
else if ( r == 95 ) w = "frightened"
else if ( r == 96 ) w = "fashionable"
else if ( r == 97 ) w = "resplendent"
else if ( r == 98 ) w = "flatulent"
else if ( r == 99 ) w = "mitochondrial"
else if ( r == 100 ) w = "overpriced"
else if ( r == 101 ) w = "snooty"
else if ( r == 102 ) w = "self-actualized"
else if ( r == 103 ) w = "miserly"
else if ( r == 104 ) w = "geosynchronous"
if ( qrand(10) > 7 ) {
w = GenAdverb() + " " + w
}
return w
}
function GenTransitiveVerbPhrase(tense) {
var n = 56
var r = qrand(n)
var s = ""
if ( r == 0 ) s = "eat$"
else if ( r == 1 ) s = "conquer$"
else if ( r == 2 ) s = "figure$ out"
else if ( r == 3 ) s = "know$"
else if ( r == 4 ) s = "teach*"
else if ( r == 5 ) s = "require$ assistance from"
else if ( r == 6 ) s = "pour$ freezing cold water on"
else if ( r == 7 ) s = "find$ lice on"
else if ( r == 8 ) s = "seek$"
else if ( r == 9 ) s = "ignore$"
else if ( r == 10 ) s = "dance$ with"
else if ( r == 11 ) s = "recognize$"
else if ( r == 12 ) s = "compete$ with"
else if ( r == 13 ) s = "reach* an understanding with"
else if ( r == 14 ) s = "negotiate$ a prenuptial agreement with"
else if ( r == 15 ) s = "assimilate$"
else if ( r == 16 ) s = "bestow$ great honor upon"
else if ( r == 17 ) s = "derive$ perverse satisfaction from"
else if ( r == 18 ) s = "steal$ pencils from"
else if ( r == 19 ) s = "tr& to seduce"
else if ( r == 20 ) s = "go* deep sea fishing with"
else if ( r == 21 ) s = "find$ subtle faults with"
else if ( r == 22 ) s = "laugh$ and drink$ all night with"
else if ( r == 23 ) s = "befriend$"
else if ( r == 24 ) s = "make$ a truce with"
else if ( r == 25 ) s = "give$ secret financial aid to"
else if ( r == 26 ) s = "brainwash*"
else if ( r == 27 ) s = "trade$ baseball cards with"
else if ( r == 28 ) s = "sell$ " + GenNounPhrase(0) + " to"
else if ( r == 29 ) s = "caricature$"
else if ( r == 30 ) s = "sanitize$"
else if ( r == 31 ) s = "satiate$"
else if ( r == 32 ) s = "organize$"
else if ( r == 33 ) s = "graduate$ from"
else if ( r == 34 ) s = "give$ lectures on morality to"
else if ( r == 35 ) s = "^ a change of heart about"
else if ( r == 36 ) s = "play$ pinochle with"
else if ( r == 37 ) s = "give$ a pink slip to"
else if ( r == 38 ) s = "share$ a shower with"
else if ( r == 39 ) s = "buy$ an expensive gift for"
else if ( r == 40 ) s = "cook$ cheese grits for"
else if ( r == 41 ) s = "take$ a peek at"
else if ( r == 42 ) s = "pee$ on"
else if ( r == 43 ) s = "write$ a love letter to"
else if ( r == 44 ) s = "fall$ in love with"
else if ( r == 45 ) s = "avoid$ contact with"
else if ( r == 46 ) s = ") a big fan of"
else if ( r == 47 ) s = "secretly admire$"
else if ( r == 48 ) s = "borrow$ money from"
else if ( r == 49 ) s = "operate$ a small fruit stand with"
else if ( r == 50 ) s = "throw$ " + GenNounPhrase(0) + " at"
else if ( r == 51 ) s = "bur&"
else if ( r == 52 ) s = "can be kind to"
else if ( r == 53 ) s = "learn$ a hard lesson from"
else if ( r == 54 ) s = "plan$ an escape from " + GenNounPhrase(0)
else if ( r == 55 ) s = "make$ love to"
vt = ""
var i
for (i=0; i<s.length; i++ ) {
var c = s.substring(i,i+1)
var w = c
if ( c == '$' ) {
if ( tense == 0 ) w = ""
else if ( tense == 1 ) w = "s"
}
else if ( c == '*' ) {
if ( tense == 0 ) w = ""
else if ( tense == 1 ) w = "es"
}
else if ( c == ')' ) {
if ( tense == 0 ) w = "be"
else if ( tense == 1 ) w = "is"
}
else if ( c == '^' ) {
if ( tense == 0 ) w = "have"
else if ( tense == 1 ) w = "has"
}
else if ( c == '&' ) {
if ( tense == 0 ) w = "y"
else if ( tense == 1 ) w = "ies"
}
vt += w
}
if ( qrand(10) < 3 ) {
vt = GenAdverb() + " " + vt
}
return vt
}
function GenIntransitiveVerbPhrase() {
var n = 28
var r = qrand(n)
var s = ""
if ( r == 0 ) s = "leaves"
else if ( r == 1 ) s = "goes to sleep"
else if ( r == 2 ) s = "takes a coffee break"
else if ( r == 3 ) s = "hibernates"
else if ( r == 4 ) s = "reads a magazine"
else if ( r == 5 ) s = "self-flagellates"
else if ( r == 6 ) s = "meditates"
else if ( r == 7 ) s = "starts reminiscing about lost glory"
else if ( r == 8 ) s = "flies into a rage"
else if ( r == 9 ) s = "earns frequent flier miles"
else if ( r == 10 ) s = "sweeps the floor"
else if ( r == 11 ) s = "feels nagging remorse"
else if ( r == 12 ) s = "returns home"
else if ( r == 13 ) s = "rejoices"
else if ( r == 14 ) s = "prays"
else if ( r == 15 ) s = "procrastinates"
else if ( r == 16 ) s = "daydreams"
else if ( r == 17 ) s = "ceases to exist"
else if ( r == 18 ) s = "hides"
else if ( r == 19 ) s = "panics"
else if ( r == 20 ) s = "beams with joy"
else if ( r == 21 ) s = "laughs out loud"
else if ( r == 22 ) s = "gets stinking drunk"
else if ( r == 23 ) s = "wakes up"
else if ( r == 24 ) s = "hesitates"
else if ( r == 25 ) s = "trembles"
else if ( r == 26 ) s = "ruminates"
else if ( r == 27 ) s = "dies"
return s
}
function GenConjunction() {
var n = 4
var r = qrand(n)
var s = ""
if ( r == 0 ) s = "and"
else if ( r == 1 ) s = "or"
else if ( r == 2 ) s = "but"
else if ( r == 3 ) s = "because"
return s
}
function CapFirst(s) {
return s.substring(0,1).toUpperCase() + s.substring(1,s.length)
}

function GenRandomSentence() {
var stemp = GenRandomSentenceTemplate()
var i
var s = ""
for ( i=0; i<stemp.length; i++ ) {
var c = stemp.substring(i,i+1)
var w = ""
if ( c == '0' ) w = GenNoun()
else if ( c == '1' ) w = GenNounPhrase(0)
else if ( c == '2' ) w = GenTransitiveVerbPhrase(1)
else if ( c == '3' ) w = GenConjunction()
else if ( c == '4' ) w = GenIntransitiveVerbPhrase()
else if ( c == '5' ) w = GenTransitiveVerbPhrase(0)
else if ( c == '6' ) w = GenAdjective()
else if ( c == '7' ) w = GenAdverb()
else w = c
s += w
}
return CapFirst(s)
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
qinit()
document.write ( "<h2>Introduction</h2>" )
for ( i=0; i<5; i++ ) {
document.write ( GenRandomSentence(), " " )
}
for ( j=0; j<3; j++ ) {
document.write ( "<h2>", CapFirst(GenNounPhrase(0)), "</h2>" )
for ( i=0; i<5; i++ ) {
document.write ( GenRandomSentence(), " " )
}
}
document.write ( "<h2>Conclusions</h2>" )
for ( i=0; i<5; i++ ) {
document.write ( GenRandomSentence(), " " )
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random11

Просто случайный номер (число)
Достаточно бесполезный скрипт, но пригоден для начинающих изучение JavaScipt

Перезагрузите (обновите) страницу для получения другого числа.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->
<!-- Based on code by: Cyanide_7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function getRandomNum(lbound, ubound) {
return (Math.floor(Math.random() * (ubound - lbound)) + lbound);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("Случайное число от 1 до 158 : ");
document.write("<font color=red>");
document.write(getRandomNum(1,158));
document.write("</font>");
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random14

Случайный рисунок после клика

кликните по рисунку для его замены

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nicholas Lupien (smylex@aol.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var rand1 = 0;
var useRand = 0;

images = new Array;
images[1] = new Image();
images[1].src = "fift1.gif";
images[2] = new Image();
images[2].src = "fift2.gif";
images[3] = new Image();
images[3].src = "fift3.gif";
images[4] = new Image();
images[4].src = "fift4.gif";
images[5] = new Image();
images[5].src = "fift5.gif";

function swapPic() {
var imgnum = images.length - 1;
do {
var randnum = Math.random();
rand1 = Math.round((imgnum - 1) * randnum) + 1;
} while (rand1 == useRand);
useRand = rand1;
document.randimg.src = images[useRand].src;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="swapPic()">

<center>
<a onClick="swapPic();"><img name="randimg" src="fift1.gif" width="50" height="50"></a><br>
<font face="Verdana" size="-2">кликните по рисунку для его замены</font>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере вы найдете в этом архиве: patnashki.zip


Random17

Случайная страница при загрузке
См. комментарии в таблице.

Не копируйте код из источника!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var howMany = 2;  // количество
      страниц минус одна ( то есть если их 10. то
      следует записать 9)
var page = new Array(howMany+1);

page[0]="первая_случайная_страница.html";
page[1]="вторая_случайная_страница.html";
page[2]="третья_случайная_страница.html";

function rndnumber(){
var randscript = -1;
while (randscript < 0 || randscript > howMany || isNaN(randscript)){
randscript = parseInt(Math.random()*(howMany+1));
}
return randscript;
}
quo = rndnumber();
quox = page[quo];
window.location=(quox);
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random13

Три случайных сообщения
Скрипт не адаптирован. Но это и не важно. Он интересен прежде всего тем, что имея три основных блока сообщений, производит с ними разные операции, объединяя в конце концов результаты в единый блок - ALERT (в данном случае). В первом блоке сообщений случайно выбирается фраза один раз в час, во втором блоке - один раз в минуту, в третьем - один раз в секунду. И после клика по кнопке появляется сообщение, содержащее три фразы из трех блоков в соответствии с временным интервалом выбора, закрепленным за каждым блоком. Текст Вы можете перевести, а можете просто вписать собственные фразы, не утруждаясь никаким переводом, тем более, что информативность этого примера равна нулю [ var 'ноль'= new Array('0','null','moron');]

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: bsimmons@seanet.com -->
<!-- Web Site: http://www.wrldpwr.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var currentdate = 0
var thekoan = ""
var fframe = 0
var insight = 0
var directive = 0
var beginning = "Koan is: "
var separator = "\n\n"
function zen(){
alert(koan())}
function koan(){
currentdate = new Date ()
fframe = currentdate.getHours()
insight = currentdate.getMinutes()
directive = currentdate.getSeconds()
thekoan = separator + getframe() +separator + getinsight() + separator + getdirective()
return (thekoan)}
function getframe(){
if (fframe == 0)
return "Winter feels no itching;"
else if (fframe == 1)
return "Find the plum;"
else if (fframe == 2)
return "The fog does not pay taxes;"
else if (fframe == 3)
return "Other birds do not like the loudest bird;"
else if (fframe == 4)
return "Many moose have travelled your path before you;"
else if (fframe == 5)
return "Autumn has no sense of humor;"
else if (fframe == 6)
return "Even the clearest glass distorts;"
else if (fframe == 7)
return "The well has no sympathy for the peasant;"
else if (fframe == 8)
return "No sandal squeaks without purpose;"
else if (fframe == 9)
return "A thorn pricks you;"
else if (fframe == 10)
return "Who is to say the panda would not be vengeful;"
else if (fframe == 11)
return "Tramp through the darkness;"
else if (fframe == 12)
return "Work when you can work;"
else if (fframe == 13)
return "The artisan keeps his hovel tidy;"
else if (fframe == 14)
return "The sparrow sings of deception;"
else if (fframe == 15)
return "Tramp through the darkness;"
else if (fframe == 16)
return "Who is to say the panda would not be vengeful;"
else if (fframe == 17)
return "A thorn pricks you;"
else if (fframe == 18)
return "No sandal squeaks without purpose;"
else if (fframe == 19)
return "The well has no sympathy for the peasant;"
else if (fframe == 20)
return "Even the clearest glass distorts;"
else if (fframe == 21)
return "Autumn has no sense of humor;"
else if (fframe == 22)
return "Tramp through the darkness;"
else if (fframe == 23)
return "The artisan keeps his hovel tidy;"
}
function getinsight(){
if (insight > 44)
insight = insight - 45
else if (insight > 29)
insight = insight - 30
else if (insight > 14)
insight = insight - 15
if (insight == 0)
return "It tells us the void is empty."
else if (insight == 1)
return "Only such a thing can change the universe."
else if (insight == 2)
return "Understand this, and be rewarded with clarity."
else if (insight == 3)
return "What are the chances?"
else if (insight == 4)
return "In this, the true spirit hides."
else if (insight == 5)
return "Effort can be applied here."
else if (insight == 6)
return "Its center does not rotate."
else if (insight == 7)
return "The journey may be longer coming back."
else if (insight == 8)
return "This is why we find the truth so piercing."
else if (insight == 9)
return "Are we so alike?!?"
else if (insight == 10)
return "Yet even a bean has a purpose."
else if (insight == 11)
return "The answer often requires a few extra minutes."
else if (insight == 12)
return "Some strike with a stick that which they cannot lift."
else if (insight == 13)
return "The pure own only themselves and maybe some toiletries."
else if (insight == 14)
return "It will speak to you if you let it."
}
function getdirective(){
if (directive > 44)
directive = directive - 45
else if (directive > 29)
directive = directive - 30
else if (directive > 14)
directive = directive - 15
if (directive == 0)
return "Be like a damp stone."
else if (directive == 1)
return "If you fall from the tree, leave your anger on the branch."
else if (directive == 2)
return "Choose to bend or to stretch, but choose only one."
else if (directive == 3)
return "Fill in every circle completely with a number 2 pencil."
else if (directive == 4)
return "Spit only where there is a need for spit."
else if (directive == 5)
return "Always lift with your knees."
else if (directive == 6)
return "If you need a road, make a road."
else if (directive == 7)
return "Choose only once between bamboo and wicker."
else if (directive == 8)
return "Do not carve your initials in anything you would not eat."
else if (directive == 9)
return "Respect even the space between your toes."
else if (directive == 10)
return "Step aside when the universe says, 'Hot stuff coming through!'"
else if (directive == 11)
return "Trust your sense of judging melon."
else if (directive == 12)
return "It is worse to be covered in molasses."
else if (directive == 13)
return "If you are a goose among ducks, run fast."
else if (directive == 14)
return "Confront the great conductor and ask him, 'What's your function?'"
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="button" VALUE="Zen Button" NAME="ZenButton" onClick="zen()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random10

Рулетка

"X" - остановить
каждое колесо.

BG Color =

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Michael Tartaglia (stonedstan@hotmail.com) -->
<!-- Web Site: http://www.geocities.com/SiliconValley/Horizon/5235 -->

<!-- Begin
color=new Array("0","8","F");
speed=250;
document.bgColor="C0C0C0";
bg=new Array("FFFFFF","FFFFFF","FFFFFF");
function begin() {
document.form.col1.value=" X "; document.form.col2.value=" X ";
document.form.col3.value=" X "; i=0; roll(speed);
}
function roll(speedB) {
if (document.form.col1.value==" X ") {
document.form.c1.value=document.form.b1.value;
document.form.b1.value=document.form.a1.value;
document.form.a1.value=
color[Math.round(Math.random()*10)%3]+
color[Math.round(Math.random()*10)%3];
}
if (document.form.col2.value==" X ") {
document.form.c2.value=document.form.b2.value;
document.form.b2.value=document.form.a2.value;
document.form.a2.value=
color[Math.round(Math.random()*10)%3]+
color[Math.round(Math.random()*10)%3];
}
if (document.form.col3.value==" X ") {
document.form.c3.value=document.form.b3.value;
document.form.b3.value=document.form.a3.value;
document.form.a3.value=
color[Math.round(Math.random()*10)%3]+
color[Math.round(Math.random()*10)%3];
}
setTimeout("roll("+speedB+")",speedB);
}
function stop(col) {

if (col==1) {document.form.col1.value=" ";i++;}
if (col==2) {document.form.col2.value=" ";i++;}
if (col==3) {document.form.col3.value=" ";i++;}

if (i==3) {
bg[0]=document.form.a1.value+
document.form.a2.value+
document.form.a3.value;
bg[1]=document.form.b1.value+
document.form.b2.value+
document.form.b3.value;
bg[2]=document.form.c1.value+
document.form.c2.value+
document.form.c3.value;
speedB=500000;roll(speedB);
}
}
function view(letter) {
document.bgColor=bg[letter];
document.form.color.value="#"+bg[letter];
}
// End -->
// Stoperror-->
function stoperror(){
return true
}
window.onerror=stoperror
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="form">
<table cellpadding=2 bgcolor="#CCCCCC">
<tr><td align=center>
<p align="left">
<input type=text name="a1" size=2 onFocus="this.blur()" value=" ">
<input type=text name="a2" size=2 onFocus="this.blur()" value=" ">
<input type=text name="a3" size=2 onFocus="this.blur()" value=" ">
<input type=button onClick="view(0)" value="Посмотреть"><br>
<input type=text name="b1" size=2 onFocus="this.blur()" value=" ">
<input type=text name="b2" size=2 onFocus="this.blur()" value=" ">
<input type=text name="b3" size=2 onFocus="this.blur()" value=" ">
<input type=button onClick="view(1)" value="Посмотреть"><br>
<input type=text name="c1" size=2 onFocus="this.blur()" value=" ">
<input type=text name="c2" size=2 onFocus="this.blur()" value=" ">
<input type=text name="c3" size=2 onFocus="this.blur()" value=" ">
<input type=button onClick="view(2)" value="Посмотреть"><br>
&nbsp;<input type=button onClick="stop(1)" value=" X " name="col1">&nbsp; <input type=button onClick="stop(2)" value=" X " name="col2">&nbsp;
<input type=button onClick="stop(3)" value=" X " name="col3">
</p>
</td>
<center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random9

Случайный фоновый рисунок при загрузке страницы
 В отличии от большинства подобных скриптов, этот скрипт не требует наличия установленного рисунка фона, так как тэг <BODY> скрипт пишет сам.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
today=new Date();
jran=today.getTime();
var number = 7;
var random_number="";
var image="";
var text_color="";
ia=9301;
ic=49297;
im=233280;
jran = (jran*ia+ic) % im;
random_number = Math.ceil( (jran/(im*1.0)) *number);
// Loads the appropriate image and text color based on random number.
if (random_number==1) {
text_color="000000";
image="backgrnd.gif";
}
if (random_number==2) {
text_color="000000";
image="Stars.gif";
}
if (random_number==3) {
text_color="000000";
image="granit.jpg";
}
if (random_number==4) {
text_color="000000";
image="DOLLAR.jpg";
}
if (random_number==5) {
text_color="000000";
image="backg1.jpg";
}
if (random_number==6) {
text_color="000000";
image="backg13.jpg";
}
if (random_number==7) {
text_color="000000";
image="Back4.gif";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите ВМЕСТО тега <BODY>

<SCRIPT LANGUAGE="JavaScript">
document.open();
document.write("<BODY BACKGROUND='"+image+"' TEXT='"+text_color+"'>");
document.write("<CENTER></CENTER>");
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="button" VALUE="Перезагрузить страницу" onClick="Javascript:window.location=self.location">
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("<CENTER><FONT SIZE=2 color=yellow>Фоновый рисунок: </font><FONT SIZE=-1 color=white>("+image+")</FONT></CENTER>");
// End -->
</SCRIPT>

Notes. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"

Белым цветом отмечены рисунки, используемые скриптом.

BACK4.GIF

backg1.jpg

backg13.jpg

backgrnd.gif

DOLLAR.jpg

granit.jpg

Stars.gif


Random3

Cлучайная цитата (пословица, шутка)
(1 из 3)

(переключитесь несколько раз на эту страницу чтобы увидеть эффект)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT>
<!-- written by The Omega
// the_omega@geocities.com
quote0="Работа не волк - в лес не убежит"
quote1="Тяжело в ученье. легко в бою"
quote2="Своя рубашка ближе к телу"

today2=new Date()
len=3
today=today2.getTime()/10
rnd=today%len
document.writeln(eval("quote"+rnd))
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random4

Случайная цитата (пословица, шутка) 2
(30 и более! можно меньше)

(цитаты замените на свои; переключитесь несколько раз на эту страницу чтобы увидеть эффект)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.1">
/*
Motivational quotes script
By Website Abstraction (http://wsabstract.com)
*/
var quotes=new Array()

//change the quotes if desired. Add/ delete additional quotes as desired.

quotes[0]='There are some people who live in a dream world, and there are some who face reality; and then there are those who turn one into the other. <i>-By Douglas Everett</i>'

quotes[1]='Whether you think you can or whether you think you can\'t, you\'re right! <i>-Henry Ford</i>'

quotes[2]='I know of no more encouraging fact than the unquestionable ability of man to elevate his life by conscious endeavor. <i>-Henry David Thoreau</i>'

quotes[3]='Do not let what you cannot do interfere with what you can do. <i>-John Wooden</i>'

quotes[4]='Accept everything about yourself - I mean everything, You are you and that is the beginning and the end - no apologies, no regrets. <i>-Clark Moustakas</i>'

quotes[5]='We must accept life for what it actually is - a challenge to our quality without which we should never know of what stuff we are made, or grow to our full stature. <i>-Ida R. Wylie</i>'

quotes[6]='High achievement always takes place in the framework of high expectation. <i>-Jack Kinder</i>'

quotes[7]='The measure of a man is the way he bears up under misfortune. <i>-Plutarch</i>'

quotes[8]='Don\'t wait for your ship to come in, swim out to it. <i>-Anon</i>'

quotes[9]='As I grow older, I pay less attention to what men say. I just watch what they do. <i>-Andrew Carnegie</i>'

quotes[10]='No steam or gas ever drives anything until it is confined. No Niagara is ever turned into light and power until it is tunneled. No life ever grows until it is focused, dedicated, disciplined. <i>-Harry Emerson Fosdick</i>'

quotes[11]='The words printed here are concepts. You must go through the experiences. <i>-Carl Frederick</i>'

quotes[12]='Man cannot discover new oceans unless he has the courage to lose sight of the shore. <i>-Andre Gide</i>'

quotes[13]='The wise man does at once what the fool does finally. <i>-Baltasar Gracian</i>'

quotes[14]='The world has the habit of making room for the man whose actions show that he knows where he is going. <i>-Napoleon Hill</i>'

quotes[15]='Success seems to be connected with action. Successful men keep moving. They make mistakes, but they don\'t quit. <i>-Conrad Hilton</i>'

quotes[16]='Do the things you know, and you shall learn the truth you need to know. <i>-George Macdonald</i>'

quotes[17]='I have never heard anything about the resolutions of the apostles, but a good deal about their acts. <i>-Horace Mann</i>'

quotes[18]='Let us not be content to wait and see what will happen, but give us the determination to make the right things happen. <i>-Peter Marshall</i>'

quotes[19]='I hear and I forget, I see and I remember. I do and I understand. <i>-Chinese Proverb</i>'

quotes[20]='One may walk over the highest mountain one step at a time. <i>-John Wanamaker</i>'

quotes[21]='Every action is either strong or weak, and when every action is strong we are successful. <i>-Wallace D. Wattles</i>'

quotes[22]='If we do what is necessary, all the odds are in our favor. <i>-Henry Kissinger</i>'

quotes[23]='Little minds are tamed and subdued by misfortune; but great minds rise above them. <i>-Washington Irving</i>'

quotes[24]='When an affliction happens to you, you either let it defeat you, or you defeat it... <i>-Rosalind Russell</i>'

quotes[25]='There\'s a basic human weakness inherent in all people which tempts them to want what they can\'t have and not want what is readily available to them. <i>-Robert J. Ringer</i>'

quotes[26]='If there is something to gain and nothing to lose by asking, by all means ask! <i>-W. Clement Stone</i>'

quotes[27]='It\'s not the situation ... It\'s your reaction to the situation <i>-Robert Conklin</i>'

quotes[28]='Life at any time can become difficult: life at any time can become easy. It all depends upon how one adjusts oneself to life. <i>-Morarji Desai</i>'

quotes[29]='What happens is not as important as how you react to what happens. <i>-Thaddeus Golas</i>'

quotes[30]='To hell with circumstances; I create opportunities. <i>-Bruce Lee</i>'

var whichquote= Math.floor(Math.random()*(quotes.length))
document.write(quotes[whichquote])
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random5

Случайная цитата (пословица, шутка) 3
(в форме; ограничение на количество букв в цитате)

(цитаты замените на свои; переключитесь несколько раз на эту страницу чтобы увидеть эффект)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="random"><input type="text" name="random" size=78 value=""></form>
<SCRIPT LANGUAGE="JavaScript">
<!--
// Copyright 1996 - Tomer and Yehuda Shiran
// This example will appear in our forthcoming book on JavaScript.
// Feel free to "steal" this code provided that you leave this notice as is.
// Additional examples from the book can be found at //http://www.geocities.com/SiliconValley/9000/
// For more information contact Tomer or Yehuda Shiran <yshiran@iil.intel.com>

function getMessage() {
// create array of murphy laws
var ar = new Array(20)
ar[0] = "Nothing is as easy as it looks."
ar[1] = "Everything takes longer than you think."
ar[2] = "Anything that can go wrong will go wrong."
ar[3] = "If there is a possibility of several things going wrong, the one that will cause the most damage will be the one to go wrong."
ar[4] = "If there is a worse time for something to go wrong, it will happen then."
ar[5] = "If anything simply cannot go wrong, it will anyway."
ar[6] = "If you perceive that there are four possible ways in which a procedure can go wrong, and circumvent these, then a fifth way, unprepared for, will promptly develop."
ar[7] = "Left to themselves, things tend to go from bad to worse."
ar[8] = "If everything seems to be going well, you have obviously overlooked something."
ar[9] = "Nature always sides with the hidden flaw."
ar[10] = "Mother nature is a bitch."
ar[11] = "It is impossible to make anything foolproof because fools are so ingenious."
ar[12] = "Whenever you set out to do something, something else must be done first."
ar[13] = "Every solution breeds new problems."
ar[14] = "Trust everybody ... then cut the cards."
ar[15] = "Two wrongs are only the beginning."
ar[16] = "If at first you don't succeed, destroy all evidence that you tried."
ar[17] = "To succeed in politics, it is often necessary to rise above your principles."
ar[18] = "Exceptions prove the rule ... and wreck the budget."
ar[19] = "Success always occurs in private, and failure in full view."

var now = new Date()
var sec = now.getSeconds()
document.random.random.value="Murphy's Law: " + ar[sec % 20]
}
getMessage()
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random8

Случайный цвет background и foreground при заходе на страницу
Неудобство скрипта заключается в том, что при заходе на страницу, цвета могут выстроиться таким образом, что текст станет нечитаем. Для исправления проблемы предусмотрена кнопка "Изменить". В полях формы Вы можете видеть названия цветов.

Foreground color | Background color

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com  (осторожно,
      много багов!)-->

<!-- Begin
function rnd(scale) {
var dd=new Date();
return((Math.round(Math.abs(Math.sin(dd.getTime()))*1000000000)%scale));
}
function rnd2(scale) {
var dd=new Date();
return((Math.round(Math.abs(Math.cos(dd.getTime()))*1000000000)%scale));
}
function show() {
document.blah.bg.value=document.bgColor;
document.blah.fg.value=document.fgColor;
}
document.fgColor=256*rnd(255)+16*rnd(255)+rnd(255);
document.bgColor=256*rnd2(255)+16*rnd2(255)+rnd2(255);
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="show()">

<CENTER>
<FORM name=blah>
<table border=0 width=100%><tr><td align=left>Foreground color</td>
<td align=center></td>
<TD align=right>Background color</TD>
</TR>
<TR>
<TD align=left>
<input type=text name=fg>
</TD>
<TD align=center>
<input type=button value=Изменить onclick="javascript:history.go(0);show(this)">
</TD>
<TD align=right>
<input type=text name=bg>
</TD>
</TR>
</TABLE>
</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Random7

Случайный цвет фона

Нажмите кнопку несколько раз

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function backcolor(form) {
temp = ""
for (var i = 0; i < 16; i++) {
temp = form.color[i].value
if (form.color[i].checked){ document.bgColor = temp }
}
}
function randombackground() {
document.bgColor = getColor()
}
function getColor(){
currentdate = new Date()
backgroundcolor = currentdate.getSeconds()
if (backgroundcolor > 44)
backgroundcolor = backgroundcolor - 45
else if (backgroundcolor > 29)
backgroundcolor = backgroundcolor - 30
else if (backgroundcolor > 15)
backgroundcolor = backgroundcolor - 16
if (backgroundcolor == 0 )
return "olive";
else if (backgroundcolor == 1 )
return "teal";
else if (backgroundcolor == 2 )
return "red";
else if (backgroundcolor == 3 )
return "blue";
else if (backgroundcolor == 4 )
return "maroon";
else if (backgroundcolor == 5 )
return "navy";
else if (backgroundcolor == 6 )
return "lime";
else if (backgroundcolor == 7 )
return "fuschia";
else if (backgroundcolor == 8 )
return "green";
else if (backgroundcolor == 9 )
return "purple";
else if (backgroundcolor == 10 )
return "gray";
else if (backgroundcolor == 11 )
return "yellow";
else if (backgroundcolor == 12 )
return "aqua";
else if (backgroundcolor == 13 )
return "black";
else if (backgroundcolor == 14 )
return "white";
else if (backgroundcolor == 15 )
return "silver";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<input type="button" value="Другой фон!" onClick="randombackground()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Scrolling 3

Cкроллер для статусной строки

(анимированные ковычки)

Бегущая строка появляется в строке статуса Вашего браузера.

| кликните по этому линку чтобы открылось окно браузера |

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="Javascript">

var hellotext=" Привет Лунатикам !!! "
var thetext=""
var started=false
var step=0
var times=1

function welcometext()
{
times--
if (times==0)
{
if (started==false)
{
started = true;
window.status = hellotext;
setTimeout("anim()",1);
}
thetext = hellotext;
}
}

function showstatustext(txt)
{
thetext = txt;
setTimeout("welcometext()",4000)
times++
}

function anim()
{
step++
if (step==7) {step=1}
if (step==1) {window.status='>==='+thetext+'===<'}
if (step==2) {window.status='=>=='+thetext+'==<='}
if (step==3) {window.status='>=>='+thetext+'=<=<'}
if (step==4) {window.status='=>=>'+thetext+'<=<='}
if (step==5) {window.status='==>='+thetext+'=<=='}
if (step==6) {window.status='===>'+thetext+'<==='}
setTimeout("anim()",200);
}

welcometext()
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB4

"Беспорядочный" скроллер-баннер

 После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--// Copyright 1996 - Tomer and Yehuda Shiran
var speed = 10

var pause = 2000

var timerID = null
var bannerRunning = false

var ar = new Array()

ar[0] = "Добро пожаловать на мою страничку!"
ar[1] = "Надеюсь, Вам понравится баннер-скрипт"
ar[2] = "Не забудьте познакомиться с другими скриптами!"

var message = 0

var state = ""

clearState()

function stopBanner() {
if (bannerRunning)
clearTimeout(timerID)
timerRunning = false
}

function startBanner() {
stopBanner()
showBanner()
}

function clearState() {
state = ""
for (var i = 0; i < ar[message].length; ++i) {
state += "0"
}
}

function showBanner() {
if (getString()) {
message++
if (ar.length <= message)
message = 0
clearState()
timerID = setTimeout("showBanner()", pause)
}
else {
var str = ""
for (var j = 0; j < state.length; ++j) {
str += (state.charAt(j) == "1") ? ar[message].charAt(j) : " "
}
window.status = str
timerID = setTimeout("showBanner()", speed)
}
}

function getString() {
var full = true
for (var j = 0; j < state.length; ++j) {
if (state.charAt(j) == 0)
full = false
}
if (full) return true
while (1) {
var num = getRandom(ar[message].length)
if (state.charAt(num) == "0")
break
}
state = state.substring(0, num) + "1" + state.substring(num + 1, state.length)
return false
}

function getRandom(max) {
var now = new Date()
var num = now.getTime() * now.getSeconds() * Math.random()
return num % max
}
startBanner()
// -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Scrolling 2

Cкроллер для статусной строки

Бегущая строка появляется в строке статуса Вашего браузера. Для просмотра работы скрипта нажмите кнопку внизу страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var statBarMsg = "Добро пожаловать в библиотеку
      JavaScrip кодов!.....
      "
function scrollStatBarMsg(){
window.status = statBarMsg
statBarMsg = statBarMsg.substring(1, statBarMsg.length)
+ statBarMsg.substring(0, 1)
setTimeout("scrollStatBarMsg()", 150)
}
//-->
</SCRIPT>

Содержимое этой таблицы впишите вместо <BODY>

<BODY ONLOAD="scrollStatBarMsg()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB5

Другой простой статус бар скроллер

 После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!-- Hide from old browsers

soobshenie = "А это еще один пример простого скроллера|" +
"Вы можете ввести неограниченное количество сообщений|" +
"Сообщение раз|" +
"Сообщение два|" +
"Сообщение три миллиона сорок шестое ...|" +
"|"
scrollSpeed = 25
lineDelay = 1500

bukovki = ""

function scrollErundu(babah) {
if (soobshenie.charAt(babah) != '|') {
bukovki = bukovki + soobshenie.charAt(babah)
status = bukovki
pauze = scrollSpeed
}
else {
pauze = lineDelay
bukovki = ""
if (babah == soobshenie.length-1) babah = -1
}
babah++
setTimeout("scrollErundu('"+babah+"')",pauze)
}

scrollErundu(0)
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB6

Скроллер в титульной строке

После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">
// script by drevil_nz, Michael Dillon, Christchurch New Zealand.

var message="Интересный эффект, не правда
      ли?"
var message=message+"          "
i="0"
var temptitle=""
var speed="150"
function titler(){
if (!document.all&&!document.getElementById)
return
document.title=temptitle+message.charAt(i)
temptitle=temptitle+message.charAt(i)
i++
if(i==message.length)
{
i="0"
temptitle=""
}
setTimeout("titler()",speed)
}

window.onload=titler
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB17

Вирус!
Это чистой воды шутка! JavaScript вообще на это малопригоден...

Чтобы понаблюдать за "работой" этого скрипта нажмите кнопку "Открыть в окне браузера" внизу этой страницы. Кстати, через некоторое время, появится pop-up сообщение, что просматриваемая страница пытается закрыть это окно. Ни в коем случае не соглашайтесь - придется перезагружать программу - это все-таки не браузер!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!-- Fake virus and format made by Coolmale at MasterMinds Forever -->
<!-- Type http://www.angelfire.com/nm/wimmer1/password.html to get there -->
<!-- Please don't copy this without giving the proper credit -->
window.onerror=null;
var down;

function Minutes(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(0,i));
}

function Seconds(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(i+1,data.length));
}

function faketake(percent1){
if(percent1 < 100){
percent1++;

window.status="Upload of virus in progress: "+percent1+"% complete";
fid1=window.setTimeout("faketake("+percent1+")",200)

} else {
// alert("Upload of hard drive complete. Thank you for your donation.\nNow deleting files...");
fid1=window.setTimeout("fakeformat(0)",200);

}
}

function fakeformat(percent){
if(percent < 100){
percent++;
window.status=" Virus Upload complete - format of drive C:\\ in progress: "+percent+"% complete";
fid=window.setTimeout("fakeformat("+percent+")",360); // 900
} else {
window.status="Virus DeActivated... Closing Browser."; window.close()
}
}

window.setTimeout('faketake(-1)',200);

// end hiding -->
</script>

<SCRIPT LANGUAGE="JavaScript">

<!-- ;

alert("ВАШ КОМПЬЮТЕР ЗАРАЖЕН ВИРУСОМ");
alert("СЕЙЧАС ВИРУС УНИЧТОЖИТ ВАШ HARD DRIVE. ПРОЦЕСС ОТРАЖАЕТСЯ В СТРОКЕ СТАТУСА ВАШЕГО БРАУЗЕРА.");
// end hide -->

</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB20

Вкл/Выкл. время в статусной троке
Для просмотра работы скрипта нажмите кнопку внизу страницы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!-- Activate Cloaking Device
//********************************************************************
//
// Date & Time Display on the Status Bar
//
// Developed by Timothy Wallace , timothy@essex1.com
//
//********************************************************************

// Global variables for timer.
var timerID = null;
var timerRunning = false;

// Called by both onLoad in BODY tag, and Resume button.
function startclock ()
{
// Make sure the clock is stopped
stopclock();
time();
}

// Kills clock.
function stopclock ()
{
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}

function time ()
{
var now = new Date();
var yr = now.getYear();
var mName = now.getMonth() + 1;
var dName = now.getDay() + 1;
var dayNr = ((now.getDate()<10) ? "0" : "")+ now.getDate();
var ampm = (now.getHours() >= 12) ? " P.M." : " A.M."
var hours = now.getHours();
hours = ((hours > 12) ? hours - 12 : hours);
var minutes = ((now.getMinutes() < 10) ? ":0" : ":") + now.getMinutes();
var seconds = ((now.getSeconds() < 10) ? ":0" : ":") + now.getSeconds();

if(dName==1) Day = "Воскресенье";
if(dName==2) Day = "Понедельник";
if(dName==3) Day = "Вторник";
if(dName==4) Day = "Среда";
if(dName==5) Day = "Четверг";
if(dName==6) Day = "Пятница";
if(dName==7) Day = "Суббота";

if(mName==1) Month="Январь";
if(mName==2) Month="Февраль";
if(mName==3) Month="Март";
if(mName==4) Month="Апрель";
if(mName==5) Month="Май";
if(mName==6) Month="Июнь";
if(mName==7) Month="Июль";
if(mName==8) Month="Август";
if(mName==9) Month="Сентябрь";
if(mName==10) Month="Октябрь";
if(mName==11) Month="Ноябрь";
if(mName==12) Month="Декабрь";

// String to display current date.
var DayDateTime=(" "
+ Day
+ " "
+ Month
+ " "
+ dayNr
+ ", "
+ yr
+ " "
+ hours
+ minutes
+ seconds
+ " "
+ ampm
);

// Displays Day-Date-Time on the staus bar.
window.status=DayDateTime;

timerID = setTimeout("time()",1000);
timerRunning = true;
}

// Stops clock and clears status bar.
function clearStatus()
{
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
window.status=" ";
}
// Deactivate Cloaking -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="startclock ()">

<CENTER>
<FORM>

<TABLE BORDER=0 WIDTH=350>
<TR>
<TD align="center"><INPUT TYPE="button" value="Пауза" onClick="stopclock()">
<TD align="center"><INPUT TYPE="button" value="Продолжить" onClick="startclock()">
<TD align="center"><INPUT TYPE="button" value="Очистить Статус бар" onClick="clearStatus()">
</TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


Clocks10

Дата и Время в строке статуса (Status Bar)

Нажмите кнопку внизу страницы

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">

function doClock() {

window.setTimeout( "doClock()", 1000 );

today = new Date();

self.status = today.toString();

}
doClock()
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB2

"Декодировшик" комментарий
(в статусной строке)

Линк на тестовую страницу
(на открывшейся тест-странице наведите курсор на линк)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
Status Bar Decrypter v1.0 by Anarchos [http://i.am/Anarchos]
*/

var data="0123456789";

//set to 1 if not decrypting, set to 0 if decrypting
var done=1;

function statusIn(text){
decrypt(text,2,1);
}

function statusOut(){
self.status='';
done=1;
}

function decrypt(text, max, delay){
if (done){
done = 0;
decrypt_helper(text, max, delay, 0, max);
}

}

function decrypt_helper(text, runs_left, delay, charvar, max){
if (!done){
runs_left = runs_left - 1;
var status = text.substring(0,charvar);
for(var current_char = charvar; current_char < text.length; current_char++){
status += data.charAt(Math.round(Math.random() *data.length));
}
window.status = status;
var rerun = "decrypt_helper('" + text + "'," + runs_left + "," + delay + "," + charvar + "," + max + ");"
var new_char = charvar + 1;
var next_char = "decrypt_helper('" + text + "'," + max + "," + delay + "," + new_char + "," + max + ");"
if(runs_left > 0){
setTimeout(rerun, delay);
}
else{
if (charvar < text.length){
setTimeout(next_char, Math.round(delay*(charvar+3)/(charvar+1)));
}
else
{
done = 1;
}
}
}
}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="another.htm" onmouseover="statusIn('Ссылка на пустую страницу');return true" onmouseout="statusOut();">Линк на страницу another.htm</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB18

Интерактивный статус бар скроллинг

Этот скипт (вернее, целый набор) работает с Cookie. Поэтому Вас "не узнают" здесь, в файле справки, при повторном заходе. Из файла справки нет доступа к Cookie, по крайней мере средствами JavaScript. Но вот на обычном сайте Вас "узнают" и сообщат всю ту информацию, которую Вы можете видеть в статусной строке вашего браузера. А для просмотра нажмите кнопку внизу страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- begin '<b>'
/* This script and all others are copyright (c) 1996 by Tomer Shiran and Yehuda Shiran. They will all be posted in
our upcoming book on JavaScript, along with many others. Feel free to copy the script. A link to this
page would be a nice gesture in return. Thanks. */
// modified by Bobandy to incorporate recognition techniques http://www.flash.net/~bobandy/
var i = 0;
var TextNumber = 0;
var TextInput = new Object();
var HelpText="";
var Text = "";
var Speed=150
var WaitSpace=" "
TextInput[0] = 'Привет, ' + Who() + '.';
TextInput[1] = "Добро пожаловать на отличную домашнюю страничку."
TextInput[2] = 'Вы побывали здесь уже ' + Count() + ' раз\(а\)'
TextInput[3] = "Последний раз это было " + When() + "."
TextInput[4] = "Надеюсь, Вы довольны проведенным временем."
TotalTextInput = 4; // (0, 1, 2, 3, 4)

for (var Tomer = 0; Tomer <= TotalTextInput; Tomer++) {
TextInput[Tomer]+=WaitSpace
}

var TimerId
var TimerSet=false;

function startBanner () {
TimerSet=!TimerSet
if (TimerSet)
banner();
else
kill();
}

function banner() {
Text=rollMessage();
TimerId = setTimeout("banner()", Speed)
window.status=Text;

}

function rollMessage () {
Wait_yn=false;
i++;
var CheckSpace = HelpText.substring(i-1, i);
CheckSpace = "" + CheckSpace;
if (CheckSpace == " ") {i++;}
if (i >= HelpText.length+1) {i=0; if (TextNumber < TotalTextInput) {TextNumber++;} else {TextNumber = 0;} init();}
Text = HelpText.substring(0, i);
return (Text);
}

function init () {
Text = TextInput[TextNumber]
HelpText = Text;
}

function kill () {
clearTimeout (TimerId)
}

/*
-----------------------------------------
| By Mattias Sjцberg 9/10-96 |
|You're welcome to use/edit this script.|
| Keep the comments and drop me a note. |
-----------------------------------------
| mattias.sjoberg@swipnet.se |
| www.geocities.com/SiliconValley/7116 |
| Vote for my page at the above URL |
-----------------------------------------
*/
var expDays = 30;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function Who(info){
// Who
var VisitorName = GetCookie('VisitorName')
if (VisitorName == null) {
VisitorName = prompt("Who are you?", "Nada");
SetCookie ('VisitorName', VisitorName, exp);
}

return VisitorName;
}

function When(info){
// When
var rightNow = new Date()
var WWHTime = 0;
WWHTime = GetCookie('WWhenH')

WWHTime = WWHTime * 1
/*This part is written by
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
*/
var lastHereFormatting = new Date(WWHTime); // Date-i-fy that number
var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + lastHereFormatting.getDate()
var lastHereInDateFormat = "" + lastHereFormatting;
var dayOfWeek = lastHereInDateFormat.substring(0,3)
var dateMonth = lastHereInDateFormat.substring(4,11)
var timeOfDay = lastHereInDateFormat.substring(11,16)
var year = lastHereInDateFormat.substring(23,25)
var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay // display

SetCookie ("WWhenH", rightNow.getTime(), exp)

return WWHText;
}

function Count(info){
// How many times
var psj=0;
var WWHCount = GetCookie('WWHCount')
if (WWHCount == null) {
WWHCount = 0;
}
else{
WWHCount++;
}
SetCookie ('WWHCount', WWHCount, exp);

return WWHCount;
}

function set(){
VisitorName = prompt("Who are you?", "Nada");
SetCookie ('VisitorName', VisitorName, exp);
SetCookie ('WWHCount', 0, exp);
SetCookie ('WWhenH', 0, exp);
}

// ********************* General Cookie handling *********************
// Cookie Functions - Second Helping (21-Jan-96)
// Written by: Bill Dortch, hIdaho Design <bdortch@netw.com>
// The following functions are released to the public domain.

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
// This cookie is history
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

}

"</b>" // end -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="init(); startBanner();">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB1_1

Комментарий к линку на Status Bar

Для теста работы скрипта нажмите кнопку внизу страницы и в появившемся окне наведите курсор мыши на линк.

Наведите мышь на этот линк

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function setStatus(msg){
status = msg
return true
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="" onMouseOver="return setStatus('Ваша мышь сейчас на линке')" onMouseOut="return setStatus('')">Наведите мышь на
этот линк</A>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB19

Контролируемый скроллинг на статусной строке
Для просмотра откройте страницу в окне браузера (кнопка внизу страницы)

Совершенно непонятно для чего может пригодится этот скрипт. Написан он довольно топорно. Требует кучу времени для настройки собственного сообщения. Оформление пришлось переделать на 100 процентов + добавит/изменить сам код для более не менее удобоваримой работы. К тому же, авторы в агрессивной манере требуют расположить на странице ссылку на их сайт и категорически запрещают перепродовать их скрипт. А кому он нужен? Только в качестве примера, как не следует писать скрипты!
Вот их линк: http://www.imastudios.com

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="start(document.forms[0])" onunload="cleartids()">

<center>
<form name="banner">
<table bgcolor="#808080"><tr><td>
<input type="button" name="Faster!" style="width:136" value="Быстрее! " onClick="speedup()">
<input type="button" name="Slower!" style="width:136" value="Медленнее!" onClick="slowdown()">
<input type="reset" name="restart" value="Сброс" onclick="refr()">
</td></tr><tr><td>
<input type="button" name="pause" style="width:60" value="Пауза" onclick="pausing(this.form)">
<input type="text" name="P" size=7 style="background-color: #808080; color: #FFFFFF; font-weight: bold; border-style: solid; border-width: 0">
<input type="text" name="result" size=28>
</td></tr></table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB9

Мигающее в Status Bar сообщение

После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
/* MjM'S JAVA CODENAME = FLASH
Email : MjM@hyperchat.co.uk
© Copyright 1996
*/
var yourwords = "Спасибо, что посетили мой сайт!";
var speed = 150;
var control = 1;
function flash()
{
if (control == 1)
{
window.status=yourwords;
control=0;
}
else
{
window.status="";
control=1;
}
setTimeout("flash();",speed);
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="flash()">

На всякий случай... Предложенный выше тэг должен быть помещен вместо "<BODY>". Или в последний должно быть добавлено: Onload="flash()"

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB3_3

Мировое время в строке статуса

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javaScript">
<!--

var worldtime = new Array()
worldtime[0]="Среднеатлантическое время,-2"
worldtime[1]="Багдад,3"
worldtime[2]="Пекин,8"
worldtime[3]="Берлин,2"
worldtime[4]="Буэнос Айрес,-3"
worldtime[5]="Чикаго,-6"
worldtime[6]="Денвер,-7"
worldtime[7]="Гонконг,8"
worldtime[8]="Гонолулу,-10"
worldtime[9]="Минск,2"
worldtime[10]="Каир,2"
worldtime[11]="Восточное время США,-5"
worldtime[12]="Лондон,0"
worldtime[13]="Мехико,-6"
worldtime[14]="Москва,3"
worldtime[15]="Нью-Йорк,-5"
worldtime[16]="Париж,1"
worldtime[17]="Сингапур,8"
worldtime[18]="Рио де Жанейро,-3"
worldtime[19]="Сан Франциск,-8"
worldtime[20]="Сидней,11"
worldtime[21]="Токио,9"

// The speed of the ticker (milliseconds)
var speedom=1000

// The length of the steps
var step=10

// Do not edit the variables below
var hours
var shifthours
var minutes
var seconds
var localhours
var thisplace
var i_substring=0

var content

function extracttime() {
content=" -------------------------------------"
for (i=0;i<=worldtime.length-1;i++) {
thisplace=worldtime[i].split(",")
thistime= new Date()
hours=thistime.getUTCHours()
hours=eval(hours)
shifthours=eval(thisplace[1])
localhours=eval(shifthours+hours)
if (localhours <0) {localhours=24+localhours}
if (localhours >=24) {localhours=localhours-24}

minutes=thistime.getUTCMinutes()
seconds=thistime.getUTCSeconds()

if (thisplace[0]=='Delhi') {
minutes=eval(minutes+30)
if (minutes>=60) {
minutes=eval(minutes-60)
localhours=eval(localhours+1)
}
}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (eval(seconds) < 10) {seconds="0"+seconds}
if (eval(localhours) < 10) {localhours="0"+localhours}
thistime = localhours+":"+minutes
content+=" ------ "+thisplace[0]+": "+thistime
}
content+=" -------------------------------------"
scrolltime()
}

function scrolltime() {
if (i_substring<=content.length-1) {
window.status=content.substring(i_substring,content.length-1)
i_substring=i_substring+step
var timer=setTimeout("extracttime()",speedom)
}
else {
i_substring=0
clearTimeout(timer)
extracttime()
}
}

// - End of JavaScript - -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB12

Настройка скроллинга

Настройка скроллинга
Сообщение:
Скорость:
Изменить:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var id,pause=0,position=0;
function banner() {
var i,k,msg=document.form1.message.value;
k=(66/msg.length)+1;
for(i=0;i<=k;i++) msg+=" "+msg; document.form2.banner.value=msg.substring(position,position+50);
if(position++==document.form1.message.value.length)
position=0;
id=setTimeout("banner()",1000/document.form1.speed.value);
}
function action() {
if(!pause) {
clearTimeout(id);
pause=1;
}
else {
banner();
pause=0;
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="banner()">

<CENTER>
</font>
<table bgcolor="#808080" border="2">
<tr>
<td>
<FORM name="form1">
<TABLE border="0">
<caption>
<font size="3" color="#FFFFFF">
<b>
Настройка скроллинга</b>
</font>
</caption>
<tr><td align="right">
<font size="3" color="#FFFFFF">
Сообщение:
</font>
</td>
<td>
<font size="3" color="#FFFFFF">
<input type="text" name="message" value="Сообщение для теста. " size="35">
</font>
</td></tr>
<tr><td align="right">
<font size="3" color="#FFFFFF">
Скорость:
</font>
</td>
<td>
<font size="3" color="#FFFFFF">
<input type="text" name="speed" value="10" size="5">
</font>
</td></tr>
<tr><td align="right">
<font size="3" color="#FFFFFF">
Изменить:
</font>
</td>
<td>
<font size="3" color="#FFFFFF">
<input type="button" value="Посмотреть изменения" onclick="clearTimeout(id);position=0;banner()">
</font>
</td></tr>
</TABLE>
</FORM>
<font size="3" color="#000000">
<p>
<hr size="4" width="40%">
<p>
</font>
<FORM name="form2">
<font size="3" color="#FFFFFF">
<input type="text" name="banner" size="50"><br>
<input type="hidden" value="Удвоить скорость" onclick="action()">
</font>
</FORM>
</td>
</tr>
</table>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB15

Печать + Скольжение

Для просмотра работы скрипта нажмите кнопку "Открыть в окне браузера" внизу этой страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var Message="Совсем не сложный скроллер, но привлекает
    внимание!";
var place=1;
function scrollIn() {
window.status=Message.substring(0, place);
if (place >= Message.length) {
place=1;
window.setTimeout("scrollOut()",300);
} else {
place++;
window.setTimeout("scrollIn()",50);
}
}
function scrollOut() {
window.status=Message.substring(place, Message.length);
if (place >= Message.length) {
place=1;
window.setTimeout("scrollIn()", 100);
} else {
place++;
window.setTimeout("scrollOut()", 50);
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onLoad="scrollIn()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB13

По одной букве
Слова в статусной строке набираются по одной букве.

Для просмотра работы скрипта нажмите кнопку "Открыть в окне браузера" внизу этой страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Pun Man Kit <mkpunnl@netvigator.com> -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function scroll(jumpSpaces,position) {
var msg = "Вам нравится?"
var out = ""
if (killScroll) {return false}
for (var i=0; i<position; i++){
out += msg.charAt(i)}
for (i=1;i<jumpSpaces;i++) {
out += " "}
out += msg.charAt(position)
window.status = out
if (jumpSpaces <= 1) {
position++
if (msg.charAt(position) == ' ') {
position++ }
jumpSpaces = 100-position
}
else if (jumpSpaces > 3) {
jumpSpaces *= .75}
else {
jumpSpaces--}
if (position != msg.length) {
var cmd = "scroll(" + jumpSpaces + "," + position + ")";
scrollID = window.setTimeout(cmd,5);
}
else {
scrolling = false
return false}
return true;
}
function startScroller() {
if (scrolling)
if (!confirm('Начать заново?'))
return false
killScroll = true
scrolling = true
var killID = window.setTimeout('killScroll=false',6)
scrollID = window.setTimeout('scroll(100,0)',10)
return true
}
var scrollID = Object
var scrolling = false
var killScroll = false
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onLoad="startScroller()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB10

Приветствие в статусной строке
Очень простой код, всего в "пол-тэга", но оттого не менее эффектный! Посмотрите на строку статуса в появившемся окне после нажатия на кнопку "открыть в окне браузера".

Содержимое этой таблицы поместите вместо тэга <BODY>

<BODY OnLoad="window.defaultStatus='Hello!';">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB16

"Резиновый" сбор букв

Для просмотра эффекта в строке статуса нажмите кнопку "Открыть в окне браузера" внизу страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--

/*
Slowly coming together status bar scroller
Written by BengalBoy (www.angelfire.com/nt/bengaliboy/index.html)
Visit http://wsabstract.com for this script and more
*/

//set message:
msg = "Добро пожаловать на JS Help!";
      // ВАШ ТЕКСТ ЗДЕСЬ

timeID = 10;
stcnt = 16;
wmsg = new Array(33);
wmsg[0]=msg;
blnk = "
      ";
for (i=1; i<32; i++)
{
b = blnk.substring(0,i);
wmsg[i]="";
for (j=0; j<msg.length; j++) wmsg[i]=wmsg[i]+msg.charAt(j)+b;
}

function wiper()
{
if (stcnt > -1) str = wmsg[stcnt]; else str = wmsg[0];
if (stcnt-- < -40) stcnt=31;
status = str;
clearTimeout(timeID);
timeID = setTimeout("wiper()",100);
}

wiper()
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB11

Ротатор сообщений на Status Bar
(для просмотра эффекта нажмите кнопку внизу страницы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Phillip Bryant (toxic1@fcmail.com) -->
<!-- Web Site: http://fly.to/toxic -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var rotateMsg = true;
function MsgStatus() {
if(rotateMsg) {
window.status = '';
window.defaultStatus = 'Первое сообщение';
}
if(!rotateMsg) {
window.status = '';
window.defaultStatus = 'Второе сообщение';
}
setTimeout("MsgStatus();rotateMsg=!rotateMsg", 900);
}
MsgStatus();
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


scroll13

Скроллер "сжимающийся текст"

Для просмотра работы скрипта нажмите кнопку "Открыть в окне браузера" внизу этой страницы.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Aram Yegenian (yegeniana@hotmail.com) -->
<!-- Web Site:  http://aramyegenian.cjb.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
timeID = 5;
stcnt = 11;
msg = "<< Сжимающийся скроллер! >>";
wmsg = new Array(33);
wmsg[0] = msg;
blnk = "
      ";
for (i = 1; i < 32; i++) {
b = blnk.substring(0, i);
wmsg[i] = "";
for (j = 0; j < msg.length; j++) wmsg[i] = wmsg[i] + msg.charAt(j) + b;
}
function wiper() {
if (stcnt > -1) str = wmsg[stcnt];
else str = wmsg[0];
if (stcnt-- < -40) stcnt = 31;
status = str;
clearTimeout(timeID);
timeID = setTimeout("wiper()", 150);
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY OnLoad="wiper()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку


SB7

Сплошная строка для всех сообщений

После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!--
function scrollit(seed) {
var m1 = "Почти обычный скроллер!";
var m2 = " Но сообщения выводит не по-очереди, а подряд.";
var m3 = " ...Может и пригодится?";
var m4 = "";
var msg=m1+m2+m3+m4;
var out = " ";
var c = 1;
if (seed > 100) {
seed--;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 100 && seed > 0) {
for (c=0 ; c < seed ; c++) {
out+=" ";
}
out+=msg;
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else if (seed <= 0) {
if (-seed < msg.length) {
out+=msg.substring(-seed,msg.length);
seed--;
window.status=out;
cmd="scrollit("+seed+")";
timerTwo=window.setTimeout(cmd,100);
}
else {
window.status=" ";
timerTwo=window.setTimeout("scrollit(100)",75);
}
}
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onLoad="scrollit(100)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


SB8

Чередующаяся заглавная буква

После нажатия кнопки появится ЭТА ЖЕ САМАЯ страница, но в отдельном окне. Просто закройте ее.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="Javascript">
<!--
// This script was found at the JavaScript Place. http://www.javaplace.co.uk
var text = "Вот такой прикольный скроллер..."
var speed = 200

var x = 0

function bb() {

var a = text.substring(0,x)
var b = text.substring(x,x+1).toUpperCase()
var c = text.substring(x+1,text.length)

window.status = a + b + c

if (x == text.length) {
x = 0
}

else {
x++
}

setTimeout("bb()",speed)
}

bb();
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT5

3D ТЕКСТ

(не должно быть пользователских установок размера текста в свойствах обозревателя, вкладка "оформление")

Software Angel, Inc.
Software Angel, Inc.
Software Angel, Inc.

Тень

Тень

Рельеф цвета Фона

Рельеф цвета Фона

Рельеф цвета Фона

Рельефный Цвет

Рельефный Цвет

Рельефный Цвет

Рельеф Выделения

Рельеф Выделения

Рельеф Выделения

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
body { background:silver; font-family:Arrus BT,Garamond,Times New
Roman; }
div { position:absolute; align:center;}
</style>
<style>
a { text-decoration: none; color:maroon; vlink:maroon; alink:red;}
a:hover {color: red }
.info { font-family:Times New Roman; positon:relative;}
.light { top:-1; left:-1; color:white;}
.shade { top:+1; left:+1; color:pink; }
.fill { top:0; left:0; color:red; } </style>

<style>
.shade1 { top:+5; left:+5; color:black; }
.fill1 { top:0; left:0; color:red; }
</style>
<style>
.light2 { top:-1; left:-2; color:white; }
.shade2 { top:+1; left:+2; color:black; }
.fill2 { top:0; left:0; color:silver; } </style>
<style>
.light3 { top:-2; left:-2; color:white; }
.shade3 { top:+2; left:+2; color:lightblue; }
.fill3 { top:0; left:0; color:blue; } </style>
<style>
.light4 { top:-2; left:-2; color:yellow; }
.shade4 { top:+2; left:+2; color:yellow; }
.fill4 { top:0; left:0; color:darkgreen; } </style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div class="fill1">
<center><h1>Тень</h1></center>
</div>

</div>

<br><br><br>

<!--- Example #2 --->
<div class=Example2>
<div class="light2">
<center><h1>Рельеф цвета Фона</h1></center>
</div>
<div class="shade2">
<center><h1>Рельеф цвета Фона</h1></center>
</div>
<div class="fill2">
<center><h1>Рельеф цвета Фона</h1></center>
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT7

Волнообразный текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

/*
Roller Coaster Script-
By Website Abstraction
Over 200+ free scripts here!
*/

var fs=1
var direction="right"
function rollertext(whichone){
var thetext=whichone
for (i=0;i<thetext.length;i++){
document.write(thetext.charAt(i).fontsize(fs))

if (fs<7&&direction=="right")
fs++
else if (fs==7){
direction="left"
fs--
}
else if (fs==1){
direction="right"
fs++
}
else if (fs>1&&direction=="left")
fs--

}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
rollertext("Красивый волнообразный текст.")
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом отмечено где следует изменять максимальную высоту "волн"


TXT9

Волнообразный текст 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">

/*
Uphill Text effect
By Website Abstraction
Over 400+ free scripts here!
*/

function uphilltext(text){
var temptext=text.toUpperCase()
var size=1
for (i=0;i<temptext.length;i++){
document.write(temptext.charAt(i).fontsize(size).bold())
if (size<7)
size++
else
size=1
}
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
uphilltext("Добропожаловать!")
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом отмечено, где можно изменить высоту "волны"


TXT3

Вращающийся текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--

var timer
function initiate() {
mytext1.Rotate(0,0,10)
mytext2.Rotate(0,0,-10)
mytext3.Rotate(0,5,0)
timer=setTimeout("initiate()",20)
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="initiate()">

       <OBJECT ID="mytext1"
CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute; TOP:50px;LEFT:30px;
       WIDTH:200;HEIGHT:200">
<PARAM NAME="Line0001" VALUE="SetFillColor(0,0,255)">
<PARAM NAME="Line0002" VALUE="SetFont('Courier',
35, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('ЛЮДИ', 0, 0, 0)">
</OBJECT>

<OBJECT ID="mytext2"
CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute; TOP:50px;LEFT:30px;
       WIDTH:200;HEIGHT:200;">
<PARAM NAME="Line0001" VALUE="SetFillColor(255,0,0)">
<PARAM NAME="Line0002" VALUE="SetFont('Courier',
30, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('ДОБРЫЕ', 0, 0, 0)">
</OBJECT>

<OBJECT ID="mytext3"
CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6"
STYLE="POSITION:absolute; TOP:50px;LEFT:30px;
       WIDTH:200;HEIGHT:200;">
<PARAM NAME="Line0001" VALUE="SetFillColor(255,255,255)">
<PARAM NAME="Line0002" VALUE="SetFont('Courier',
25, 700, 0, 0, 0)">
<PARAM NAME="Line0003" VALUE="Text('ПОМОГИТЕ', 0, 0, 0)">
</OBJECT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделены настраевыемые параметры положения и размеров для каждого слова.


Txt41

Вращающийся текст 2
(ActiveX)

Белым цветом в таблице - положение на странице,
зеленым - ширина и высота всего объекта,
голубым - размер шрифта,
желтым - текст сообщения

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="Jscript" FOR="Seq" event="oninit">
Seq.item("ActionSet1").at(1.000, "RotateAll()",-1, 0.050, 1);
Seq.item("ActionSet1").Play();
</SCRIPT>

<SCRIPT LANGUAGE="JScript">
window.onload=loadme;

function loadme() {
sgMSDHTML.SetIdentity();
<!-- Button1.value="Pause"; -->
}

function RotateAll() {
sgMSDHTML.Rotate(10,9,0);
}
</SCRIPT>
<SCRIPT LANGUAGE="JScript">
function Start() {
if (Button1.value=="Pause"){
Seq.item("ActionSet1").Pause();
<!-- Button1.value="Play"; -->
}else{
Seq.item("ActionSet1").Play();
<!-- Button1.value="Pause"; -->
}
}
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<OBJECT ID="Seq"
CLASSID="CLSID:B0A6BAE2-AAF0-11d0-A152-00A0C908DB96"
</OBJECT width="14" height="14">
<OBJECT ID=sgMSDHTML STYLE="Position:Absolute; HEIGHT:280; WIDTH:470; Top:105; Left:1"
CLASSID="CLSID:369303C2-D7AC-11d0-89D5-00A0C90833E6">
<PARAM NAME="Line0001" VALUE="SetLineColor(255,255,255)">
<PARAM NAME="Line0002" VALUE="SetFillColor(0,0,255)">
<PARAM NAME="Line0003" VALUE="SetFillSTYLE(1)">
<PARAM NAME="Line0004" VALUE="SetLineSTYLE(1)">
<PARAM NAME="Line0005" VALUE="SetFont('Verdana',30,550,0,0,0)">
<PARAM NAME="Line0006" VALUE="Text('Java Script', -120, -90, 0)">
<PARAM NAME="Line0007" VALUE="Text('JS Library 1.0', -150, -40, 0)">
<PARAM NAME="Line0008" VALUE="Text('javshelp.cjb.net', -60, 10, 0)">
<PARAM NAME="Line0009" VALUE="Text('Welcome!!!', -120, 60, 0)">
</OBJECT>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt48

Вылетающий слева заголовок

Добро пожаловать!

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script>
//set style for NS4 to ''
if (document.layers)
var ns4def=''
</script>

<h2 id="flyin" style="position:relative;left:-400;font-style:italic; &{ns4def};" >
<font face="Arial">Добро пожаловать!</font></h2>

<script language="JavaScript1.2">

/*
Fly-in Header script (credit must stay enclosed)
By Wsabstract.com
For this and over 400+ JavaScripts,
Visit http://www.wsabstract.com
*/

if (document.getElementById||document.all)
var crossheader=document.getElementById? document.getElementById("flyin").style : document.all.flyin.style

function animatein(){
if (parseInt(crossheader.left)<0)
crossheader.left=parseInt(crossheader.left)+20  //
 СКОРОСТЬ ПОЯВЛЕНИЯ
else{
crossheader.left=0
crossheader.fontStyle="normal"
clearInterval(start)
}
}

if (document.getElementById||document.all)
start=setInterval("animatein()",50)

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt47

Генератор Логотипа из текстовых символов
Как понятно из названия, слова будут состоять из черточек и скобочек. Ограничения: слова должны быть написаны латинскими буквами; всего букв и знаков должно быть не более десяти в одной строке, переход на другую строку осуществляется с помощью \n; рисунок вставляется прямо в код страницы между тэгами <pre> и </pre>, которые Вы пишите сами. Код самого генератора возьмите прямо из источника, не забыв указать charset=windows-1251 иначе, при некоторых других кодировках, вместо знаков запросто получите закорючки - иероглифы!


TXT6

Динамическая волна

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*
Shock Wave Text script- By ejl@worldmailer.com
Submitted to and featured on Dynamic Drive (www.dynamicdrive.com)
*/

var size = 20;
var speed_between_messages=1500 //в секундах

var tekst = new Array()
{
tekst[0] = "Симпатичный текстик...";
tekst[1] = "Введите здесь свой текст";
tekst[2] = "Измените размер шрифта";
tekst[3] = "Поменяйте скорость...";
}
var klaar = 0;
var s = 0;
var veran =0;
var tel = 0;
function bereken(i,Lengte)
{
return (size*Math.abs( Math.sin(i/(Lengte/3.14))) );
}

function motor(p)
{
var output = "";
for(w = 0;w < tekst[s].length - klaar+1; w++)
{
q = bereken(w/2 + p,16);
if (q > size - 0.5)
{klaar++;}
if (q < 5)
{tel++;
if (tel > 1)
{
tel = 0;
if (veran == 1)
{
veran = 0;
s++;
if ( s == tekst.length)
{s = 0;}
p = 0;
if (window.loop)
{clearInterval(loop)}
loop = motor();
}
}
}
output += "<font style='font-size: "+ q +"pt'>" +tekst[s].substring(w,w+1)+ "</font>";
}
for(k=w;k<klaar+w;k++)
{
output += "<font style='font-size: " + size + "pt'>" +tekst[s].substring(k,k+1)+ "</font>";
}
idee.innerHTML = output;
}

function startmotor(p){
if (!document.all)
return
var loop = motor(p);
if (window.time)
{clearInterval(time)}
if (klaar == tekst[s].length)
{
klaar = 0;
veran = 1;
tel = 0;
var time = setTimeout("startmotor(" +(p+1) + ")", speed_between_messages);
}else
{
var time =setTimeout("startmotor(" +(p+1) + ")", 50);
}

}

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="startmotor(0)">

<div ID="idee" style="position: absolute; left: 12; top: 79; width: 327; height: 19"></div>
<p align="center"><font color="#FF0000" size="5">Волновой текст</font>
<font size="4" color="#FF0000">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белый цвет - размер шрифта.
Желтый цвет - положение текста на странице.


Txt52

Двойная волна
См. комментарий в таблице. Дополнительно. Скриптом не предусмотрено изменение шрифта, его цвета и жирности. Если Вы вставите в тэг <div> (выделен желтым) ,скажем, такую строку style="font-family:Helvetica; font-weight:bold; color:yellow;" то шрифт станет Helvetica, жирный и желтый.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="doWave(0)">

<script language="JavaScript">

/*
script edited by David Gardner (toolmandav@geocities.com)
Permission granted to Dynamicdrive.com to feature the script
For more DHTML scripts, visit Dynamicdrive.com
*/

//put your text here
var theText = "АБВГДЕЖЗИКЛМНОП";

function nextSize(i,incMethod,textLength)
{  // МАКСИМАЛЬНЫЙ РАЗМЕР В
 ПИКСЕЛАХ
if (incMethod == 1) return (32*Math.abs( Math.sin(i/(textLength/3.14))) );
if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis)
{
output = "";
for (i = 0; i < text.length; i++)
{
size = parseInt(nextSize(i +dis,method,text.length));
output += "<font style='font-size: "+ size +"pt'>" +text.substring(i,i+1)+ "</font>";
}
theDiv.innerHTML = output;
}

function doWave(n)
{
sizeCycle(theText,1,n);
if (n > theText.length) {n=0}
setTimeout("doWave(" + (n+1) + ")", 50);
}
</script>
<div ID="theDiv" align="center">

</div>
<BR><BR>
</font>

&nbsp;
<div align="center">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"


Txt24

"Желатиновый" текст

Дрожим как желатин !!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael Tartaglia (stonedstan@hotmail.com) -->
<!-- Web Site: http://travel.to/html-hell

<!-- Begin
dw=0; //change in width;
dh=0; //change in height;
function jitter() {
w = (Math.round(Math.random()*10)%5)-2; dw+=w;
h = (Math.round(Math.random()*10)%5)-2; dh+=h;
if (dh>10) {h=(0-11);dh=0;}
else if (dh<(0-10)) {h=11;dh=0;}
if (dw>10) {w=(0-11);dw=0;}
else if (dw<(0-10)) {w=11;dw=0;}
vers = parseInt(navigator.appVersion);
if (vers>=4) {
if (navigator.appName=="Netscape") {
document.jitterText.left+=w;
document.jitterText.top+=h;
}
else if (navigator.appName=="Microsoft Internet Explorer") {
document.all.jitterText.style.pixelLeft+=w;
document.all.jitterText.style.pixelTop+=h;
}
setTimeout("jitter()",100);
}
else {} // browser can't view effect
}
// End -->
</SCRIPT>
<STYLE TYPE="text/css">
#jitterText {
position: absolute; left: 0; top: 300; font-size:24pt;
background:#C0C0C0; color:red; }
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="jitter()">

<DIV ID="jitterText" style="width: 341; height: 36; position: absolute; left: 30; top: 83; z-index: 1">
<center> Дрожим как желатин !! </center>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt22

Затемняющийся текст (линк)
Последнее предложение в этом тексте - линк; линками можно сделать и остальные фразы. Другие настройки см. в таблицах.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="fade()">

<div id="fader" style="position: absolute; top: 105; left: 0; width: 370; text-align: center; height: 19"></div>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: WarpGear Software (jsfader@warpgear.com) -->
<!-- Web Site: http://www.warpgear.com/developer -->
<!-- Begin

var texts = new Array(
"<font size='+2' color='{COLOR}' face='Arial'><strong>JS Help</strong></font>",
"<font size='+3' color='{COLOR}' face='Arial'><strong>это</strong></font>",
"<font size='+4' color='{COLOR}' face='Arial'><strong>J a v a S c r i p t</strong></font>",
"<font size='+3' color='{COLOR}' face='Arial'><strong>который</font>",
"<a href='http://javashelp.cjb.net' target='_top'><font size='+3' color='{COLOR}' face='Arial'><strong>Всегда С Тобой!</strong></font></a>");

var bgcolor = "#C0C0C0"; // цвет фона вашей страницы
var fcolor = "#FF8000"; // цвет шрифта
var steps = 20; // количество шагов затемнения
var show = 500; // время воспроизведения текста
var sleep = 30; // пауза между сообщениями
var loop = true; // true = рокручивать сообщение постоянно, false = прокрутить сообщение один раз

var colors = new Array(steps);
getFadeColors(bgcolor,fcolor,colors);
var color = 0;
var text = 0;
var step = 1;

function fade() {

var text_out = texts[text].replace("{COLOR}", colors[color]);

if (document.all) fader.innerHTML = text_out;
if (document.layers) { document.fader.document.write(text_out); document.fader.document.close(); }

color += step;

if (color >= colors.length-1) {
step = -1; // traverse colors array backward to fade out

if (!loop && text >= texts.length-1) return; // loop should be defined in user script, e.g.: var loop=true;
}

if (color == 0) {
step = 1; // traverse colors array forward to fade in again

text += 1;
if (text == texts.length) text = 0; // loop back to first message
}

setTimeout("fade()", (color == colors.length-2 && step == -1) ? show : ((color == 1 && step == 1) ? sleep : 50)); // sleep and show should be defined in user script, e.g.: var sleep=30; var show=500;
}

function getFadeColors(ColorA, ColorB, Colors) {
len = Colors.length;

if (ColorA.charAt(0)=='#') ColorA = ColorA.substring(1);
if (ColorB.charAt(0)=='#') ColorB = ColorB.substring(1);

var r = HexToInt(ColorA.substring(0,2));
var g = HexToInt(ColorA.substring(2,4));
var b = HexToInt(ColorA.substring(4,6));
var r2 = HexToInt(ColorB.substring(0,2));
var g2 = HexToInt(ColorB.substring(2,4));
var b2 = HexToInt(ColorB.substring(4,6));

var rStep = Math.round((r2 - r) / len);
var gStep = Math.round((g2 - g) / len);
var bStep = Math.round((b2 - b) / len);

for (i = 0; i < len-1; i++) {
Colors[i] = "#" + IntToHex(r) + IntToHex(g) + IntToHex(b);
r += rStep;
g += gStep;
b += bStep;
}
Colors[len-1] = ColorB; // make sure we finish exactly at ColorB
}

function IntToHex(n) {
var result = n.toString(16);
if (result.length==1) result = "0"+result;
return result;
}

function HexToInt(hex) {
return parseInt(hex, 16);
}

// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt34

Затемняющийся текст 2
СТРОБОСКОП

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/utility/javahead.htm -->

<!-- This script and many more are available online from -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function setupStrobe() {
text = "JS Library - 1000 скриптов!";
var x=navigator.appVersion;
y=x.substring(0,4);
if(y>=4)strobeEffect();
}
var isNav=(navigator.appName.indexOf("Netscape")!=-1);
var colors=new Array(
"FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF",
"FFFFFF","F9F9F9","F1F1F1","E9E9E9","E1E1E1","D9D9D9",
"D1D1D1","C9C9C9","C1C1C1","B9B9B9","B1B1B1","A9A9A9",
"A1A1A1","999999","919191","898989","818181","797979",
"717171","696969","616161","595959","515151","494949",
"414141","393939","313131","292929","212121","191919",
"111111","090909","000000")

a=0,b=1;
function strobeEffect() {
color=colors[a];
aa="<font color="+color+">" + text + "</font>"
if(isNav) {
document.object1.document.write(aa);
document.object1.document.close();
}
else object1.innerHTML=aa;
a+=b;
if (a==38) b-=2;
if (a==0) b+=2;
xx=setTimeout("strobeEffect()",10);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="setupStrobe()">

<div id="object1" style="position: absolute; visibility: show; left: 132; top: 76; z-index: 2; width: 271; height: 19"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Txt44

Изменение размера и жирности шрифта
при наведении курсора (DHTML)

сделать жирным
Увеличить размер

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE>
.bigChange {font-family:arial; color:blue; font-weight:bold; font-size:175%; letter-spacing:4px; text-transform: uppercase; background:yellow}
.start {font-family:arial; color:yellow; background:navy}
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table width="390" height="1"><TR><TD width="382" height="30">
<div>
<span style="color: red" onmouseover="this.style.fontSize = 'larger'" onmouseout="this.style.fontSize =''">сделать
жирным</span>
</div>
</TD></TR><TR><TD width="382" height="70">
<SPAN onmouseover = "this.className = 'bigChange'"
onmouseout = "this.className='start'" class=start>Увеличить
размер</SPAN>
</TD></TR></TABLE>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt53

Информационная волна
Все пользовательские настройки в верхней таблице. Добавьте еще только color:red (или на ваш вкус).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.scroll {font-weight:bold; font-size:36; text-align: center; font-family: Verdana, Courier, Courier New;}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">

/*
By Mark Baker
Showcased on Dynamicdrive.com
For full source code, visit http://dynamicdrive.com
*/
/*
Sine scrolling text script
By Mark Baker (mark.baker@usa.net)
Permission granted to Dynamicdrive.com to include script in archive
For 100's of free DHTML scripts, visit Dynamicdrive.com
*/

// globals
var initialx, initialy, scrolltext;
var frame = 0, frame2 = 0.5;
var amplitude1 = 47, amplitude2 = 27;
var offset = 0.2, speed = 0.2, speed2 = 0.35;
var offset2 = 0.6;
var scrollspeed = 4;
var charwidth = 30;

var twopi = Math.PI * 2;
var chracters, position, numvisible, nextchar, firstchar;
var skipsteps = 1;
var delaytimer = 0;
var interval;

// function to create sine scroller
function sinescroll (x, y, value, number_of_chars)
{
// setup globals
scrolltext = new String(value);
initialx = x;
initialy = y;
numvisible = number_of_chars;
nextchar = numvisible;
firstchar = 0;

// create fixed-size arrays of characters and positions
characters = new Array(numvisible);
position = initialx;

// write DIVs to hold characters
for (var i = 0; i < numvisible; i++)
{
document.write('<DIV ID="character" STYLE="position:absolute;top:',
initialy, ';left:-10000', //(initialx + i * charwidth),
';width=', charwidth, ';height=30;" ><p class=scroll>',
scrolltext.charAt(i), '</p></DIV>');
}
}

// animation function
function step ()
{
// increment counters
frame += speed;
frame2 += speed2;

// delay timer
if (delaytimer > 0)
{
delaytimer--;
}
else
{
// update position
position -= scrollspeed;
}

// check for 'offscreen'
if (position < (initialx - charwidth))
{
while (scrolltext.charAt(nextchar) == '|')
{
delaytimer += 90;
nextchar++;
}

// set nextchar into characters array
characters[firstchar].innerHTML = '<p class=scroll>' + scrolltext.charAt(nextchar) + '</p>';

// update nextchar
nextchar++;

// check for wrap-around
if (nextchar >= scrolltext.length)
{
nextchar = 0;
}

// change position and counters by offset
position += charwidth;
frame += offset;
frame2 += offset2;

// update firstchar
firstchar++;

if (firstchar >= numvisible)
{
firstchar = 0;
}
}

// wrap-around counters
if (frame > twopi) frame -= twopi;
if (frame2 > twopi) frame2 -= twopi;

// set up loop variables
var angle = frame;
var angle2 = frame2;
var pos = position;

// update the html
for (var i=firstchar; i < numvisible; i++)
{
characters[i].style.left = pos;
characters[i].style.top = initialy + amplitude1 * Math.sin(angle) + amplitude2 * Math.sin(angle2);
angle += offset;
angle2 += offset2;
pos += charwidth;
}

for (var i=0; i < firstchar; i++)
{
characters[i].style.left = pos;
characters[i].style.top = initialy + amplitude1 * Math.sin(angle) + amplitude2 * Math.sin(angle2);
angle += offset;
angle2 += offset2;
pos += charwidth;
}
}

// start the animation
function start ()
{
if (!document.all)
return
// get all of the DIV tags into an array (IE only?)
characters = document.all.item('character');

// setup timeout to call this function again
interval = window.setInterval("step();", 20);
}

// stop the animation
function stop ()
{
if (!document.all)
return
if (interval)
clearInterval(interval);
}

window.onload=start
window.onunload=stop

// create the scroller
if (document.all)
sinescroll(90, 200, "
 **** Симпатичный скрипулечка...? И сообщение может быть любой длины!Главное - не забыть поставить звездочки для привлечения внимания посетителя, пока он не пропустил начало самого сообщения.****     ", 15);
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Game24

Мр. Картофельная Голова
(рисуем рожицы!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Michael Tartaglia (stonedstan@hotmail.com) -->
<!-- Web Site: http://www.geocities.com/SiliconValley/Horizon/5235 -->

<!-- Begin
var h=0,e=0,n=0,m=0;
var hChose="", eChose=":", nChose="-", mChose=")";
document.write("<table align=center><FORM NAME=\"theForm\"><tr><td align=right>"
+"<input type=text size=10 name=face style=\"border: none\"><br><br>"
+"<input type=button value='Волосы' style='width:73;background-color: darkred; color: #FFFFFF; font-weight: bold;' onClick='changeHair()'><br>"
+"<input type=button value='Глаза' style='width:73;background-color: darkred; color: #FFFFFF; font-weight: bold;' onClick='changeEyes()'><br>"
+"<input type=button value='Нос' style='width:73;background-color: darkred; color: #FFFFFF; font-weight: bold;' onClick='changeNose()'><br>"
+"<input type=button value='Рот' style='width:73;background-color: darkred; color: #FFFFFF; font-weight: bold;' onClick='changeMouth()'></td>"
+"<td align=left><br><br><input type=button value=Посмотреть style='background-color: darkred; color: #FFFFFF; height: 97; font-weight: bold;' onClick='viewIt()'>"
+"</td></tr></table></FORM>");
document.theForm.face.value=hChose+" "+eChose+" "+nChose+mChose;
hair=new Array("","[[[","2","3","(","\\/\\/","З");
eyes=new Array("B",":\'",">:","<:",":",";","¦");
nose=new Array("- ","^ ","* ","~ ","¤ ","");
mouth=new Array("Ю","O","}","|",")","(",")~~",")===");
function changeHair() {
if (h == 6) {h=0} else (h++)
hChose = hair[h];
document.theForm.face.value=hChose+" "+eChose+" "+nChose+mChose;
}
function changeEyes() {
if (e == 6) {e=0} else (e++)
eChose = eyes[e];
document.theForm.face.value=hChose+" "+eChose+" "+nChose+mChose;
}
function changeNose() {
if (n == 5) {n=0} else (n++)
nChose = nose[n];
document.theForm.face.value=hChose+" "+eChose+" "+nChose+mChose;
}
function changeMouth() {
if (m == 7) {m=0} else (m++)
mChose = mouth[m];
document.theForm.face.value=hChose+" "+eChose+" "+nChose+mChose;
}
function viewIt() {
mth="";
for (i=1;i<=mChose.length;i++) {mth += mChose.charAt(i)}
see=window.open('','','width=200,height=175,toolbar=no,status=no,scrolling=no');
see.document.write("<HTML><HEAD><TITLE>Мр. Картофельна Голова</TITLE></HEAD><BODY>"
+ "<CENTER><FONT SIZE=7><B>"+hChose+" <FONT COLOR=blue>"
+ eChose + " </FONT>" + nChose + " <FONT COLOR=red>"
+ mChose.charAt(0) + "</FONT>" + mth + "</B></FONT><br><br>"
+ "<FONT SIZE=2><I>Мр. Картофельная Голова!</I></FONT><br>"
+ "<FONT SIZE=1>(<a href=\"javascript:this.close()\">"
+ "закрыть</a>)</FONT></CENTER></BODY></HTML>");
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT13

"Рекошетный" заголовок

ДЛЯ ПРОСМОТРА ЭТОГО ЭФФЕКТА РАЗВЕРНИТЕ ОКНО СПРАВКИ ВО ВЕСЬ ЭКРАН

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">

/*
Bouncy message script- By Dynamicdrive.com
*/

//Configure the below three variables

//1) Введите свое сообщение (HTML тэги также), <h4></h4> определяют размер шрифта
var thecontent='<h4><font color="#0000FF">Добро пожаловать на http://JavasHelp.cjb.net!</font></h4>'
//2) Установите скорость "рекошетирования" (1-50)
var BallSpeed = 5;

var hidetimer='';
var contentWidth;
var contentHeight;
var maxBallSpeed = 50;

var xMax;
var yMax;
var xPos = 0;
var yPos = 0;
var xDir = 'right';
var yDir = 'down';
var superballRunning = true;
var tempBallSpeed;
var currentBallSrc;
var newXDir;
var newYDir;

function initializeBall() {
if (document.all) {
xMax = document.body.clientWidth
yMax = document.body.clientHeight
document.all("supertext").style.visibility = "visible";
contentWidth=supertext.offsetWidth
contentHeight=supertext.offsetHeight
}
else if (document.layers) {
xMax = window.innerWidth;
yMax = window.innerHeight;
contentWidth=document. supertext.document.width
contentHeight=document. supertext.document.height
document.layers["supertext"]. visibility = "show";
}
setTimeout('moveBall()',400);
if (hidetimer!='')
setTimeout("hidetext()",hidetimer)
}

function moveBall() {
if (superballRunning == true) {
calculatePosition();
if (document.all) {
document.all("supertext").style.left = xPos + document.body.scrollLeft;
document.all("supertext").style.top = yPos + document.body.scrollTop;
}
else if (document.layers) {
document.layers["supertext"].left = xPos + pageXOffset;
document.layers["supertext"].top = yPos + pageYOffset;
}
animatetext=setTimeout('moveBall()',20);
}
}

function calculatePosition() {
if (xDir == "right") {
if (xPos > (xMax - contentWidth - BallSpeed)) {
xDir = "left";
}
}
else if (xDir == "left") {
if (xPos < (0 + BallSpeed)) {
xDir = "right";
}
}
if (yDir == "down") {
if (yPos > (yMax - contentHeight - BallSpeed)) {
yDir = "up";
}
}
else if (yDir == "up") {
if (yPos < (0 + BallSpeed)) {
yDir = "down";
}
}
if (xDir == "right") {
xPos = xPos + BallSpeed;
}
else if (xDir == "left") {
xPos = xPos - BallSpeed;
}
else {
xPos = xPos;
}
if (yDir == "down") {
yPos = yPos + BallSpeed;
}
else if (yDir == "up") {
yPos = yPos - BallSpeed;
}
else {
yPos = yPos;
}
}

function hidetext(){
if (document.all)
supertext.style.visibility="hidden"
else if (document.layers)
document.supertext.visibility="hide"
clearTimeout(hidetext)
}

if (document.all||document.layers){
document.write('<span id= "supertext"> <nobr>'+thecontent+'</nobr></span>')
window.onload = initializeBall;
window.onresize = new Function("window.location.reload()");
}

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt55

Медленно мигающий текст

МЕДЛЕННО МИГАЮЩИЙ ТЕКСТ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
<!-- hide from old browsers
// Written & created by Shivaji Basu
// Copyright www.shivbasu.com
// Use this script at your own risk
// To use his script, you MUST leave this disclaimer & credit as it is

ie4 = (document.all)? true:false

function showit() {
if (ie4) {blinking.style.visibility = "visible"}
setTimeout("hideit()",1000)
}

function hideit() {
if (ie4) {blinking.style.visibility = "hidden"}
setTimeout("showit()",1000)
}

//-->
</script>

<!--ЗДЕСЬ ИЗМЕНЯЕТСЯ ШРИФТ, ЕГО РАЗМЕР И ЦВЕТ -->
<style type="text/css">
<!--
#blinking{text-decoration:blink;
      font-family:helvetica,verdana,font-size:12px; color:#400000;
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="showit()">

<DIV id="blinking">МЕДЛЕННО МИГАЮЩИЙ ТЕКСТ</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt32

Наезжающее приветствие
(в смысле приближающийся текст !!!!)

Красавец эффект... не правда ли?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site:  http://website.lineone.net/~kurt.grigg/javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
message = "The JavaScript Library 1000 JavaScripts! Скопировать! и поместить на страничку";
colours = new Array('fff000','00ff00')//Pick your colors, any amount.
siZe = 20;//Explorer only! can be outrageous size.
message = message.split(' ');
timer = null;
clrPos = 0;
msgPos = 0;
jog = 1;
currentStep = 10;
step = 8;
ns = (document.layers)?1:0;
viz = (document.layers)?'hide':'hidden';
if (ns)
document.write("<div id='T' style='position:absolute'></div><br>");
else {
document.write("<div style='position:absolute'>");
document.write("<div align='center' style='position:relative'>");
document.write("<div id='T' style='position:absolute;width:0;
      height:0;font-family:Arial;font-size:0'>kurt</div>");
document.write("</div></div><br>");
}
function Message() {
var pageHeight = (document.layers)?window.
      innerHeight:window.document.body.offsetHeight;
var pageWidth = (document.layers)?window.
      innerWidth:window.document.body.offsetWidth;
if (ns) {
ypos = pageHeight / 2;
var Write = '<div align="center" style="width:0px;height:0px;
      font-family:Arial,Verdana;font-size:'+currentStep/4+'px; color:'+colours[clrPos]+'">'+message[msgPos]+'</div>';
document.T.top = ypos + -currentStep / 8 + window.pageYOffset;
document.T.document.write(Write)
document.T.document.close();
}
else {
ypos = pageHeight / 2;
xpos = pageWidth / 2;
T.style.width = currentStep;
T.style.pixelTop = ypos + -currentStep / 16 + document.body.scrollTop;
T.style.pixelLeft = (xpos - 20)+ -currentStep / 2;
T.style.fontSize = currentStep / 8;
T.innerHTML = message[msgPos];
T.style.color = colours[clrPos];
}
if (ns)step += 5;
else step += 15;
currentStep += step
if (ns) {
if (currentStep > pageWidth) {
currentStep = 10;
step = 8;
msgPos += jog;
clrPos += jog;
}
if (clrPos >= colours.length) clrPos = 0;
}
else {
if (currentStep > pageWidth * siZe) {
currentStep = 10;
step = 8;
msgPos += jog;
clrPos += jog;
}
if (clrPos >= colours.length) clrPos = 0;
}
if (msgPos >= message.length) {
clearTimeout(timer);
if (ns) document.T.visibility = viz;
else T.style.visibility = viz;
}
timer = setTimeout("Message()",40)
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY onLoad="Message()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


TXT8

Текст наоборот

Попробуйте прочитать:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!-- This stops non-java browsers from going MAD
/* MjM'S JAVA CODENAME = REVERSE
Email : MjM@hyperchat.co.uk
© Copyright 1996
*/
var message1="Вы можете прочитать этот текст? Ну, конечно, можете!";
var before = "<font color=darkyellow>";
// You put the tags you want before the text here.
var after = "</font>";
// you put the closing tags here.
var message2="";
for (count=message1.length; count >= 0; count--)
message2+=message1.substring(count,count-1);
document.write (before,message2,after);
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT10

"Неоновый" текст

Содержимое этой таблицы поместите между <BODY> и </BODY>

<h3>
<script language="JavaScript1.2">

/*
Neon Lights Text
By Website Abstraction (http://wsabstract.com)
Over 400+ free scripts here!
*/

var message="Вам нравится JS Library 1.0?"
var neonbasecolor="gray"
var neontextcolor="yellow"
var flashspeed=100 //в милисекунданх

var n=0
if (document.all){
document.write('<font color="'+neonbasecolor+' size=\"2\">')
for (m=0;m<message.length;m++)
document.write('<span id="neonlight">'+message.charAt(m)+'</span>')
document.write('</font>')

var tempref=document.all.neonlight
}
else
document.write(message)

function neon(){

if (n==0){
for (m=0;m<message.length;m++)
tempref[m].style.color=neonbasecolor
}

tempref[n].style.color=neontextcolor

if (n<tempref.length-1)
n++
else{
n=0
clearInterval(flashing)
setTimeout("beginneon()",1500)
return
}
}

function beginneon(){
if (document.all)
flashing=setInterval("neon()",flashspeed)
}
beginneon()

</script>
</h3>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом обозначен размер текста, желтым и голубым - соответственно: фоновый текст и "осветленный".


TXT4

Падающий текст

Спасибо, что заглянули! Заходите снова!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript" FPTYPE="dynamicanimation8">
<!--

dynamicanimAttr = "dynamicanimation8"
animateElements = new Array()
currentElement = 0
speed = 0
stepsZoom = 8
stepsWord = 8
stepsFly = 12
stepsSpiral = 16
steps = stepsZoom
step = 0
outString = ""
function dynAnimation8()
{
var ms = navigator.appVersion.indexOf("MSIE")
ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
if(!ie4)
{
if((navigator.appName == "Netscape") &&
(parseInt(navigator.appVersion.substring(0, 1)) >= 4))
{
for (index=document.layers.length-1; index >= 0; index--)
{
layer=document.layers[index]
if (layer.left==10000)
layer.left=0
}
}
return
}
for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
{
el = document.all[index]
animation = el.getAttribute(dynamicanimAttr, false)
if(null != animation)
{
if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
{
ih = el.innerHTML
outString = ""
i1 = 0
iend = ih.length
while(true)
{
i2 = startWord(ih, i1)
if(i2 == -1)
i2 = iend
outWord(ih, i1, i2, false, "")
if(i2 == iend)
break
i1 = i2
i2 = endWord(ih, i1)
if(i2 == -1)
i2 = iend
outWord(ih, i1, i2, true, animation)
if(i2 == iend)
break
i1 = i2
}
document.all[index].innerHTML = outString
document.all[index].style.posLeft = 0
document.all[index].setAttribute(dynamicanimAttr, null)
}
if(animation == "zoomIn" || animation == "zoomOut")
{
ih = el.innerHTML
outString = "<SPAN " + dynamicanimAttr + "=\"" + animation + "\" style=\"position: relative; left: 10000;\">"
outString += ih
outString += "</SPAN>"
document.all[index].innerHTML = outString
document.all[index].style.posLeft = 0
document.all[index].setAttribute(dynamicanimAttr, null)
}
}
}
i = 0
for (index=document.body.sourceIndex; index < document.all.length; index++)
{
el = document.all[index]
animation = el.getAttribute(dynamicanimAttr, false)
if (null != animation)
{
if(animation == "flyLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = 0
}
else if(animation == "flyRight")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = 0
}
else if(animation == "flyTop" || animation == "dropWord")
{
el.style.posLeft = 0
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyBottom")
{
el.style.posLeft = 0
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
}
else if(animation == "flyTopLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyTopRight" || animation == "flyTopRightWord")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyBottomLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
}
else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight
}
else if(animation == "spiral")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "zoomIn")
{
el.style.posLeft = 10000
el.style.posTop = 0
}
else if(animation == "zoomOut")
{
el.style.posLeft = 10000
el.style.posTop = 0
}
else
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = 0
}
el.initLeft = el.style.posLeft
el.initTop = el.style.posTop
animateElements[i++] = el
}
}
window.setTimeout("animate();", speed)
}
function offsetLeft(el)
{
x = el.offsetLeft
for (e = el.offsetParent; e; e = e.offsetParent)
x += e.offsetLeft;
return x
}
function offsetTop(el)
{
y = el.offsetTop
for (e = el.offsetParent; e; e = e.offsetParent)
y += e.offsetTop;
return y
}
function startWord(ih, i)
{
for(tag = false; i < ih.length; i++)
{
c = ih.charAt(i)
if(c == '<')
tag = true
if(!tag)
return i
if(c == '>')
tag = false
}
return -1
}
function endWord(ih, i)
{
nonSpace = false
space = false
while(i < ih.length)
{
c = ih.charAt(i)
if(c != ' ')
nonSpace = true
if(nonSpace && c == ' ')
space = true
if(c == '<')
return i
if(space && c != ' ')
return i
i++
}
return -1
}
function outWord(ih, i1, i2, dyn, anim)
{
if(dyn)
outString += "<SPAN " + dynamicanimAttr + "=\"" + anim + "\" style=\"position: relative; left: 10000;\">"
outString += ih.substring(i1, i2)
if(dyn)
outString += "</SPAN>"
}
function animate()
{
el = animateElements[currentElement]
animation = el.getAttribute(dynamicanimAttr, false)
step++
if(animation == "spiral")
{
steps = stepsSpiral
v = step/steps
rf = 1.0 - v
t = v * 2.0*Math.PI
rx = Math.max(Math.abs(el.initLeft), 200)
ry = Math.max(Math.abs(el.initTop), 200)
el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
el.style.posTop = Math.ceil(-rf*Math.sin(t)*ry)
}
else if(animation == "zoomIn")
{
steps = stepsZoom
el.style.fontSize = Math.ceil(50+50*step/steps) + "%"
el.style.posLeft = 0
}
else if(animation == "zoomOut")
{
steps = stepsZoom
el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%"
el.style.posLeft = 0
}
else
{
steps = stepsFly
if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
steps = stepsWord
dl = el.initLeft / steps
dt = el.initTop / steps
el.style.posLeft = el.style.posLeft - dl
el.style.posTop = el.style.posTop - dt
}
if (step >= steps)
{
el.style.posLeft = 0
el.style.posTop = 0
currentElement++
step = 0
}
if(currentElement < animateElements.length)
window.setTimeout("animate();", speed)
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="dynAnimation8()">

<p dynamicanimation8="dropWord"
style="position: relative !important; left: 10000 !important"><font color="yellow" face="Arial" size="3">Спасибо, что заглянули! Заходите снова!</font></p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt49

Прилетающий заголовок (реклама)
Кроме изменения самого текста (выделен желтым) и шрифта, ничего другого "настраивать" не советую, особенно, если знания JavaScript оставляют желать лучшего. Ну, а для кого Javascript - дом родной, тем и объяснять ничего не надо.

Добро пожаловать в JS Library. Вас ждет 1000 скриптов!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript" FPTYPE="mydynamicanimation">
<!--
dynamicanimAttr = "mydynamicanimation"
animateElements = new Array()
currentElement = 0
speed = 0
stepsZoom = 8
stepsWord = 8
stepsFly = 12
stepsSpiral = 16
steps = stepsZoom
step = 0
outString = ""
function mydynAnimation()
{
var ms = navigator.appVersion.indexOf("MSIE")
ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)
if(!ie4)
{
if((navigator.appName == "Netscape") &&
(parseInt(navigator.appVersion.substring(0, 1)) >= 4))
{
for (index=document.layers.length-1; index >= 0; index--)
{
layer=document.layers[index]
if (layer.left==10000)
layer.left=0
}
}
return
}
for (index=document.all.length-1; index >= document.body.sourceIndex; index--)
{
el = document.all[index]
animation = el.getAttribute(dynamicanimAttr, false)
if(null != animation)
{
if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
{
ih = el.innerHTML
outString = ""
i1 = 0
iend = ih.length
while(true)
{
i2 = startWord(ih, i1)
if(i2 == -1)
i2 = iend
outWord(ih, i1, i2, false, "")
if(i2 == iend)
break
i1 = i2
i2 = endWord(ih, i1)
if(i2 == -1)
i2 = iend
outWord(ih, i1, i2, true, animation)
if(i2 == iend)
break
i1 = i2
}
document.all[index].innerHTML = outString
document.all[index].style.posLeft = 0
document.all[index].setAttribute(dynamicanimAttr, null)
}
if(animation == "zoomIn" || animation == "zoomOut")
{
ih = el.innerHTML
outString = "<SPAN " + dynamicanimAttr + "=\"" + animation + "\" style=\"position: relative; left: 10000;\">"
outString += ih
outString += "</SPAN>"
document.all[index].innerHTML = outString
document.all[index].style.posLeft = 0
document.all[index].setAttribute(dynamicanimAttr, null)
}
}
}
i = 0
for (index=document.body. sourceIndex; index < document.all.length; index++)
{
el = document.all[index]
animation = el.getAttribute(dynamicanimAttr, false)
if (null != animation)
{
if(animation == "flyLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = 0
}
else if(animation == "flyRight")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = 0
}
else if(animation == "flyTop" || animation == "dropWord")
{
el.style.posLeft = 0
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyBottom")
{
el.style.posLeft = 0
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.
      body.offsetHeight
}
else if(animation == "flyTopLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyTopRight" || animation == "flyTopRightWord")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "flyBottomLeft")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.
      body.offsetHeight
}
else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")
{
el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)+document.
      body.offsetHeight
}
else if(animation == "spiral")
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight
}
else if(animation == "zoomIn")
{
el.style.posLeft = 10000
el.style.posTop = 0
}
else if(animation == "zoomOut")
{
el.style.posLeft = 10000
el.style.posTop = 0
}
else
{
el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth
el.style.posTop = 0
}
el.initLeft = el.style.posLeft
el.initTop = el.style.posTop
animateElements[i++] = el
}
}
window.setTimeout("animate();", speed)
}
function offsetLeft(el)
{
x = el.offsetLeft
for (e = el.offsetParent; e; e = e.offsetParent)
x += e.offsetLeft;
return x
}
function offsetTop(el)
{
y = el.offsetTop
for (e = el.offsetParent; e; e = e.offsetParent)
y += e.offsetTop;
return y
}
function startWord(ih, i)
{
for(tag = false; i < ih.length; i++)
{
c = ih.charAt(i)
if(c == '<')
tag = true
if(!tag)
return i
if(c == '>')
tag = false
}
return -1
}
function endWord(ih, i)
{
nonSpace = false
space = false
while(i < ih.length)
{
c = ih.charAt(i)
if(c != ' ')
nonSpace = true
if(nonSpace && c == ' ')
space = true
if(c == '<')
return i
if(space && c != ' ')
return i
i++
}
return -1
}
function outWord(ih, i1, i2, dyn, anim)
{
if(dyn)
outString += "<SPAN " + dynamicanimAttr + "=\"" + anim + "\" style=\"position: relative; left: 10000;\">"
outString += ih.substring(i1, i2)
if(dyn)
outString += "</SPAN>"
}
function animate()
{
el = animateElements[currentElement]
animation = el.getAttribute(dynamicanimAttr, false)
step++
if(animation == "spiral")
{
steps = stepsSpiral
v = step/steps
rf = 1.0 - v
t = v * 2.0*Math.PI
rx = Math.max(Math.abs(el.initLeft), 200)
ry = Math.max(Math.abs(el.initTop),  200)
el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx)
el.style.posTop  = Math.ceil(-rf*Math.sin(t)*ry)
}
else if(animation == "zoomIn")
{
steps = stepsZoom
el.style.fontSize = Math.ceil(50+50*step/steps) + "%"
el.style.posLeft = 0
}
else if(animation == "zoomOut")
{
steps = stepsZoom
el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%"
el.style.posLeft = 0
}
else
{
steps = stepsFly
if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")
steps = stepsWord
dl = el.initLeft / steps
dt = el.initTop  / steps
el.style.posLeft = el.style.posLeft - dl
el.style.posTop = el.style.posTop - dt
}
if (step >= steps)
{
el.style.posLeft = 0
el.style.posTop = 0
currentElement++
step = 0
}
if(currentElement < animateElements.length)
window.setTimeout("animate();", speed)
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="mydynAnimation()">

<p align="center" mydynamicanimation="flyTopRightWord"
style="position: relative !important; left: 10000 !important"><strong><big><big><font
face="Arial" color=lime size=4>Добро пожаловать в<a href="http://javashelp.cjb.net">
  JS Library</a>. Вас ждет 1000 скриптов!</font></big></big></strong></p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT20

Переливающийся текст (НЕ ЛИНК!)
(для любых типов браузеров)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript1.2">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}

var ctext = "Отличный, мигающий разными цветами, текст - НЕ линк!";
var speed = 1000;
var x = 0;
var color = new initArray(
"red",
"blue",
"green",
"black"
);
if(navigator.appName == "Netscape") {
document.write('<layer id="c"><center>'+ctext+'</center></layer><br>');
}
if (navigator.appVersion.indexOf("MSIE") != -1){
document.write('<div id="c"><center>'+ctext+'</center></div>');
}
function chcolor(){
if(navigator.appName == "Netscape") {
document.c.document.write('<center><font color="'+color[x]);
document.c.document.write('">'+ctext+'</font></center>');
document.c.document.close();
}
else if (navigator.appVersion.indexOf("MSIE") != -1){
document.all.c.style.color = color[x];
}
(x < color.length-1) ? x++ : x = 0;
}
setInterval("chcolor()",1000); // Интервал смены
 цветов
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT20

Перетаскиваемый текст
(см. также комментарий внизу страницы)

"Возьмите" этот текст и перенесите

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.drag{position:relative;cursor:move}
-->
</style>
<script language="JavaScript1.2">
<!--

/*
Drag and Drop Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var dragapproved=false
var z,x,y
function move(){
if (event.button== 1&&dragapproved){
z.style.pixelLeft= temp1+event.clientX-x
z.style.pixelTop= temp2+event.clientY-y
return false
}
}
function drags(){
if (!document.all)
return
if (event.srcElement.className=="drag"){
dragapproved=true
z=event.srcElement
temp1=z.style.pixelLeft
temp2=z.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<b class=drag> "Возьмите" этот текст и перенесите </b>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Выделенный белым таг может быть заменен на подобный, но с другим видом курсора (см. раздел КУРСОРЫ скрипт "Виды курсоров"


Txt51

Подталкиваемый текст
См. комментарии в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center>
<script language="JavaScript1.2">

/*
Nudging text by Matthias (matthiasdeschagt@hotmail.com)
Modified by Dynamic Drive to function in NS6
For this script and more, visit http://www.dynamicdrive.com
*/

message="ПОДТАЛКИВАЕМЫЙ ТЕКСТ!"
//ЗНАЧЕНИЕ  0 ВЫКЛЮЧИТ АНИМАЦИЮ
 ДЛЯ NS6
ns6switch=1

var ns6=document.getElementById&&!document.all
mes=new Array();
mes[0]=-1;
mes[1]=-4;
mes[2]=-7;
mes[3]=-10;
mes[4]=-7;
mes[5]=-4;
mes[6]=-1;
num=0;
num2=0;
txt="";
function jump0(){
if (ns6&&!ns6switch){
jump.innerHTML=message
return
}
if(message.length > 6){
for(i=0; i != message.length;i++){
txt=txt+"<span style='position:relative;' id='n"+i+"'>"+message.charAt(i)+"</span>"};
jump.innerHTML=txt;
txt="";
jump1a()
}
else{
alert("Ваш текст слишком короткий")
}
}

function jump1a(){
nfinal=(document.getElementById)? document.getElementById("n0") : document.all.n0
nfinal.style.left=-num2;
if(num2 != 9){
num2=num2+3;
setTimeout("jump1a()",50)
}
else{
jump1b()
}
}

function jump1b(){
nfinal.style.left=-num2;
if(num2 != 0){num2=num2-3;
setTimeout("jump1b()",50)
}
else{
jump2()
}
}

function jump2(){
txt="";
for(i=0;i != message.length;i++){
if(i+num > -1 && i+num < 7){
txt=txt+"<span style='position:relative;top:"+mes[i+num]+"'>"+message.charAt(i)+"</span>"
}
else{txt=txt+"<span>"+message.charAt(i)+"</span>"}
}
jump.innerHTML=txt;
txt="";
if(num != (-message.length)){
num--;
setTimeout("jump2()",50)}
else{num=0;
setTimeout("jump0()",50)}}
</script>
</head>
</font>
<!----НАЗНАЧЕНИЕ ШРИФТА РАЗМЕРА И ЦВЕТА--->
<div id="jumpx" style="font-family:helvetica; font-weight:bold; font-size:20px; color:green"></div>
<script>
if (document.all||document.getElementById){
jump=(document.getElementById)? document.getElementById("jumpx") : document.all.jumpx
jump0()
}
else
document.write(message)
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt50

 >

Поздравительный текст
Для работы этого скрипта Вам потребуется загрузить на сервер файл rainbow.htc

С Рождеством Вас и С Новым Годом !

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE>

<!--
Rainbow Text- By Chris Rickard (chris.rickard@paccoast.com)
Submitted to Dynamicdrive.com
For this script, visit http://www.dynamicdrive.com
-->

.rainbow{ behavior:url(rainbow.htc) }
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>. Замените текст на свой

<big><b><SPAN class="rainbow">С Рождеством</SPAN><font color=white></b>&nbsp; Вас и &nbsp;<b></font><SPAN class="rainbow">С Новым Годом</SPAN></b><font color=white> &nbsp;!</font></big>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Tex39

Пульсирующий текст

ПУЛЬСИРУЮЩИЙ ТЕКСТ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>

<!--

#glowtext{

filter:glow(color="yellow",strength=3);

width:100%;

}

-->

</style>
<script language="JavaScript1.2">
function glowit(which){
if (document.all.glowtext[which].filters[0].strength==3)
document.all.glowtext[which].filters[0].strength=2
else
document.all.glowtext[which].filters[0].strength=3
}
function glowit2(which){
if (document.all.glowtext.filters[0].strength==3)
document.all.glowtext.filters[0].strength=2
else
document.all.glowtext.filters[0].strength=3
}
function startglowing(){
if (document.all.glowtext&&glowtext.length){
for (i=0;i<glowtext.length;i++)
eval('setInterval("glowit('+i+')",150)')
}
else if (glowtext)
setInterval("glowit2(0)",150)
}
if (document.all)
window.onload=startglowing

</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
</font>
<div>
<span id="glowtext"><b><font color=#0000FF size=5>ПУЛЬСИРУЮЩИЙ ТЕКСТ</font>
</b>
</span>
</div>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt54

Пульсирующий текст 2
Мягкая, медленная пульсация. Комментарии см. в таблице.

Пульсирующий текст

Содержимое этой таблицы поместите между <BODY> и </BODY>

<span id="theText" style="width:100%">
<h2 align="center">Пульсирующий текст</h2>
</span>

<script>
<!--

/*
Pulsating Text (Chris A e-mail: KilerCris@Mail.com)
Permission granted to Dynamic Drive to feature script in archive
For full source, usage terms, and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//РАЗМЕРЫ ПУЛЬСИРУЮЩЕЙ ОБЛАСТИ (ОТ и ДО)
var from = 5;
var to = 11;

//СКОРОСТЬ ПУЛЬСАЦИИ
var delay = 55;

//ЦВЕТ ПУЛЬСАЦИИ (можно, например:'#00FF00')
var glowColor = "lime";

//NO MORE EDITING!!!
var i = to;
var j = 0;

//can be called here or whenever you want the text to start pulsing
textPulseDown();

function textPulseUp()
{
if (!document.all)
return
if (i < to)
{
theText.style.filter = "Glow(Color=" + glowColor + ", Strength=" + i + ")";
i++;
theTimeout = setTimeout('textPulseUp()',delay);
return 0;
}

if (i = to)
{
theTimeout = setTimeout('textPulseDown()',delay);
return 0;
}

}

function textPulseDown()
{
if (!document.all)
return
if (i > from)
{
theText.style.filter = "Glow(Color=" + glowColor + ", Strength=" + i + ")";
i--;
theTimeout = setTimeout('textPulseDown()',delay);
return 0;
}

if (i = from)
{
theTimeout = setTimeout('textPulseUp()',delay);
return 0;
}
}

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt45

Объемный текст DHTML

Объемный текст

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<H1
style="FILTER: shadow(color:996633,direction=225,enabled:1); FONT-FAMILY: verdana; COLOR:lightgreen;
FONT-SIZE: 30px; LINE-HEIGHT: 40px; WIDTH: 85%">Объемный текст</H1>
</center>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt26

Радужный текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Quak Zhixuan (zhixuan@email.com) -->
<!-- Web Site: http://www.chs.edu.sg/~991b20 -->

<!-- Modifications: Jim Cairo (jcairo@mediaone.net) -->
<!-- Result: Improves color selection, better results -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function createHexArray(n) {
this.length = n;
for (var i = 1; i <= n; i++)
this[i] = i - 1;

this[11] = "A";
this[12] = "B";
this[13] = "C";
this[14] = "D";
this[15] = "E";
this[16] = "F";
return this;
}
hx = new createHexArray(16);

function convertToHex(x) {
if (x < 17) x = 16;
var high = x / 16;
var s = high+"";
s = s.substring(0, 2);
high = parseInt(s, 10);
var left = hx[high + 1];
var low = x - high * 16;
if (low < 1) low = 1;
s = low + "";
s = s.substring(0, 2);
low = parseInt(s, 10);
var right = hx[low + 1];
var string = left + "" + right;
return string;
}

function makeRainbow(text) {
text = text.substring(0, text.length);
color_d1 = 255;
mul = color_d1 / text.length;
for(var i = 0; i < text.length; i++) {
color_d1 = 255*Math.sin(i / (text.length / 3));
color_h1 = convertToHex(color_d1);
color_d2 = mul * i;
color_h2 = convertToHex(color_d2);

k = text.length;
j = k - i;
if (j < 0) j = 0;
color_d3 = mul * j;
color_h3 = convertToHex(color_d3);

document.write("<FONT COLOR=\"#" + color_h3 + color_h1 + color_h2 + "\">" + text.substring(i, i + 1) + "</FONT>");
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<strong>
<font size=6>
<script>
<!--
makeRainbow("JS Help - это 1000 JavaScript кодов!");
// -->
</script>
</font>
</strong>
</center>


Txt46

Размер шрифта от величины окна

Прежде всего, если Вы раскроете окно справки во весь экран, то сможете это прочитать. Можно также просто растянуть окно и шрифт увеличиться без всякой перезагрузки страницы!
РАЗМЕР ШРИФТА ЭТОЙ СТРАНИЦЫ УСТАНОВЛЕН 40px ПО УМОЛЧАНИЮ. Но Вы всегда можете специально определить величину шрифта для той или иной строки. Именно так это сделано ниже. В нижней таблице выделены желтым строки определяющие величину шрифта для определенной строки. А в верхней таблице белым цветом отмечено то, как следует назначать эти шрифты для работы скрипта. Очень важно следующее. Скрипт, отмеченный голубым цветом во второй таблице, должен располагаться сразу после тэга <BODY>, иначе в MSIE весь этот скрипт работать не будет (Netscape читает функции не из BODY , а из HEAD, поэтому в нем скрипт будет работать по-прежнему). В дополнение. Если величина шрифта задана в тэге FONT, то процентного изменения величины шрифта в зависимости от размеров окна не произойдет. Именно так сделано для шрифта таблиц и шрифта комментария внизу страницы.

9px это 22.5% от величины шрифта, установленного по умолчанию
 12px это 30% от величины шрифта, установленного по умолчанию
 14px это 35% от величины шрифта, установленного по умолчанию
 16px это 40% от величины шрифта, установленного по умолчанию
 18px это 45% от величины шрифта, установленного по умолчанию
 24px это 60%
 36px это 90%
 установка размера в "em"
установка размера в "ex"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
<!--
body { font-size: 40px}
.nine { font-size: 22.5%}
.twelve { font-size: 30%}
.fourteen { font-size: 35%}
.sixteen { font-size: 40%}
.eighteen { font-size: 45%}
.twentyFour { font-size: 60%}
.thirtySix { font-size: 90%}
.emClass { font-size: .6em}
.exClass { font-size: .6ex}
-->
</style>

<script language="javascript">
function WM_netscapeCssFix() {
if (document.WM_initWindowWidth != window.innerWidth || document.WM_initWindowHeight != window.innerHeight) {
document.location = document.location;
}
}

function WM_netscapeCssFixCheckIn() {
if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) {
document.WM_initWindowWidth = window.innerWidth;
document.WM_initWindowHeight = window.innerHeight;
window.onresize = WM_netscapeCssFix;
}
}

WM_netscapeCssFixCheckIn()

function WM_scaleFont(targetSize, initialFontSize, fontUnit) {

if (typeof document.WM == 'undefined'){
document.WM = new Object;
if (typeof document.WM.WM_scaleFont == 'undefined') {
document.WM.WM_scaleFont = new Object;
document.WM.WM_scaleFont.screenTarget = targetSize;
document.WM.WM_scaleFont.targetBodyFontSize = initialFontSize;
document.WM.WM_scaleFont.fontUnit = fontUnit;
}
}
if (document.all) {
var screenWidth = document.body.offsetWidth;
} else if (document.layers) {
var screenWidth = window.innerWidth;
}
var scaledFont = parseInt(document.WM.WM_scaleFont.targetBodyFontSize) * (screenWidth / document.WM.WM_scaleFont.screenTarget);

if (document.all) {
document.body.style.fontSize = scaledFont + document.WM.WM_scaleFont.fontUnit;
window.onresize = WM_scaleFont;
} else if(document.layers) {
var netscapeScaleReturn = '<style type="text/css">\nBODY {font-size: ' + scaledFont + document.WM.WM_scaleFont.fontUnit + '}\n</style>';
document.writeln(netscapeScaleReturn);
}
}

if (document.layers){
WM_scaleFont(640, 40, 'px');
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body>
<script language="javascript">
if (document.all){
WM_scaleFont(640, 40, 'px');
}
</script>

<!---CLASS ДЛЯ ЭТОЙ СТРОКИ ЗАГОЛОВКА НЕ
 УСТАНОВЛЕН. ПОЭТОМУ ШРИФТ ПРИМЕНЕН ПО
 УМОЛЧАНИЮ--->
<p align="center"><font color="#FF0000">Размер шрифта от величины окна</font></p>

<!---ДЛЯ ЭТИХ СТРОК CLASS УСТАНОВЛЕН--->
<p><span class="nine">9px это 22.5% от величины шрифта, установленного по умолчанию<br>
</span> <span class="twelve">12px это 30% от величины шрифта, установленного по умолчанию<br>
</span> <span class="fourteen">14px это 35% от величины шрифта, установленного по умолчанию<br>
</span> <span class="sixteen">16px это 40% от величины шрифта, установленного по умолчанию<br>
</span> <span class="eighteen">18px это 45% от величины шрифта, установленного по умолчанию<br>
</span> <span class="twentyFour">24px это 60%<br>
</span> <span class="thirtySix">36px это 90%<br>
</span> <span class="emClass">установка размера в "em" </span><br>
<span class="exClass">установка размера в "ex" </span></p>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt23

Рекламный текст
Отлично придуманный способ создания "неонового" эффекта - толстые неровные границы букв, плюс изменение ширины и цвета текста; работает только под MSIE 5+, другие браузеры увидят обычный текст.

JS Library - лучший и наиболее полный источник отличных работающих! скриптов!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
.F1 {filter: glow(Color=#FF8000,Strength=10);
width=200px;
height=200px;}
.F2 {filter: glow(Color=#00FF00,Strength=9);
width=150px;
height=200px;}
.F3 {filter: glow(Color=#0080FF,Strength=12);
width=250px;
height=200px;}
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: CodeLifter.com (support@codelifter.com) -->
<!-- Web Site: http://www.codelifter.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var rate = 1000
// do not edit below this line
var i = 0;
var F = 'F1';
function doThing() {
if (document.getElementById&&document.all) {
ok = true;
i++;
if (i==1) F = 'F1';
if (i==2) F = 'F2';
if (i==3) F = 'F3';
YammaYamma.className = F;
if (i > 2) i = 0;
timer = setTimeout('doThing()', rate);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="doThing()">

<center>
<table width="250" cellspacing="0" cellpadding="10" height="247">
<tr>
<td height="227">
<center>
<font face="Courier" size="5" color="#FFFFFF">
<p id="YammaYamma">
<b>JS Library -
лучший и наиболее полный источник отличных
работающих! скриптов!</font></b>
</p>
</center>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt25

Рекламный текст 2

Привет Лунатикам !!!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  hallo503@hotmail.com -->
<!-- Web Site:  http://www.bestjavascripts.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
neonBaseColor = "#C0C0C0";
neonColor = "Red";
num = 0;
num2 = 0;
num3 = 0;
num4 = neonColor;
function startNeon() {
message = neon.innerText;
neon.innerText = "";
for(i = 0; i != message.length; i++) {
neon.innerHTML += "<span id=\"neond\" style=\"color:"+neonBaseColor+"\">
      "+message.charAt(i)+"<\/span>"};
neon2();
}
function neon2() {
if(num != message.length) {
document.all.neond[num].style.color = neonColor;
num++;
setTimeout("neon2()", 100);
}
else {
num = 0;
num2 = message.length;
setTimeout("neon4onev()", 2000);
}
}
function neon4onev() {
document.all.neond[num].style.color = neonBaseColor;
document.all.neond[num2-1].style.color = neonBaseColor;
if(Math.floor(message.length / 2) + 1 != num2) {
num++;
num2--;
setTimeout("neon4onev()", 50);
}
else {
setTimeout("neon5()", 50);
}
}
function neon5() {
if(num3 != message.length && num3 != message.length+1) {
document.all.neond[num3].style.color = neonColor;
num3 = num3 + 2;
setTimeout("neon5()",100);
}
else {
setTimeout("neon52()", 50);
}
}
function neon52() {
if(num3 == message.length) {
num3++;
neon52a();
}
else {
num3--;
neon52a();
}
}
function neon52a() {
if(num3 != 1) {
num3 = num3 - 2;
document.all.neond[num3].style.color = neonColor;
setTimeout("neon52a()", 100);
}
else {
if(num4 == neonColor) {
num3 = 0;
neonColor = neonBaseColor;
setTimeout("neon5()", 2000);
}
else {
neonColor = num4;
num3 = 0;
setTimeout("neon4onev2()", 50);
}
}
}
function neon4onev2() {
document.all.neond[num].style.color = neonColor;
document.all.neond[num2 - 1].style.color = neonColor;
if(message.length != num2) {
num--;
num2++;
setTimeout("neon4onev2()", 50);
}
else {
num = 0;
num2 = 0;
setTimeout("neon3()", 2000);
}
}
function neon3() {
if(num != message.length) {
document.all.neond[num].style.color = neonBaseColor;
num++;
setTimeout("neon3()", 100);
}
else {
num = 0;
neon2();
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="startNeon()">

<center>
<h1><span id="neon">Привет Лунатикам !!!</span></h1>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt29

Рекламный текст 3
(бегущая выделенная буква)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: K. Rama Moorthy -->
<!-- Web Site: http://www.suyambhu.bizhosting.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
text = "Js Library 1.0"; // текст
color1 = "blue"; // начальный цвет букв
color2 = "red"; // цвет выделяемой буквы
fontsize = "8"; // размер шрифта
speed = 200; // скорость пробегания выделения

i = 0;
if (navigator.appName == "Netscape") {
document.write("<layer id=a visibility=show></layer><br><br><br>");
}
else {
document.write("<div id=a></div>");
}
function changeCharColor() {
if (navigator.appName == "Netscape") {
document.a.document.write("<center><font size =" + fontsize + "><font color=" + color1 + ">");
for (var j = 0; j < text.length; j++) {
if(j == i) {
document.a.document.write("<font color=" + color2 + ">" + text.charAt(i) + "</font>");
}
else {
document.a.document.write(text.charAt(j));
}
}
document.a.document.write('</font></font></center>');
document.a.document.close();
}
if (navigator.appName == "Microsoft Internet Explorer") {
str = "<center><font size=" + fontsize + "><font color=" + color1 + ">";
for (var j = 0; j < text.length; j++) {
if( j == i) {
str += "<font color=" + color2 + ">" + text.charAt(i) + "</font>";
}
else {
str += text.charAt(j);
}
}
str += "</font></font></center>";
a.innerHTML = str;
}
(i == text.length) ? i=0 : i++; // reset after going through all letters
}
setInterval("changeCharColor()", speed);
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Txt38

Рекламный текст - заставка 4
См. комментарий в таблице

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

// ШИРИНА
var textwidth=300

// ВЫСОТА
var textheight=150

// ВАШИ СООБЩЕНИЯ (Количество
      значения не имеет, лишь бы нумерация
      верная была)
var message=new Array()
message[0]="Добрый вечер! Здрасьте!:)"
message[1]="Красивая заставка!"
message[2]="Отличная коллекция!"
message[3]="И будет еще лучше!!!"

// ФИНАЛЬНАЯ ПОЗИЦИЯ ПО
      ГОРИЗОНТАЛИ (-1 означает центр,
      другие значения - расстояния до левого
      края окна)
var x_finalpos=-1

// ФИНАЛЬНАЯ ПОЗИЦИЯ ПО
      ВЕРТИКАЛИ (-1 означает центр, другие
      значения - расстояния до верхнего края
      окна)
var y_finalpos=200

// КОЛИЧЕСТВО "КУСКОВ"
var x_slices=24

var y_slices=1

// СКОРОСТЬ (больше
      значение - меньше скорость)
var pause=10

// ШИРИНА И ВЫСОТА ЗОНЫ, в
      которой работает скрипт
var screenwidth=700
var screenheight=500

var x_step=new Array()
var y_step=new Array()
var x_randompos=0
var y_randompos=0
var i_loop=0
var max_loop=30
var i_text=0
var width_slice=Math.floor(textwidth/x_slices)
var height_slice=Math.floor(textheight/y_slices)
var cliptop=0
var clipbottom=height_slice
var clipleft=0
var clipright=width_slice
var spancounter=0

function initiate() {
if (x_finalpos==-1) {
x_finalpos=Math.floor(document.body.clientWidth/2)-Math.floor(textwidth/2)
}
if (y_finalpos==-1) {
y_finalpos=Math.floor(document.body.clientHeight/2)-Math.floor(textheight/2)
}
cliptop=0
clipbottom=height_slice
clipleft=0
clipright=width_slice
i_loop=0
spancounter=0
if (document.all) {
for (i=0;i<=y_slices-1;i++) {
for (ii=0;ii<=x_slices-1;ii++) {
var thisspan=eval("document.all.span"+spancounter+".style")
x_randompos=Math.ceil(screenwidth*Math.random())
y_randompos=Math.ceil(screenheight*Math.random())
thisspan.posLeft=x_randompos
thisspan.posTop=y_randompos
thisspan.clip ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
clipleft+=width_slice
clipright+=width_slice
spancounter++
}
clipleft=0
clipright=width_slice
cliptop+=height_slice
clipbottom+=height_slice
}
}
explode_IE()
}

function changetext() {
spancounter=0
for (i=0;i<=y_slices-1;i++) {
for (ii=0;ii<=x_slices-1;ii++) {
var thisspan=eval("document.all.span"+spancounter+".style")
thisspan.posLeft=-5000
spancounter++
}
}
spancounter=0
if (i_text>message.length-1) {i_text=0}
for (i=0;i<=y_slices-1;i++) {
for (ii=0;ii<=x_slices-1;ii++) {
var thisinnerspan=eval("span"+spancounter)
thisinnerspan.innerHTML=message[i_text]
spancounter++
}
}
i_text++
initiate()
}

function explode_IE() {
spancounter=0
if (i_loop<=max_loop-1) {
for (i=0;i<=y_slices-1;i++) {
for (ii=0;ii<=x_slices-1;ii++) {
var thisspan=eval("document.all.span"+spancounter+".style")
x_step[spancounter]=(x_finalpos-thisspan.posLeft)/(max_loop-i_loop)
y_step[spancounter]=(y_finalpos-thisspan.posTop)/(max_loop-i_loop)
thisspan.posLeft+=x_step[spancounter]
thisspan.posTop+=y_step[spancounter]
spancounter++
}
}
i_loop++
var timer=setTimeout("explode_IE()",pause)
}
else {
spancounter=0
clearTimeout(timer)
var timer=setTimeout("changetext()",2000)
}
}

// - End of JavaScript - -->
</script>
<style>
.spanstyle {
position:absolute;
left:-2000px;
font-size : 28;
font-family : Arial Black;
font-style :  Olive;
color : white;
text-align : center;
background-color : 004400;
border-style : solid;
padding : 5;
width : 280;
height : 90;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="changetext()">

<script>
<!-- Beginning of JavaScript -
if (document.all) {
for (i=0;i<=y_slices-1;i++) {
for (ii=0;ii<=x_slices-1;ii++) {
document.write("<span id='span"+spancounter+"' class='spanstyle'></span>")
spancounter++
}
}
spancounter=0
}
// - End of JavaScript - -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt42

Рекламный текст - заставка 5

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
text = new Array("Только","JavaScript","и","DHTML",
      "JS Library 1.0");
var numText = 5;
color = new Array("red" , "orange" , "yellow" , "green" , "blue" , "indigo" , "violet" ,
      "darkorange");
var numColors = 8;
var endSize = 48;
var Zspeed = 60;
var Cspeed = 60;
var font = 'Arial Black';
var hide = false;
var size = 10;
var gonum = 0;
if (document.all) {
n = 0;
ie = 1;
zoomText = "document.all.zoom.innerText=text[num]";
zoomSize = 'document.all.zoom.style.fontSize=size';
closeIt = "";
fadeColor = "document.all.zoom.style.color=color[num]";
}
if (document.layers) {
n = 1;
ie = 0;
zoomText = "";
zoomSize = "document.zoom.document.write('<p align=\"center\" style=\"font-family:'+font+'; font-size:'+size+'px; color:'+color[0]+'\">'+text[num]+'</p>')";
closeIt = "document.zoom.document.close()";
fadeColor = "document.zoom.document.write('<p align=\"center\" style=\"font-family:'+font+'; font-size:'+endSize+'px; color:'+color[num]+'\">'+text[numText-1]+'</p>')";
}
function zoom(num,fn){
if (size<endSize){
eval(zoomText)
eval(zoomSize)
eval(closeIt)
size+=5;
setTimeout("zoom("+num+",'"+fn+"')",Zspeed)
}else{
eval(fn);
}
}
function fadeIt(num){
if (num<numColors){
eval(fadeColor)
eval(closeIt)
num+=1;
setTimeout("fadeIt("+num+")",Cspeed)
}else{
hideIt()
}
}
function hideIt(){
if(hide){
if(ie)document.all.zoom.style.visibility="hidden"
if(n)document.layers.zoom.visibility="hidden"
}
}
function init(){
if(ie){
document.all.zoom.style.color=color[0]
document.all.zoom.style.fontFamily=font}
go(0)
}
function go(num){
gonum+=1
size=10
if(num<numText){
zoom(num,'go('+gonum+')')
}else{
fadeIt(0)
}
}
</script>
<STYLE>
<!--
.link {
color : blue;
font-weight : bold;
text-decoration : none;
}
A.link:hover {
color : aqua;
}
A.link:active {
color : greenyellow;
text-decoration : none;
text-transform : uppercase;
}
//-->
</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="init()">

<div>
<div id="zoom" style="position:absolute; top:100"></div><!--ПОЛОЖЕНИЕ НА СТРАНИЦЕ-->
<div id="Main" style="position:absolute; width:150; top:50; font-family:verdana; font-size:12px; color:white;">
</div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt30

Ротатор информационного текста
Скрипт не только прокрутит введенные Вами сообщения, но и проинформирует Вас о типе и версии Вашего браузера.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table width="365" height="102">
<tr>
<td width="357" height="98">
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original: Bob Simpson (webmaster@maryjanebrown.net) -->
<!-- Web Site: http://www.maryjanebrown.net/webmaster -->

<!-- Begin
var beforeMsg = "<center><font color=blue size=+2><b>";
var afterMsg = "</b></font></center>";
var msgRotateSpeed = 2000; // Rotate delay in milliseconds
var textStr = new Array();
textStr[0] = "Полюбуйтесь этим скриптом!";
textStr[1] = "Хотите поместить его на свой сайт?";
textStr[2] = "W3C-DOM compatible (NS6)";
textStr[3] = "Вы используете "+navigator.userAgent;
if (document.layers) {
document.write('<ilayer id="NS4message" height=25 width=100%><layer id="NS4message2" height=25 width=100%></layer></ilayer>')
temp = 'document.NS4message.document.NS4message2. document.write(beforeMsg + textStr[i++] + afterMsg);'+
'document.NS4message.document.NS4message2. document.close()';
}
else if (document.getElementById) {
document.write(beforeMsg + '<div id="message" style="position:relative;">IE division</div>' + afterMsg);
temp = 'document.getElementById("message").firstChild.nodeValue = textStr[i++];';
}
else if (document.all) {
document.write(beforeMsg + '<div id="message" style="position:relative;">IE division</div>' + afterMsg);
temp = 'message.innerHTML = textStr[i++];';
}
var i = 0;
function msgRotate() {
eval(temp);
if (i == textStr.length) i = 0;
setTimeout("msgRotate()", msgRotateSpeed);
}
window.onload = msgRotate;
// End -->
</script>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Txt33

Словарь онлайн!

Этот скрипт позволяет после двойного клика по любому слову (только английскому!) получить исчерпывающую информацию о значении этого слова. Вся операция происходит онлайн. Откроется отдельное окно, в котором Вы получите полное объяснение слову (плюс немного рекламы, а как же!). Не забудьте подключиться к Интернету!

Немного аглицкого текста (для теста):

[ You may double-click any word on this page ]
[ and we will display the word's definition. ]

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Nick Simonov (nicks@iln.net) -->
<!-- Web Site: http://www.iln.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var NS = (navigator.appName == "Netscape") ? 1 : 0;
if (NS) document.captureEvents(Event.DBLCLICK);
document.ondblclick = dict;

var newwin;
function dict() {
if (NS) {
t = document.getSelection();
opennewwin(t);
}
else {
t = document.selection.createRange();
if(document.selection.type == 'Text' && t.text != '') {
document.selection.empty();
opennewwin(t.text);
}
}
}
function opennewwin(text) {
if (text > '') {
newwin = window.open('http://www.iln.net/main/resources/dictionary/default.asp?Word='+text, 'dictionary', 'width=800, height=600, resizable=yes, menubar=yes, toolbar=yes, scrollbars=yes');
setTimeout('newwin.focus()', 100);
}
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Txt31

Сообщение к определенному часу
(подробный скрипт...!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
document.write("<center><font size=+1>")
day = new Date()
hr = day.getHours()
if (hr == 1)
document.write("Добрый вечер! Час ночи, а вы еще на ногах! ")
if (hr == 2)
document.write("Ого! Уже третий час ночи! Должно быть бары все закрыты?!")
if (hr == 3)
document.write("Ого! Уже четвертый час ночи! Вы, наверное, вампир?")
if (hr == 4)
document.write("4 ночи? Вы собираетесь сидеть всю ночь напролет?")
if (hr == 5)
document.write("Ух, ты! Уже светает, а Вы все еще на ногах!")
if (hr == 6)
document.write("Привет! А не слишком ли рано, чтобы мучать компьютер")
if ((hr == 7) || (hr == 8) || (hr == 9) || (hr == 10))
document.write("Доброе утро!")
if (hr == 11)
document.write("11 часов... Думаете уже время серфить по JavaScript сайтам?")
if (hr == 12)
document.write("Добрый день! Отлично, должно быть самое время перекусить!")
if (hr == 14)
document.write("Сейчас 3-й час. Вы уже пообедали")
if ((hr == 13) || (hr == 15) || (hr == 16))
document.write("Добрый вечер!")
if ((hr == 17) || (hr == 18) || (hr == 19) || (hr == 20) || (hr == 21) || (hr == 22))
document.write("Добрый вечер! В Интернете сейчас час пик!")
if (hr == 23)
document.write("Уже почти полночь... Вы еще не спите?")
if (hr == 0)
document.write("Полночь... да Вы спите когда-нибудь?")
document.write("</font></center>")
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Txt35

Сообщение к определенному часу 2

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT language=JavaScript>

<!-- Hide this script from old browsers --

today = new Date()
if(today.getMinutes() < 10){
pad = "0"}
else
pad = "";
document.write ;if((today.getHours() <=6) && (today.getHours() >=9)){
document.write("<left><b><FONT SIZE=2 color=FFF2B2>&nbsp;Доброе утро!&nbsp;</FONT></b></left>")
}
if((today.getHours() <=10) && (today.getHours() <=11)){
document.write("<left><b><FONT SIZE=2 face=arial color=FFF2B2>&nbsp;Здравствуйте!&nbsp;</FONT></b></left>")
}
if((today.getHours() >=12) && (today.getHours() <=16)){
document.write("<left><b><FONT SIZE=2 face=arial color=FFF2B2>&nbsp;Добрый день!&nbsp;</FONT></b></left>")
}
if((today.getHours() >=17) && (today.getHours() <=23)){
document.write("<left><b><FONT SIZE=2 face=arial color=FFF2B2>&nbsp;Добрый вечер!&nbsp;</FONT></b></left>")
}
if((today.getHours() >=0) && (today.getHours() <=4)){
document.write("<left><b><FONT SIZE=2 face=arial color=FFF2B2>Поздно не спите!&nbsp;</FONT></b></left>")
}
if((today.getHours() >=4) && (today.getHours() <=6)){
document.write("<left><b><FONT SIZE=2 face=arial color=FFF2B2>&nbsp;Рано встаете!!!&nbsp;</FONT></b></left>")
}
// -- End Hiding Here -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt36

Сообщени к определенному часу 3
(простое)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Robert Ison -->
<!-- Web Site: http://www.infosourcetraining.com -->

<!-- Begin
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 18) display = "Добрый вечер";
else if (thehour >12) display = "Добрый день";
else display = "Доброе утро";
var greeting = ("" + display + "!");
document.write(greeting);
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt43

Спрятать - Показать текст
Наведите мышь на линки

Спрятать-Показать текст
* Показать * * Спрятать *

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE='JavaScript'><!--
dd=document
function showlr(L){
if(dd.layers)dd.layers[L].visibility='show'
else obg=dd.getElementById(L);obg.style.visibility='visible'}

function hidelr(L){
if(dd.layers)dd.layers[L].visibility='hide'
else obg=dd.getElementById(L);obg.style.visibility='hidden'}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<DIV ID="test0" STYLE="position:absolute;left:50;top:100;color:red;font-size:20pt">
Спрятать-Показать текст
</DIV>

<A onmouseover=showlr('test0') HREF="">* Показать *</A>
<A onmouseover=hidelr('test0') HREF="">* Спрятать *</A>

Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT21

Танцовщик

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

Такой вид таблицы обусловлен необходимостью строгого позиционирования элементов кода.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="tick()">

<center>
<form name=animation>
<textarea name=cheerleader rows=5 cols=20 style="border-style: solid; border-width: 0"></textarea>
<br>
<input type=button value="Станцевать опять!" onClick = "javascript:tick()">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT12

Текст, который "always-on-top"
(и всегда внизу страницы)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript">
//Введите Ваш текст, включая HTML тэг (размер шрифта, цвет и т.д.)
var message='<b><font color=000000 size=3>Call 1800-433-5333 now to order!</font></b>'

//введите название цвета для фона текста
var backgroundcolor="yellow"

//оставьте 0 для текста,  воспроизводимого постоянно, 1 - установить период , 2 - случайный период воспроизведения
var displaymode=0

//период устанавливается здесь (1000=1 секунда)
var displayduration=10000

//введите 0 для мигания сообщения, 1 - для немигающего
var flashmode=1
//если введено мигание теста, установите цвет
var flashtocolor="lightgreen"

function regenerate(){
window.location.reload()
}

var which=0

function regenerate2(){
if (document.layers)
setTimeout("window.onresize=regenerate",400)
}

function display2(){
if (document.layers){
if (topmsg.visibility=="show")
topmsg.visibility="hide"
else
topmsg.visibility="show"
}
else if (document.all){
if (topmsg.style.visibility=="visible")
topmsg.style.visibility="hidden"
else
topmsg.style.visibility="visible"
setTimeout("display2()", Math.round(Math.random()*10000)+10000)
}
}

function flash(){
if (which==0){
if (document.layers)
topmsg.bgColor=flashtocolor
else
topmsg.style.backgroundColor=flashtocolor
which=1
}
else{
if (document.layers)
topmsg.bgColor=backgroundcolor
else
topmsg.style.backgroundColor=backgroundcolor
which=0
}
}

if (document.all){
document.write('<span id="topmsg" style="position:absolute;
 visibility:hidden">'+message+'</span>')
}

function logoit(){
document.all.topmsg.style.left= document.body. scrollLeft+document.body.
 clientWidth/2-document.all.topmsg.offsetWidth/2
document.all.topmsg.style.top= document.body.scrollTop+document.body.
 clientHeight-document.all. topmsg.offsetHeight-4
}

function logoit2(){
topmsg.left=pageXOffset+window. innerWidth/2-topmsg. document.width/2
topmsg.top=pageYOffset+window. innerHeight-topmsg. document.height-5
setTimeout("logoit2()",90)
}

function setmessage(){
document.all.topmsg.style.left= document.body.scrollLeft+document.body.
 clientWidth/2-document.all.topmsg.offsetWidth/2
document.all.topmsg.style.top= document.body.scrollTop+document.body.
 clientHeight-document.all.topmsg.offsetHeight-4
document.all.topmsg.style.backgroundColor= backgroundcolor
document.all.topmsg.style.visibility="visible"
if (displaymode==1)
setTimeout("topmsg.style.visibility= 'hidden'",displayduration)
else if (displaymode==2)
display2()
if (flashmode==1)
setInterval("flash()",1000)
window.onscroll=logoit
window.onresize=new Function("window.location.reload()")
}

function setmessage2(){
topmsg=new Layer(window.innerWidth)
topmsg.bgColor=backgroundcolor
regenerate2()
topmsg.document.write(message)
topmsg.document.close()
logoit2()
topmsg.visibility="show"
if (displaymode==1)
setTimeout("topmsg.visibility='hide'", displayduration)
else if (displaymode==2)
display2()
if (flashmode==1)
setInterval("flash()",1000)
}

if (document.layers)
window.onload=setmessage2
else if (document.all)
window.onload=setmessage
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt27

Простой текст с комментарием Pop-up

Наведите курсор на текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Hall (randy.hall@i.am) -->
<!-- Web Site: http://i.am/randy.hall -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var QA = new Array();
QA[0] = new Array("Здесь простой текст (не ссылка)", "а здесь комментарий к нему");

var qx = QA.length - 1;
if (qx < 0) { qx = 0; };
x = QA[qx][0], y = QA[qx][1];
var isNav = (navigator.appName.indexOf("Netscape") != -1);
var Ypos = 0;
function setupDescriptions() {
var x = navigator.appVersion;
y = x.substring(0,4);
if (y >= 4) setVariables();
}
var x, y, a, b;
function setVariables() {
if (navigator.appName == "Netscape") {
h=".left="; v=".top="; dS="document."; sD="";
}
else {
h=".pixelLeft="; v=".pixelTop="; dS=""; sD=".style";
}
}
function popLayer(a) {
desc = "<table cellpadding=3 border=1 bgcolor=F7F7F7><td>" + a + "</td></table>";
if(isNav) {
document.q1.document.write(desc);
document.q1.document.close();
document.q1.left = x+25;
document.q1.top = y+40;
}
else {
y = Ypos - 15;
q1.innerHTML = desc;
eval(dS+"q1"+sD+h+(x+25));
eval(dS+"q1"+sD+v+(y+40));
}
}
function hideLayer(a) {
if(isNav) {
eval(document.q1.top = a);
}
else q1.innerHTML = "";
}
function doQuestion() {
var text;
if (!isNav) {
text = "<div id=\"q1\" style=\"position:absolute; "
+ "visibility:show; left:25px; top:-50px; z-index:2\">layer "
+ "hidden off the screen</div><br><a nohref "
+ "onMouseover=\"popLayer('" + y + "')\" "
+ "onMouseout=\"hideLayer(-50)\"><font size=+1 "
+ "color=\"black\"><b>" + x + "</b></font></a><br>";
}
if(isNav) {
text = "<br><a href onmouseover=\"alert('" + y + "!');return "
+ "true\" onmouseout=\"status=' '\"><font size=+1 "
+ "color=\"black\"><b>" + x + "</b></font></a><br>";
}
document.write(text);
}
function handlerMM(e) {
x = (isNav) ? e.pageX : event.clientX;
y = (isNav) ? e.pageY : event.clientY;
if (!isNav) { Ypos = window.event.y + document.body.scrollTop; }
}
if (isNav) {
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="setupDescriptions()">

<script>
doQuestion();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt56

Тень при наведении мыши на текст
На мой взгляд здесь почесали левое ухо правой ногой... Впрочем, в самолетах, в особо важных узлах применяется тятикрвтное дублирование...

ПРИМЕР ТЕНИ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
// Written & created by Shivaji Basu
// Copyright www.shivbasu.com
// Use this script at your own risk
// For further info, contact info@shivbasu.com
// To use his script, you MUST leave this disclaimer & credit as it is

// Sniffer Explanation
// document.layer for NS4
// document.getElementById for IE5 & NS6
// document.all && !(document.getElementById) for IE4

function changein(id) {
if (document.layers) document.layers[id].visibility = "show"
else if (document.getElementById) document.getElementById(id).style.visibility = "visible"
else if (document.all && !(document.getElementById)) document.all(id).style.visibility = "visible"
}

function changeout(id) {
if (document.layers) document.layers[id].visibility = "hide"
else if (document.getElementById) document.getElementById(id).style.visibility = "hidden"
else if (document.all && !(document.getElementById)) document.all(id).style.visibility = "hidden"
}
// -->
</script>

<style type="text/css">
<!--

a{text-decoration:none; color:#004000;}
#examp2a{position:absolute;top:120;left:40;font-size:36px;font-family:helvetica,
      arial; color:#004000; visibility:visible; z-index:10; font-weight:bold;}

#examp2b{position:absolute;top:118;left:38;font-size:36px;font-family:helvetica,
      arial; color:#c60000; visibility:hidden; z-index:3; filter:shadow; font-weight:bold;}

-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="javascript">
<!--
if(document.layers||(document.all && !(document.getElementById))||document.getElementById){
document.write('<div id="examp2b">&nbsp;ПРИМЕР ТЕНИ</div>');
}
//-->
</script>

<div id="examp2a">&nbsp;<a href="#top" onmouseover="changein('examp2b'); return true;" onmouseout="changeout('examp2b');return true;">ПРИМЕР ТЕНИ</a></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT1

Увеличивающийся текст

(см. внизу краткий комментарий)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language=javaScript>
<!--

var thissize=0
var step=1
var maxfontsize=30
var textcolor="FFFFFF"
var textfont="Arial"
var messag="JavasHelp.cjb.net"

function stretch() {
if (thissize<0) {step=1; thissize=0}
if (thissize < maxfontsize) {
if(document.all) {
zoomer.innerHTML=" <span style='font-family: "+textfont+";
      font-size: "+thissize+"px;color: "+textcolor+"'>
      "+messag+"</span>"
}

if(document.layers) {
document.zoomer.document.write ("<span style='font-family: "+textfont+";font-size:
      "+thissize+"px;color: "+textcolor+"'>"+messag+"</span>")
document.close()
}
step++
thissize=thissize+step
var timer= setTimeout("stretch()", 50)
}
else {
clearTimeout(timer)
var intermezzo= setTimeout("shrink()", 1000)
}
}

function shrink() {
if (thissize > -0) {
if(document.all) {
zoomer.innerHTML= "<span style='font-family: "+textfont+";
      font-size:"+thissize+"px;color: "+textcolor+"'>"+messag+"</span>"
}

if(document.layers) {
document.zoomer.document.write ("<span style='font-family:"+textfont+"
      ;font-size:"+thissize+"px;color: "+textcolor+"'>"+messag+"</span>")
document.close()
}
if (step >= 2) {step=step-1} else{step=1}

thissize=thissize-step
var timer= setTimeout("shrink()",50)
}
else {
clearTimeout(timer)
var intermezzo= setTimeout("stretch()",1000)
}
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="stretch()">

<div id="zoomer" style="position:absolute; visibility:visible;top: 100px; left:20px"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделены данные определяющие начальное местоположение текста, желтым - начальный и конечный размеры.


TXT11

Увеличивающийся текст 2
(несколько сообщений)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="start()" onUnload="stop()">

 <Script Language="Javascript">
<!-- Hiding
/*	Script by Lefteris Haritou
Copyright ©1998
http://www.geocities.com/~lef
*/
bname=navigator.appName;
bversion=parseInt(navigator.appVersion)
if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){
if (bname=="Netscape"){
brows=true
del=30
}
else{
brows=false
del=80
}
var msg=0;
var z=0;
var timer1;
var message= new Array();
var color= new Array();
var values= new Array ('-6','-5','-4','-3','-2','-1','+1','+2','+3','+4','+5','+6')
// Поместите здесь сколько угодно  Ваших сообщений

message[0]='Анимированное заглавие'
color[0]='#FF0000' //Цвет текста

message[1]='Новый JavaScript!'
color[1]='#0000FF' //Цвет текста

message[2]='Легко настраеваемый'
color[2]='#FFFF00' //Цвет текста

message[3]='Очень красивый'
color[3]='#FFFFFF' //Цвет текста

message[4]='NN4 и IE4 поддерживаются'
color[4]='#00FF00' //Цвет текста

// Поместите здесь сколько угодно  Ваших сообщений

function start(){
if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){
if(z<values.length){
if (brows){
document.layers['text'].document.writeln('<P Class="main" Align="Center"><font color="'+color[msg]+'" size="'+values[z]+'" face="Arial"><NOBR>'+message[msg]+'</NOBR>
 </font></P>')
document.layers['text'].document.close();
}
else{
text.innerHTML='<Pre><P Class="main" Align="Center"><font color="'+color[msg]+'" size="'+values[z]+'" face="Arial"><NOBR>'+message[msg]+'</NOBR>
 </font></P></Pre>'
}
z++;
timer1=window.setTimeout('start()',del)
}
else
chg();
}
}
function stop(){
if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4))
window.clearTimeout(timer1);
window.clearTimeout(timer2);
}

function chg(){
if (brows){
document.layers['text'].document.writeln('')
document.layers['text'].document.close();
}
else
text.innerHTML='';
if(msg<message.length-1){
msg++;
}
else
msg=0;
z=0;
timer2=window.setTimeout('start()',1000)
}
}

// done hiding -->
</Script>
<Div id="text" style="position: absolute; left: 4; top:
 80">
</Div>
<Layer name="text" left=4 top=80>
</Layer>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым выделены данные, определяющие положение текста на странице.


TXT37

Увеличивающийся текст 3

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <div align="center">
<center>
<table height="100">
<tr>
<td height="100">
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var speed = 100;
var cycledelay = 2000;
var maxsize = 28;

var x = 0;
var y = 0;
var themessage, size;
var esize = "</font>";

function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var themessage2 = new initArray(
"JavaScript Library - это 1000 скриптов !",
 // ваш текст
"Включая и увеличивающийся текст
 !",
"Часто Вы встречали такое ?",
"Тогда поместите этот скрипт на
 свой сайт!!"
);
if(navigator.appName == "Netscape")
document.write('<layer id="wds"></layer><br>');
if (navigator.appVersion.indexOf("MSIE") != -1)
document.write('<span id="wds"></span><br>');
function upwords(){
themessage = themessage2[y];
if (x < maxsize) {
x++;
setTimeout("upwords()",speed);
}
else setTimeout("downwords()",cycledelay);

if(navigator.appName == "Netscape") {
size = "<font point-size='"+x+"pt'>";
document.wds.document.write(size+"<center>"+themessage+"</center>"+esize);
document.wds.document.close();
}
if (navigator.appVersion.indexOf("MSIE") != -1){
wds.innerHTML = "<center>"+themessage+"</center>";
wds.style.fontSize=x+'px'
}
}
function downwords(){
if (x > 1) {
x--;
setTimeout("downwords()",speed);
}
else {
setTimeout("upwords()",cycledelay);
y++;
if (y > themessage2.length - 1) y = 0;
}
if(navigator.appName == "Netscape") {
size = "<font point-size='"+x+"pt'>";
document.wds.document.write(size+"<center>"+themessage+"</center>"+esize);
document.wds.document.close();
}
if (navigator.appVersion.indexOf("MSIE") != -1){
wds.innerHTML = "<center>"+themessage+"</center>";
wds.style.fontSize=x+'px'
}
}
setTimeout("upwords()",speed);
//  End -->
</script>
</td>
</tr>
</table>
</center>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Txt40

Упругий текст

Упругий текст

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script LANGUAGE="JavaScript">
// Array of sizes to cycle over
var sizes = new Array("0px", "1px", "2px", "4px", "8px");
sizes.pos = 0;

function rubberBand() {
var el = document.all.elastic;
if (null == el.direction)
el.direction = 1;
else if ((sizes.pos > sizes.length - 2) ||
(0 == sizes.pos))
el.direction *= -1;
el.style.letterSpacing = sizes[sizes.pos += el.direction];
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body bgcolor="#C0C0C0" ONLOAD="window.tm = setInterval('rubberBand()', 100);" ONUNLOAD="clearInterval(window.tm);">

<p align="center">
<center>
<div>
<h3 ID="elastic" ALIGN="center">Упругий текст</h3>
</div>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


TXT2

JavaHelp.cjb.net

Эффект "Помехи"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<div id="Zittertext" style="width: 751; font-size: 27pt; font-weight: bold; color: #FF6666; filter: Wave(freq=5, light=0, phase=80, strength=1); position: absolute; left: 17; top: 66; height: 45">JavaHelp.cjb.net</div>
<script language="JavaScript">
<!--
function DynWave()
{
if(document.all.Zittertext.filters[0].freq > 30)
document.all.Zittertext.filters[0].freq = 5;
document.all.Zittertext.filters[0].freq += 1;
if(document.all.Zittertext.filters[0].phase > 100)
document.all.Zittertext.filters[0].phase = 0;
document.all.Zittertext.filters[0].phase += 10;
if(document.all.Zittertext.filters[0].strength > 10)
document.all.Zittertext.filters[0].strength = 1;
document.all.Zittertext.filters[0].strength += 1;
window.setTimeout("DynWave()",100);
}
DynWave();
//-->
</script>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form78

IP адрес (корректность)
Попробуйте ввести 0.0.0.0 или 255.255.255.255 или любые другие

IP адрес:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jay Bienvenu -->
<!-- Web Site: http://www.bienvenu.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function verifyIP (IPvalue) {
errorString = "";
theName = "IPaddress";

var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
var ipArray = IPvalue.match(ipPattern);

if (IPvalue == "0.0.0.0")
errorString = errorString + theName + ': '+IPvalue+' - это специальный IP адрес и не может быть использован здесь.';
else if (IPvalue == "255.255.255.255")
errorString = errorString + theName + ': '+IPvalue+' - это специальный IP адрес и не может быть использован здесь.';
if (ipArray == null)
errorString = errorString + theName + ': '+IPvalue+'- не корректный IP адрес.';
else {
for (i = 0; i < 4; i++) {
thisSegment = ipArray[i];
if (thisSegment > 255) {
errorString = errorString + theName + ': '+IPvalue+'- не корректный IP адрес.';
i = 4;
}
if ((i == 0) && (thisSegment > 255)) {
errorString = errorString + theName + ': '+IPvalue+' - это специальный IP адрес и не может быть использован здесь.';
i = 4;
}
}
}
extensionLength = 3;
if (errorString == "")
alert ("Это корректный IP адрес.");
else
alert (errorString);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
IP адрес:
<input size=15 name="IPvalue">
<input type="submit" value="Проверить" onClick="verifyIP(IPvalue.value)" ;>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form38

JavaScript записная книжка
 Конечно, "записной книжкой" назвать результат работы этого скрипта нельзя - сразу после закрытия страницы все данные пропадают. Собственно, как и у любой формы. Но главной особенносью является очень удобная и необычная форма (стиль), а также возможность сохранить все же результаты на каком-либо сервере в CGI.

(Кстати, из источника pop-up окна в данном случае можно скопировать скрипт)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Bob Simpson (webmaster@maryjanebrown.net) -->
<!-- Web Site: http://maryjanebrown.net/webmaster -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function VER5_Check() {
var b = navigator.appName;
if (b == "Netscape") this.b = "NS";
else if (b == "Microsoft Internet Explorer") this.b = "IE";
this.v = parseInt(navigator.appVersion);
this.IE5 = (navigator.userAgent.indexOf('MSIE 5') > 0);
this.NS5 = (this.b == "NS" && this.v == 5);
this.VER5 = (this.IE5 || this.NS5);
}
is = new VER5_Check();
if(! is.VER5) {
alert("Internet Explorer 5.0 or Netscape NS6 needed to view this site.");
document.write('<meta http-equiv="refresh" content="0; url=index.shtml">');
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Bob Simpson (webmaster@maryjanebrown.net) -->
<!-- Web Site:  http://maryjanebrown.net/webmaster -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
document.write('<center>');
document.write('<form name="form0">');
document.write('<input type="text" name="row" size=6 value="">');
document.write('<input type="text" name="name" size=24 value="">');
document.write('<input type="text" name="address" size=24 value="">');
document.write('<input type="text" name="city" size=24 value="">');
document.write('</form>');
document.write('</center>');
var _id;
var _ff = 0;
var _rawId = null;
var _pages = 0;
var _chgFlag = null;
_cellZero = null;
var _tableStyle="border:0;align:center;width:600";
var _headerData = new Array("No.","Name","Address","City");
var _tableData = new Array("1","Jones, Tom","110 James Street","Tacoma,WA",
"2","Cummings","123 Cray St.","Vashon, WA",
"3","Simpson","Javascript St.","Vashon, WA",
"4","Gates","Microsoft Way","Redmond, WA",
"5","Paul Allen","Defunct Kingdome","Seattle, WA",
"6","Jane Allen","King Street","Seattle, WA",
"7","Henry Bacon","Elliot Ave.","Seattle, WA",
"8","John Doe","Ballard","Seattle, WA",
"9","Mr. Floppy","Smith Tower","Seattle, WA",
"10","Jerry Allen","Everett Ave.","Seattle, WA",
"11","June Allen","King Street","Bellevue, WA",
"12","George Bacon","Elliot Ave.","Seattle, WA",
"13","Diane Doe","Ballard","Seattle, WA",
"14","Mrs. Floppy","Smith Tower","Seattle, WA",
"15","Jeff Allen","Everett Ave.","Seattle, WA",
"16","Mrs. Avery","Smith Tower","Seattle, WA",
"17","Henry Aldrich","Everett Ave.","Seattle, WA",
"18","Tom Turkey","Smith Tower","Seattle, WA",
"19","John Nerd","Everett Ave.","Seattle, WA");
// -->
</script>
<script type="text/javascript" language="Javascript1.2">
<!-- // Begin
function build_W3C_body() {
docBody = document.getElementsByTagName("body").item(0);
mySite = document.createElement("DIV");
mySite.id = "_mysite";
mySite.style.fontWeight="bold";
mySite.setAttribute("align","center");
buildDataTable(docBody, _tableData, _tableStyle, _headerData);
buttonDiv = document.createElement("DIV");
buttonDiv.setAttribute("align","center");
msgDiv = document.createElement("DIV");
msgDiv.id="message";
msgDiv.style.width=600;
msgDiv.style.height=25;
msgDiv.style.backgroundColor = "maroon";
msgDiv.style.color = "white";
msgDiv.style.fontWeight = "bold";
msgDiv.appendChild(document.createTextNode("Click cell in upper table to get row values!"));
buttonDiv.appendChild(msgDiv);
style = "width:205px;height:24px;fontSize:8pt;
 fontWeight:bold;backgroundColor:d5d5d5;";
makeButton("update",buttonDiv,style,"UPDATE TABLE");
style = "visibility:visible; width:204px;height:24px;
 fontSize:8pt;fontWeight:bold; backgroundColor:d5d5d5";
makeButton("tran",buttonDiv,style,"TRANSMIT CHANGES");
style = "width:96;height:24px;fontSize:8pt;
 fontWeight:bold;backgroundColor:d5d5d5";
makeButton("up",buttonDiv,style,"SCROLL-UP");
style = "width:96px;height:24px;
 fontSize:8pt;fontWeight:bold;backgroundColor:d5d5d5";
makeButton("down",buttonDiv,style,"SCROLL-DN");
docBody.appendChild(buttonDiv);
}
var _butMsg = new Array
_butMsg[0] = "Click cell in upper table to get row values !";
_butMsg[1] = "Add Custom Messages!";
_butMsg[2] = "Edit in input boxes above.";
_butMsg[3] = "Add Custom Messages!";
_butMsg[4] = "Click update table to update & create tran table.";
_butMsg[5] = "Add Custom Messages!";
_butMsg[6] = "Click update table to update & create tran table.";
_butMsg[7] = "Add Custom Messages!";
_butMsg[8] = "Scroll buttons scroll up or down 5 rows.";
_butMsg[9] = "Add Custom Messages!";
_butMsg[10] = "Transmit button not implemented at present.";
_butMsg[11] = "One row in tran table represents all changes to that row.";
var _z=0;
var _twoCnt = 0;
var _butFlg = 0;
function buttonMsg() {
if(_butFlg == 0) {
document.getElementById("message").style.visibility = "visible";
document.getElementById("message").style.backgroundColor = "maroon";
document.getElementById("message").style.color = "white";
if(_twoCnt == 0) {
document.getElementById("message").firstChild.nodeValue = _butMsg[_z++];
}
_twoCnt++
if(_twoCnt == 3)
_twoCnt = 0;
if(_z == _butMsg.length)
_z = 0;
}
}
document.onmousedown = buttonDown;
document.onmouseover = mouseOver;
document.onmouseout = mouseOut;
function mouseOver(e) {
tmp = (is.NS5) ? e.target.getAttribute("id") : event.srcElement.id;
if(tmp.substring(0,1) == "_" || ! tmp) return;
_butFlg = 1;
upButton = document.getElementById("message")
if(tmp == "tran")
buttonColor(tmp,"cdfff6","blue",upButton,"Transmit lower table to server - for test purposes only at present.");
if(tmp == "update")
buttonColor(tmp,"cdfff6","blue",upButton,"Update upper & lower tables.");
if(tmp == "up")
buttonColor(tmp,"cdfff6","blue",upButton,"Scroll table up 5 rows.");
if(tmp == "down")
buttonColor(tmp,"cdfff6","blue",upButton,"Scroll table down 5 rows.");
if(tmp == "javaX")
buttonColor(tmp,"blue","white",upButton,"Go to good Javascript source.");
if(tmp == "siteX")
buttonColor(tmp,"blue","white",upButton,"Go to Bob Simpson's Javascript site");
if(tmp == "mailX")
buttonColor(tmp,"blue","white",upButton,"E-mail author if any questions");
if(tmp == "sourceX")
buttonColor(tmp,"blue","white",upButton,"Source for this page (dom_table.zip)");
if(tmp == "tranTable") {
upButton.style.backgroundColor = "red";
upButton.style.color = "white";
upButton.firstChild.nodeValue = "Changes not allowed here - make changes in upper table !"
}
if(parseInt(tmp) >= 0) {
if(parseInt(tmp.substring(tmp.length-1,tmp.length)) == 0) {
buttonColor(tmp,"red","white",upButton,"Changes to row number not allowed !");
table.style.backgroundColor="red";
}
else {
buttonColor(tmp,"black","white",upButton,"Click cell to get row values - edit in upper input boxes.");
table.style.backgroundColor = "black";
}
}
if(tmp.substring(tmp.length-1,tmp.length) == "X") {
document.getElementById(tmp).style.color = "red";
table.style.backgroundColor = "blue";
}
}
function mouseOut(e) {
table.style.backgroundColor="maroon";
tmp = (is.NS5) ? e.target.getAttribute("id") : event.srcElement.id;
if(tmp.substring(0,1) == "_" || ! tmp) return;
_butFlg = 0;
document.getElementById("message").style.color = "white";
document.getElementById("message").style.backgroundColor = "maroon";
document.getElementById("message").firstChild.nodeValue = "Click upper table cell to get row values";
if(parseInt(tmp) >= 0 && parseInt(tmp) < 44)
document.getElementById(tmp).style.backgroundColor = "eeeeee";
else if(tmp.substring(tmp.length-1,tmp.length) != "X" && tmp != "message" && tmp != "tranTable") {
document.getElementById(tmp).style.backgroundColor= "d5d5d5";
}
if(tmp.substring(tmp.length-1,tmp.length) != "X") document.getElementById(tmp).style.color = "black";
else document.getElementById(tmp).style.color = "blue";
}
function buttonDown(e) {
if( ((is.NS5) ? e.which : event.button) != 1) return true;
tmp = (is.NS5) ? e.target.getAttribute("id") : event.srcElement.id;
if(! tmp)
return true
if(tmp.substring(tmp.length-1,tmp.length) == 0)
return;
if(tmp == "down")
scrollDown();
if(tmp == "up")
scrollUp();
if(parseInt(tmp) || tmp == "00")
getRowValue(tmp);
if(tmp == "update")
changeRow();
if(tmp == "tran")
buildTranStr();
}
function buttonColor(id,backColor,fontColor,id1,message) {
if(id.substring(id.length-1,id.length) != "X") {
document.getElementById(id).style.backgroundColor = backColor;
document.getElementById(id).style.color = fontColor;
}
id1.firstChild.nodeValue = message;
id1.style.color = fontColor;
id1.style.backgroundColor = backColor;
}
function scrollDown() {
id = _pages * 20;
p = id + 20;
ct = ((_tableData.length-p)/4);
if(ct < 0) return;
for(i = 0; i < 5; i++) {
for(j = 0; j < 4; j++) {
myCell = document.getElementById(i+''+j);
if(ct > 0)
myCell.firstChild.nodeValue = _tableData[p++];
else document.getElementById(i+''+j).firstChild.nodeValue = " - ";
}
ct--;
}
_pages++;
}
function scrollUp() {
if(_pages==0) return;
id = _pages * 20 ; p = id - 20 ; x = p + 20;
for(i = 0; i < 5; i++) {
for(j = 0; j < 4; j++) {
document.getElementById(i+''+j).firstChild.nodeValue = _tableData[p++];
}
}
_pages--;
}
function buildDataTable(appendToId, data, style, header) {
table = document.createElement("TABLE");
table.style.backgroundColor = "maroon";
t = style.split(";");
for(i = 0; i < t.length;) {
f = t[i++].split(":");
x = "table."+f[0]+"='"+f[1]+"'";
eval(x);
}
tablebody = document.createElement("TBODY");
row = document.createElement("TR");
for(var i = 0; i < header.length; i++) {
cell = document.createElement("TD");
if(i == 0)
cell.setAttribute("width","60px");
else cell.setAttribute("width","170px");
cell.setAttribute("align","center");
cell.style.backgroundColor = "lightgreen";
cell.style.fontWeight = "bold";
cell.appendChild(document.createTextNode(header[i]));
row.appendChild(cell);
}
tablebody.appendChild(row);
c = 0;
ptr = (data.length > 20) ? 20 : data.length;
for(var i = 0; i < ptr;) {
row = document.createElement("TR");
for(j = 0; j < header.length; j++) {
if(j == 1) {
cell.setAttribute("align","center");
cell.style.fontWeight = "bold";
}
cell = document.createElement("TD");
cell.setAttribute("id",c+''+j);
cell.style.backgroundColor = "#eeeeee";
cell.appendChild(document.createTextNode(data[i++]));
row.appendChild(cell);
}
c++;
tablebody.appendChild(row);
}
table.appendChild(tablebody);
appendToId.appendChild(table);
}
function buildTranTable() {
if(_ff == 1) {
tBody = document.getElementById("tBod");
myTR = document.getElementsByTagName("TR");
for(i = 6;i < myTR.length; i++) {
if(document.form0.row.value == myTR.item(i).firstChild.firstChild.nodeValue) tBody.removeChild(myTR.item(i));
}
}
if(_ff == 0) {
table1 = document.createElement("TABLE");
table1.style.backgroundColor="maroon";
table1.id = "_table1";
table1.align = "center";
table1.border = 0;
table1.width = 600;
tablebody1 = document.createElement("TBODY");
tablebody1.id = "tBod";
}
row1 = document.createElement("TR");
row1.id = p;
for(i = 0; i < document.form0.length; i++) {
cell1 = document.createElement("TD");
cell1.id = "tranTable";
cell1.style.backgroundColor = "#eeeeee";
cell1.style.color = "black";
if(i == 0) {
cell1.setAttribute("width","60px");
cell1.setAttribute("align","center");
}
else cell1.setAttribute("width","170px");
a = document.form0.elements[i].value;
document.form0.elements[i].value = "";
if(i == 0)
cell1.appendChild(document.createTextNode(_cellZero));
else cell1.appendChild(document.createTextNode(a));
row1.appendChild(cell1);
}
tablebody1.appendChild(row1);
table1.appendChild(tablebody1);
docBody.appendChild(table1);
_ff = 1;
_chgFlag = null;
}
function buildTranStr() {
tranStr = "updateTable.cgi?";
myTDs = document.getElementsByTagName("TD");
if(myTDs.length<25)
return;
for(i=24;i<myTDs.length;) {
for(j=0;j<4;){
tranStr += j++ +"&" + myTDs.item(i++).firstChild.nodeValue + "=";
}
}
alert("Not implemented in demo ! window.location = " +tranStr);
}
function changeRow() {
if(! _id) return;
p = ((_pages * 20) + (_id * 4));
_cellZero = document.getElementById(_id+0).firstChild.nodeValue;
for(i = 0; i < document.form0.length; i++) {
if(document.getElementById(_id+i).firstChild.nodeValue != document.form0.elements[i].value && i > 0) {
_chgFlag=true;
document.getElementById(_id+i).firstChild.nodeValue = document.form0.elements[i].value;
_tableData[p+i] = document.form0.elements[i].value;
}
}
_id = 0;
if(_chgFlag) buildTranTable();
}
function getRowValue(x) {
_rawId = x;
_id = x.substring(0,x.length-1);
for(i = 0; i < document.form0.length; i++) {
document.form0.elements[i].value = document.getElementById(_id+i).firstChild.nodeValue;
}
selectedCell = x.substring(x.substring.length-1,x.substring.length);
setTimeout("cellSelect(selectedCell)",100);
}
function cellSelect(selectedCell) {
document.forms[0].elements[selectedCell].select();
}
function makeButton(myId,appendId,styleStr,text) {
myButton = document.createElement("BUTTON");
myButton.id =myId;
temStr = (styleStr.substring(styleStr.length-1,styleStr.length)==";") ?
styleStr.substring(0,styleStr.length-1) : styleStr;
temp = temStr.split(";");
for(i = 0; i < temp.length; i++) {
x = temp[i].split(":");
str = "myButton.style."+x[0]+"='"+x[1]+"'";
eval(str);
}
myButton.appendChild(document.createTextNode(text));
appendId.appendChild(myButton);
}
function makeLink(href,text,styleStr,appendTo,linkId) {
link = document.createElement("A");
link.id=linkId;
temStr = (styleStr.substring(styleStr.length-1,styleStr.length)==";") ?
styleStr.substring(0,styleStr.length-1) : styleStr
temp = temStr.split(";");
for(i = 0; i < temp.length; i++) {
x=temp[i].split(":");
str = "link.style."+x[0]+"='"+x[1]+"'";
eval(str);
}
link.setAttribute("href",href);
link.appendChild(document.createTextNode(text));
appendTo.appendChild(link);
}
window.onload = build_W3C_body;
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form17

Автотабуляция

Автоматически переключает поле для набираемых цифр (букв) после исчерпания максимальной установочной длинны предыдущего поля

Телефон (код города) :
() - -
число, месяц, год. :
- -

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://members.xoom.com/cyanide_7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
</font>
<form>
<table>
<tr>
<td><font color="#000000" size="3">Телефон (код города) : <br>
( <input onKeyUp="return autoTab(this, 3, event);" size="4" maxlength="3">) - <input onKeyUp="return autoTab(this, 3, event);" size="4" maxlength="3">
- <input onKeyUp="return autoTab(this, 4, event);" size="5" maxlength="4"></font>
</td>
</tr>
<tr>
<td><font size="3" color="#000000">число, месяц, год. : <br>
<input onKeyUp="return autoTab(this, 2, event);" size="4" maxlength="2"> - <input onKeyUp="return autoTab(this, 2, event);" size="3" maxlength="2">
- <input onKeyUp="return autoTab(this, 4, event);" size="5" maxlength="4">
</font>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form45

Автоформатирование даты
Вводите цифры и увидите сами! Пригоден для всех браузеров. Некоторые отличия описаны в таблице формы. Не забудьте потом кликнуть где-нибудь на странице для определения корректности введенной даты.

Введите 1-ю Дату - mm/dd/yyyy Формат
Введите 2-ю Дату - yyyy/mm/dd Формат
Введите 3-ю Дату - dd/mm/yyyy Формат
Автоформатирование даты
Navigator 4.x версий | Форматирование будет проведено только после набора всех 8 цифр
Navigator 6.x версий | Форматирование будет производиться по мере набора цифр
IE все версии | Форматирование будет производиться по мере набора цифр
Корректность проверяется после клика вне поля формы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Richard Gorremans (RichardG@spiritwolfx.com) -->
<!-- Web Site: http://www.spiritwolfx.com/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/";
// If you are using any Java validation on the back side you will want to use the / because
// Java date validations do not recognize the dash as a valid date separator.
var vDateType = 1; // Global value for type of date format
// 1 = mm/dd/yyyy
// 2 = yyyy/dd/mm (Unable to do date check at this time)
// 3 = dd/mm/yyyy
var vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscape
var err = 0; // Set the error code to a default of zero
if(navigator.appName == "Netscape") {
if (navigator.appVersion < "5") {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4") {
isNav4 = false;
isNav5 = true;
}
}
else isIE4 = true;
function DateFormat(vDateName, vDateValue, e, dateCheck, dateType) {
vDateType = dateType;

//////////////////////////////////////////////////////////////////////////////////////
// vDateName = object name
// vDateValue = value in the field being checked
// e = event
// dateCheck
// True = Verify that the vDateValue is a valid date
// False = Format values being entered into vDateValue only
// vDateType
// 1 = mm/dd/yyyy
// 2 = yyyy/mm/dd
// 3 = dd/mm/yyyy
//Enter a tilde sign for the first number and you can check the variable information.
//////////////////////////////////////////////////////////////////////////////////////

if (vDateValue == "~") {
alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
vDateName.value = "";
vDateName.focus();
return true;
}
var whichCode = (window.Event) ? e.which : e.keyCode;
// Check to see if a seperator is already present.
// bypass the date if a seperator is present and the length greater than 8
if (vDateValue.length > 8 && isNav4) {
if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1)) return true;
}
//Eliminate all the ASCII codes that are not valid
var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
if (alphaCheck.indexOf(vDateValue) >= 1) {
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else {
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
}
}
if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
return false;
else {
//Create numeric string values for 0123456789/
//The codes provided include both keyboard and keypad values
var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
if (strCheck.indexOf(whichCode) != -1) {
if (isNav4) {
if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
if (vDateValue.length == 6 && dateCheck) {
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4);
//Turn a two digit year into a 4 digit year
if (mYear.length == 2 && vYearType == 4) {
var mToday = new Date();
//If the year is greater than 30 years from now use 19, otherwise use 20
var checkYear = mToday.getFullYear() + 30;
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear) mYear = '19' + mYear;
else mYear = '20' + mYear;
}
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck)) {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
return true;
}
else {
// Reformat the date for validation and set date type to a 1
if (vDateValue.length >= 8 && dateCheck) {
// mmddyyyy
if (vDateType == 1) {
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
}
// yyyymmdd
if (vDateType == 2) {
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(4,2);
var mDay = vDateName.value.substr(6,2);
vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
}
// ddmmyyyy
if (vDateType == 3) {
var mMonth = vDateName.value.substr(2,2);
var mDay = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
}
//Create a temporary variable for storing the DateType and change
//the DateType to a 1 for validation.
var vDateTypeTemp = vDateType;
vDateType = 1;
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck)) {
alert("Invalid Date\nPlease Re-Enter");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
vDateType = vDateTypeTemp;
return true;
}
else {
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
}
}
}
else {
// Non isNav Check
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
return true;
}
// Reformat date to format that can be validated. mm/dd/yyyy
if (vDateValue.length >= 8 && dateCheck) {
// Additional date formats can be entered here and parsed out to
// a valid date format that the validation routine will recognize.
// mm/dd/yyyy
if (vDateType == 1) {
var mMonth = vDateName.value.substr(0,2);
var mDay = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
// yyyy/mm/dd
if (vDateType == 2) {
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(5,2);
var mDay = vDateName.value.substr(8,2);
}
// dd/mm/yyyy
if (vDateType == 3) {
var mDay = vDateName.value.substr(0,2);
var mMonth = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
// Create temp. variable for storing the current vDateType
var vDateTypeTemp = vDateType;
// Change vDateType to a 1 for standard date format for validation
// Type will be changed back when validation is completed.
vDateType = 1;
// Store reformatted date to new variable for validation.
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (vDateValueCheck.length >= 8 && dateCheck) {
//Turn a two digit year into a 4 digit year
if (mYear.length == 2 && vYearType == 4) {
var mToday = new Date();
//If the year is greater than 30 years from now use 19, otherwise use 20
var checkYear = mToday.getFullYear() + 30;
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear) mYear = '19' + mYear;
else mYear = '20' + mYear;
}
vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
}
if (!dateValid(vDateValueCheck)) {
alert("Invalid Date\nPlease Re-Enter");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
return true;
}
vDateType = vDateTypeTemp;
return true;
}
else {
if (vDateType == 1) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
}
}
if (vDateType == 2)
{
if (vDateValue.length == 4)
{
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 7) {
vDateName.value = vDateValue+strSeperator;
}
}
if (vDateType == 3) {
if (vDateValue.length == 2) {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) {
vDateName.value = vDateValue+strSeperator;
}
}
return true;
}
}
if (vDateValue.length == 10&& dateCheck) {
if (!dateValid(vDateName)) {
// Un-comment the next line of code for debugging the dateValid() function error messages
//alert(err);
alert("Invalid Date\nPlease Re-Enter");
vDateName.focus();
vDateName.select();
}
}
return false;
}
else {
// If the value is not in the string return the string minus the last
// key entered.
if (isNav4) {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else {
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
}
}
}
}
function dateValid(objName) {
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
// var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
//strDate = datefield.value;
strDate = objName;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
}
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
}
}
//Adjustment for short years entered
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
}
}
if (isNaN(intMonth)) {
err = 3;
return false;
}
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) {
return true;
}
}
else {
if ((intYear % 4) == 0) {
return true;
}
}
return false;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=dateTest>
<table border = 0 width=400>
<tr>
<td>
<table align=center border=1 width=400 bgcolor="#D7D7D7">
<tr>
<td bgcolor=#FFFFFF width=75%>
<font color="#000000" size="3">Введите 1-ю&nbsp; Дату - mm/dd/yyyy
Формат</font>
</td>
<font size="4" color="#FF0000">
<td>
<input type=text name=testDateFormat1 size=10 maxlength=10 onKeyUp="DateFormat(this,this.value,event,false,'1')" onBlur="DateFormat(this,this.value,event,true,'1')">
</td>
</tr>
</table>
</td>
</tr>
</font>
<tr>
<td>
<table align=center border=1 width=400 bgcolor="#D7D7D7">
<tr>
<td bgcolor=#FFFFFF width=75%>
<font color="#000000" size="3">Введите 2-ю&nbsp; Дату - yyyy/mm/dd
Формат</font>
</td>
<font size="4" color="#FF0000">
<td>
<input type=text name=testDateFormat3 size=10 maxlength=10 onKeyUp="DateFormat(this,this.value,event,false,'2')" onBlur="DateFormat(this,this.value,event,true,'2')">
</td>
</tr>
</table>
</td>
</tr>
</font>
<tr>
<td>
<table align=center border=1 width=400 bgcolor="#D7D7D7">
<tr>
<td bgcolor=#FFFFFF width=75%>
<font color="#000000" size="3">Введите 3-ю&nbsp; Дату - dd/mm/yyyy
Формат</font>
</td>
<font size="4" color="#FF0000">
<td>
<input type=text name=testDateFormat5 size=10 maxlength=10 onKeyUp="DateFormat(this,this.value,event,false,'3')" onBlur="DateFormat(this,this.value,event,true,'3')">
</td>
</tr>
</table>
</td>
</tr>
</font>
<tr>
<td>
<table border=1>
<tr>
<td bgcolor=#808080 align=center>
<font size="+1" color="#FFFFFF">Автоформатирование
даты&nbsp;</font>
</td>
</tr>
<font size="4" color="#FF0000">
<tr>
<td>
<table border=0 bgcolor="#D7D7D7">
<tr>
<td>
<b>Navigator 4.x версий</b>
</td>
<td>
Форматирование будет проведено только
после набора всех 8 цифр
</td>
</tr>
<tr>
<td>
<b>Navigator 6.x версий</b>
</td>
<td>
Форматирование будет производиться по мере
набора цифр
</td>
</tr>
<tr>
<td>
<b>IE версии</b>
</td>
</font>
<td>
<font size="3" color="#000000">Форматирование будет
производиться по мере набора цифр</font>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align=center bgcolor=#808080>
<font color="#FFFFFF" size="2" face="Arial"><b>Корректность
проверяется после клика вне поля формы</b></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form80

Валидатор
(от английского Validate, а не от "Валидола"; нажмите кнопку "О Валидаторе")

Меню Радио (кнопки)

Вы приобретете следующую версию Js Library?
Да Нет Вероятно

Меню: | Радио:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var menu_selection="";
var radio_selection="";
function checkForm() {
if (dropDownMenu() && radioButtons()) {
document.forms[0].results1.value=menu_selection;
document.forms[0].results2.value=radio_selection;
alert("\nФорма заполнена полностью.");
}
}
function dropDownMenu(form) {
var myindex=document.forms[0].menu.selectedIndex;
if (myindex==0) {
alert("\nВы должны выбрать что-нибудь из выпадающего меню.");
document.forms[0].menu.focus();
}
else {
menu_selection= document.forms[0].menu.options[myindex].value;
return true;
}
}
function radioButtons() {
if (radio_selection=="")
alert("\nДолжна быть активна одна из радио-кнопок.");
else {
return true;
}
}
function resetForm() {
document.forms[0].menu.options[0].selected = true;
menu_selection="";
radio_selection="";
}
function about() {
alert("\n\"Валидатор\" определяет сделан ли выбор из выпадающего меню и активна ли одна из радио-кнопок.\n\nЕсли выбор сделан в обоих случаях, то ниже в формах воспроизводятся данные об этом выборе.\nЕсли выбор не сделан или сделан только частично, появится соответствующее сообщение");
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM>
<TABLE BORDER=2 WIDTH=500 bgcolor="#CCCCCC">
<TR>
<TD align="center"><font size="+1" color="#000000"><b>Меню</b></font>
<TD align="center"><b><font size="+1" color="#000000">Радио</font><font color="#000000" size="1">
</font></b><font color="#000000" size="2">(кнопки)</font>
</TR>
<font size="3" color="#000000">
<TR>
<TD align="center"><SELECT NAME="menu" SIZE=1>
<OPTION SELECTED VALUE=""> --- Как часто Вы используете JS
Library? ---
<OPTION VALUE="Раз в год">Раз в год
<OPTION VALUE="Два-три раза в год">Два-три раза в
год
<OPTION VALUE="Раз в месяц">Раз в месяц
<OPTION VALUE="Раз в неделю">Раз в неделю
<OPTION VALUE="Ежедневно">Ежедневно
<OPTION VALUE="Еще не запускал ни разу">Еще не
запускал ни разу
<OPTION VALUE="Постоянно включена">Постоянно
включена
<OPTION VALUE="Загрузил и сразу удалил">Загрузил и
сразу удалил
<OPTION VALUE="У меня она вообще не идет">У меня она
вообще не идет
<OPTION VALUE="Все распечатал и храню под подушкой">Все
распечатал и храню под подушкой
</SELECT>
<TD align="center"><BR>Вы приобретете следующую
версию Js Library?<br>
<INPUT TYPE="radio" NAME="radiobutton" onClick="radio_selection='да'">Да
<INPUT TYPE="radio" NAME="radiobutton" onClick="radio_selection='нет'">Нет
<INPUT TYPE="radio" NAME="radiobutton" onClick="radio_selection='вероятно'">Вероятно
</TR>
</TABLE>
<BR>
<TABLE BORDER=0 WIDTH=400>
<TD align="center"><INPUT TYPE="reset" VALUE="Сброс" onClick="resetForm()">
<TD align="center"><INPUT TYPE="button" VALUE="Проверка полей формы" onClick="checkForm()">
<TD align="center"><INPUT TYPE="button" VALUE="О &quot;Валидаторе&quot;" onClick="about()">
</TABLE>
<BR>
<TABLE BORDER=2 WIDTH=250 bgcolor="#CCCCCC">
<TR>
<TD align="center">Меню:
<TD align="center">Радио:
</TR>
<TR>
<TD align="center"><INPUT TYPE="text" NAME="results1" SIZE=35>
<TD align="center"><INPUT TYPE="text" NAME="results2" SIZE=10>
</TR>
</TABLE>
<BR>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form7

Проверка обязательности введения только цифр

(если в цифровых данных посетитель поместит буквы или другие символы (кроме точки), то отправить форму не позволит этот скрипт)

Ваш возраст:

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при вводе букв вместо цифр , после предупреждения, набранное до этого сбрасываться не будет. В данном примере скрипт адаптирован для работы в компилированной прграммое и не будет работать корректно если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="checknum" onSubmit="return checkban()">
<font size="2" color="#000000">Ваш возраст:</font>
<font size="4" color="#FF0000">
<br>
<input type="text" name="pnum">
<input type="submit" value="Применить" style="font-size: 8pt; font-family: Arial">
</form>

<script language="JavaScript1.2">
/*Number check script-
By Website Abstraction
*/

function checknumber(){
var x=document.checknum.pnum.value
var anum=/(^\d+$)|(^\d+\.\d+$)/
if (anum.test(x))
testresult=true
else{
alert("Пожалуйста, введите только цифры!")
testresult=false
}
return (testresult)
}

</script>
<script>
function checkban(){
if (document.layers||document.all)
return checknumber()
else
return true
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form81

Время
(корректность при введении разных форматов)

Часы, минуты и секунды разделяются двоеточием. Секунды вводить не обязательно, АМ/РМ также вводить не обязательно - будет сделан дополнительный запрос-уточнение о формате времени в неясных случаях.

Время (HH:MM:SS AM/PM для 12-часового формат,
или
HH:MM:SS для 24-часового)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Sandeep Tamhankar (stamhankar@hotmail.com) -->
<!-- Web Site:  http://207.20.242.93 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function IsValidTime(timeStr) {
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);
if (matchArray == null) {
alert("Время указано в неприемлемом формате.");
return false;
}
hour = matchArray[1];
minute = matchArray[2];
second = matchArray[4];
ampm = matchArray[6];

if (second=="") { second = null; }
if (ampm=="") { ampm = null }

if (hour < 0  || hour > 23) {
alert("Часы должны быть в пределах от 1 до 12. (или от 0 до 23 при 24-м формате)");
return false;
}
if (hour <= 12 && ampm == null) {
if (confirm("Пожалуйста, уточните в каком
      формате указано время.  OK = 12-часовой, CANCEL = 24-часовой")) {
alert("You must specify AM or PM.");
return false;
}
}
if  (hour > 12 && ampm != null) {
alert("Вы не можете указывать \"AM\" или \"PM\" для 24-часового формата времени.");
return false;
}
if (minute<0 || minute > 59) {
alert ("Минуты должны быть в пределах от 0 и 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert ("Секунды должны быть в пределах от 0 и 59.");
return false;
}
return true;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=timeform onSubmit="return IsValidTime(document.timeform.time.value);">
Время (HH:MM:SS AM/PM для 12-часового формат,<BR> или<BR>
HH:MM:SS для 24-часового)<BR> <input type=text name=time><br>
<input type="submit" value="Применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form20

Ограничение видов впечатываемых символов

В этом поле невозможно напечатать такие знаки: ( )!@#$%^&*,. и т.д.

В этом поле нельзя напечатать двойные или одинарные ковычки:

В этом поле удастся напечатать только цифры:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form onSubmit="return false;">
В этом поле невозможно напечатать такие знаки: ( !@#$%^&* и т.д.)<br>
<textarea rows=2 cols=20 name=comments onKeypress="if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)) event.returnValue = false;"></textarea>
<br>
<br>
В этом поле нельзя напечатать двойные или одинарные ковычки:<br>
<input type=text name=txtEmail onKeypress="if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;">
<br>
<br>
В этом поле удастся напечатать только цифры:<br>
<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form87

Время, проведенное на странице.
(в форме)

(форма скрыта, см. выделенный код)

Вы здесь уже минут/секунд.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
startday = new Date();
clockStart = startday.getTime();
function initStopwatch() {
var myTime = new Date();
return((myTime.getTime() - clockStart)/1000);
}
function getSecs() {
var tSecs = Math.round(initStopwatch());
var iSecs = tSecs % 60;
var iMins = Math.round((tSecs-30)/60);
var sSecs ="" + ((iSecs > 9) ? iSecs : "0" + iSecs);
var sMins ="" + ((iMins > 9) ? iMins : "0" + iMins);
document.forms[0].timespent.value = sMins+":"+sSecs;
window.setTimeout('getSecs()',1000);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="window.setTimeout('getSecs()',1)">

<CENTER>
<FORM>
Вы здесь уже&nbsp;&nbsp;&nbsp;&nbsp; <input size=4 name=timespent style="background-color: #C0C0C0; font-family: Arial; font-size: 14pt; color: #800000; font-weight: bold; border-style: solid; border-width: 0">минут/секунд.
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form88

Время, проведенное на странице 2
(в форме)

(форма скрыта, см. выделенный код)

Вы на этой странице уже

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
startday = new Date();
clockStart = startday.getTime();
function initStopwatch() {
var myTime = new Date();
var timeNow = myTime.getTime();
var timeDiff = timeNow - clockStart;
this.diffSecs = timeDiff/1000;
return(this.diffSecs);
}
function getSecs() {
var mySecs = initStopwatch();
var mySecs1 = ""+mySecs;
mySecs1= mySecs1.substring(0,mySecs1.indexOf(".")) + " секунд.";
document.forms[0].timespent.value = mySecs1
window.setTimeout('getSecs()',1000);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body bgcolor="#C0C0C0" onLoad="window.setTimeout('getSecs()',1)">

<CENTER>
<FORM>
Вы на этой странице уже <input size=12 name=timespent style="color: #800000; font-size: 14pt; font-family: Arial; background-color: #C0C0C0; border-style: solid; border-width: 0">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form2

"Выделить все" для полей формы

(очень практичный скрипт)

Выделить все

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="Javascript">
<!--

/*
Select All script- By Website Abstraction
*/

function selectAll(theField) {
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
}
//-->
</script>
<form name="test">
<a href="javascript:selectAll('test.select1')">Выделить все</a><br>
<textarea name="select1" rows=10 cols=20>Как правило, использование этого скрипта ооказывается очень и очень полезным, когда в форме
содержится довольно большой текст и есть необходимость его сохранить. Или это может быть тот же скрипт, который для не-программиста совершенно
без надобности читать, тем более в столь неудобном и дорогом (если это online) месте. Поначалу, у меня была идея использовать
формы, а не таблицы, но после некоторых рассуждений я пришел к выводу, что подобная "ненаглядность" маленькой формы катастрофически неудобна.....</textarea>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


form92

Выделение при клике + запрет на дописывание
Можно скопировать этот текст, вырезать и потом написать что-то свое, но ДОПИСАТЬ этот текст (например, какой-нибудь глупостью) нельзя! Если же удалить выделенную в таблице белым цветом строку, то останется только эффект выделения.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<textarea cols=15 rows=5 onFocus="this.select()" onClick="this.select()">Здесь Ваш текст. Кликните по нему.</textarea>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form48

Добавить в список
Напечатайте что-нибудь и нажмите "Добавить в список", повторите несколько раз, затем нажмите "Показать список"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM name="history">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<INPUT name="command" type="text" value="">
<INPUT type="button" value="Добавить в список" onclick="f_store(document.history.command.value)">
<INPUT name="history" type="button" value="Показать список" onclick="f_print()">
</FORM>
<P>
<SCRIPT language="JavaScript">
<!-- hide it ...
function MakeArray( n ) {
if( n <= 0 ) {
this.length = 0;
return this;
}
this.length = n;
for( var i = 1; i <= n; i++ ) {
this[ i ] = 0;
}
return this;
}
var history = new MakeArray( 15 );
var index = 0;
var cmmnd = 1;
function f_store( sTR ) {
var i;
if( index >= history.length ) {
for( i = 1; i < history.length; i++ )
history[i-1] = history[i];
index = history.length - 1;
}
history[ index ] = cmmnd + ":" + sTR;
++cmmnd;
++index;
document.history.command.value="";
}
function f_print() {
var allCmmnds, i;
allCmmnds = "";
for( i = 0; i < index; i++ )
allCmmnds += history[i] + "\n";
alert( allCmmnds );
}
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form49

Добавить в список 2
Для работы этого скрипта Вам потребуется создать вспомогательный HTML файл modify.html и разместить его в той же директории, что и основной (этот). Код для вспомогательного файла находится в третьей сверху таблице - это полный код страницы!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Pankaj Mittal (pankajm@writeme.com) -->
<!-- Web Site:  http://www.fortunecity.com/lavendar/lavender/21 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function small_window(myurl) {
var newWindow;
var props = 'scrollBars=yes, resizable=yes, toolbar=no ,menubar=no,
      location=no, directories=no,width=300,height=200';
newWindow = window.open(myurl, "Add_from_Src_to_Dest", props);
}
// Adds the list of selected items selected in the child
// window to its list. It is called by child window to do so.
function addToParentList(sourceList) {
destinationList = window.document.forms[0].parentList;
for(var count = destinationList.options.length - 1; count >= 0; count--) {
destinationList.options[count] = null;
}
for(var i = 0; i < sourceList.options.length; i++) {
if (sourceList.options[i] != null)
destinationList.options[i] = new Option(sourceList.options[i].text, sourceList.options[i].value );
}
}
// Marks all the items as selected for the submit button.
function selectList(sourceList) {
sourceList = window.document.forms[0].parentList;
for(var i = 0; i < sourceList.options.length; i++) {
if (sourceList.options[i] != null)
sourceList.options[i].selected = true;
}
return true;
}

// Deletes the selected items of supplied list.
function deleteSelectedItemsFromList(sourceList) {
var maxCnt = sourceList.options.length;
for(var i = maxCnt - 1; i >= 0; i--) {
if ((sourceList.options[i] != null) && (sourceList.options[i].selected == true)) {
sourceList.options[i] = null;
}
}
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form method=post>
<table border=1 bgcolor="#ffffcc">
<tr>
<td>
<select size=5 name=parentList multiple>
</select>
</td>
</tr>
<tr>
<td align=center>
<input type=button value="Добавить" onclick = "javascript:small_window('modify.html');">
<input type=button value="Удалить" onclick = "javascript:deleteSelectedItemsFromList(parentList);">
</td>
</tr>
</table>
</form>
</center>

Содержимое этой таблицы поместите во вновь создаваемый документ modify.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>demonstr</title>
<script language="JavaScript">
<!--
// Add the selected items in the parent by calling method of parent
function addSelectedItemsToParent() {
self.opener.addToParentList(window.document.forms[0].destList);
window.close();
}
// Fill the selcted item list with the items already present in parent.
function fillInitialDestList() {
var destList = window.document.forms[0].destList;
var srcList = self.opener.window.document.forms[0].parentList;
for (var count = destList.options.length - 1; count >= 0; count--) {
destList.options[count] = null;
}
for(var i = 0; i < srcList.options.length; i++) {
if (srcList.options[i] != null)
destList.options[i] = new Option(srcList.options[i].text);
}
}
// Add the selected items from the source to destination list
function addSrcToDestList() {
destList = window.document.forms[0].destList;
srcList = window.document.forms[0].srcList;
var len = destList.length;
for(var i = 0; i < srcList.length; i++) {
if ((srcList.options[i] != null) && (srcList.options[i].selected)) {
//Check if this value already exist in the destList or not
//if not then add it otherwise do not add it.
var found = false;
for(var count = 0; count < len; count++) {
if (destList.options[count] != null) {
if (srcList.options[i].text == destList.options[count].text) {
found = true;
break;
}
}
}
if (found != true) {
destList.options[len] = new Option(srcList.options[i].text);
len++;
}
}
}
}
// Deletes from the destination list.
function deleteFromDestList() {
var destList = window.document.forms[0].destList;
var len = destList.options.length;
for(var i = (len-1); i >= 0; i--) {
if ((destList.options[i] != null) && (destList.options[i].selected == true)) {
destList.options[i] = null;
}
}
}
// End -->
</SCRIPT>
</head>
<body onLoad="javascript:fillInitialDestList();">
<center>
<form method="POST">
<table bgcolor="#FFFFCC">
<tr>
<td bgcolor="#FFFFCC" width="74">Предложено</td>
<td bgcolor="#FFFFCC"> </td>
<td bgcolor="#FFFFCC" width="69">Выбрано</td>
</tr>
<tr>
<td bgcolor="#FFFFCC" width="85">
<select size="6" name="srcList" multiple>
<option value="1">Рыба
<option value="2">Икра
<option value="3">Мясо
<option value="4">Колбаса
<option value="5">Хлеб
<option value="6">Сыр
<option value="7">Пельмени</option>
<option value="8">Дуст</option>
</select>
</td>
<td bgcolor="#FFFFCC" width="74" align="center">
<input type="button" value=" >> " onClick="javascript:addSrcToDestList()">
<br><br>
<input type="button" value=" << " onclick="javascript:deleteFromDestList();">
</td>
<td bgcolor="#FFFFCC" width="69">
<select size="6" name="destList" multiple>
</select>
</td>
</tr>
<tr>
<td colspan=3 align="center">
<input type="button" value="Сделано!" onClick = "javascript:addSelectedItemsToParent()">
</td>
</tr>
</table>
</form>
</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form84

Добавить-удалить элемент множества

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var letterArray = new Array("A","Б","В","Г","Д","Е","Ж");

function addElement(array) {
size = array.length;
addindex = parseInt(prompt("Введите индекс элемента, которому вы хотите добавить значение.",""));
validNo = (addindex != "NaN");
inRange = ( (addindex >= 0) && (addindex <= array.length+1) );
if (validNo && inRange) {
addvalue = prompt("Введите значение элемента для выбранного индекса " + addindex + ".","");
for (var i=array.length+1; i>addindex; i--) array[i] = array[i-1];
array[addindex] = addvalue;
array.length = array.length-1;
showArray(array);
}
else alert("Индекс может иметь значение от 0 до " + (size) + ".");
}

function deleteElement(array) {
size = array.length;
delindex = parseInt(prompt("Введите индекс элемента, который хотите удалить.",""));
validNo = (delindex != "NaN");
inRange = ( (delindex >= 0) && (delindex <= array.length) );

if (validNo && inRange) {
for (var i=0; i<=size; i++)
array[i] = ((i == delindex) ? "delete" : array[i]);
for (var j=delindex; j<size-1; j++)
if (j != size) array[j] = array[j+1];
array.length = size-1;
alert("Элемент с индексом " + delindex + " удален. Оставшиеся элементы будут соответственно перемещены и переиндексированы.");
showArray(array);
}
else alert("Вы можете удалить элементы только с индексом от 0 до " + (size-1) + ".");
}

function showArray(array) {
arraytext = "";
for (var i=0; i<array.length; i++) {
arraytext += "Элемент Индекс " + i + ": " + array[i] + "\n";
}
document.form.text.value = arraytext;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>

<input type=button value="Показать множество" style="width:160" onClick="javascript:showArray(letterArray)"><br>
<input type=button value="Добавить элемент" style="width:140" onClick="javascript:addElement(letterArray)">
<input type=button value="Удалить элемент" style="width:140" onClick="javascript:deleteElement(letterArray)"><br>

<br>
<textarea name="text" rows=10 cols=32></textarea>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form61

Замена букв
 (см. выделенный в таблице текст)

(букву "а" на букву "о")

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function replaceChars(entry) {
out = "а"; // эту букву заменяем
add = "о"; //
       на эту букву
temp = "" + entry; // temporary holder

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.subform.text.value = temp;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="subform">
<input type=text name=text size=20 value="злая собака"><br>
<input type=button name=action value="заменить!" onClick="replaceChars(document.subform.text.value);">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form64

Замена пробела на знак "+"
Например, при вводе полного имени между словами остается пробел, что часто неприемлемо. А знак подчеркивания, которым обычно соединяет в одно слово название файла для Linux, никак не выделяет из общего массива текста имя, фамилию и отчество. Собственно, можно назначить любой другой символ вместо "+". См. комментарий в таблице.

Ваше полное имя:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Mike McGrath (mike_mcgrath@lineone.net) -->
<!-- Web Site:  http://website.lineone.net/~mike_mcgrath -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function convertSpaces(str) {
var out = "", flag = 0;
for (i = 0; i < str.length; i++) {
if (str.charAt(i) != " ") {
out += str.charAt(i);
flag = 0;
}
else {
if(flag == 0) {
out += "+";
      //Здесь можно
      заменить знак на любой другой, или даже
    на слово, а то и на целое предложение!
flag = 1;
}
}
}
return out;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
Ваше полное имя: <BR><input name=input type=text size=25 onBlur="this.value = convertSpaces(this.value);">
<input type=button value="Ok!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form13

Запрет на заполнение формы

(заполнить форму можно только при условии включения радио-кнопки "Согласен")

Впишите свое имя если Вы согласны с условиями

Согласен
Не согласен
Ваше имя:

(Не копируйте код из источника! На Ваших страницах он работать не будет!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

agree = 0; // 0 means 'no', 1 means 'yes'

// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
</font>
<form name=enableform>
<font color="#000000" size="3">Впишите свое имя если Вы
согласны с условиями<br>
<br>
<input type=radio name='enable' value='agree' onClick="agree=1; document.enableform.box.focus();">Согласен<br>
<input type=radio name='enable' value='disagree' onClick="agree=0; document.enableform.box.value='';">Не
согласен<br>

Ваше имя:</font>
<font size="4" color="#FF0000">

<input type=text name=box onFocus="if (!agree)this.blur();" onChange="if (!agree)this.value='';" size=12>
<br>
<br>
<input type=submit value="Применить!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form47

Заглавные буквы в каждом слове
(расстановка заглавных букв во всех введенных словах)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: William Humphreys (billy@technical-solutions.co.uk) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function changeCase(frmObj) {
var index;
var tmpStr;
var tmpChar;
var preString;
var postString;
var strlen;
tmpStr = frmObj.value.toLowerCase();
strLen = tmpStr.length;
if (strLen > 0) {
for (index = 0; index < strLen; index++) {
if (index == 0) {
tmpChar = tmpStr.substring(0,1).toUpperCase();
postString = tmpStr.substring(1,strLen);
tmpStr = tmpChar + postString;
}
else {
tmpChar = tmpStr.substring(index, index+1);
if (tmpChar == " " && index < (strLen-1)) {
tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
preString = tmpStr.substring(0, index+1);
postString = tmpStr.substring(index+2,strLen);
tmpStr = preString + tmpChar + postString;
}
}
}
}
frmObj.value = tmpStr;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>
<input type=text name=box size=30 value="евгений геннадьевич зиновьев"><BR>
<input type=button value="Конвертировать" onClick="javascript:changeCase(this.form.box)">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form33

Конвертирование в стандартный формат
(в данном случае речь идет о сумме долларов)

Введите цифру и нажмите кнопку:

или введите цифру здесь и кликните по другому полю формы:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=currencyform>
Введите цифру и нажмите кнопку: <input type=text name=input size=10 value="1000434.23">
<input type=button value="Convert" onclick="this.form.input.value=formatCurrency(this.form.input.value);">
<br><br>
или введите цифру здесь и кликните по другому полю формы: <input type=text name=input2 size=10 value="1000434.23" onBlur="this.value=formatCurrency(this.value);">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form15

Конвертирование прописных букв в заглавные

Впечатайте что-нибудь прописными буквами и нажмите кнопку "OK"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="capsform">
<input type="text" name="caps" size=40 value="" onChange="javascript:this.value =this.value.toUpperCase();">
<br>
<input type="button" value="Ok!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form14

Конвертирование заглавных букв в прописные

Впечатайте что-нибудь заглавными буквами и нажмите кнопку "OK"

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name="capsform">
<input type="text" name="caps" size=40 value="" onChange="javascript:this.value= this.value.toLowerCase();">
<br>
<input type="button" value="Ok!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form50

Ограничение количества вводимых знаков

Вы можете ввести до 125 букв, цифр или пробелов

осталось

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- Dynamic 'fix' by: Nannette Thacker -->
<!-- Web Site: http://www.shiningstar.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else
countfield.value = maxlimit - field.value.length;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=myform action="YOUR-SCRIPT.CGI">
<font size="1" face="arial, helvetica, sans-serif"> Вы можете ввести до 125 букв, цифр или пробелов<br>
<textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(this.form.message,this.form.remLen,125);" onKeyUp="textCounter(this.form.message,this.form.remLen,125);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="125"> осталось</font>
</form>
</center>

<!--Вы можете изменить отмеченную белым цифру--->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form3

Проверка количества введенных слов

(крайне полезный скрипт для вебмастеров, которые не хотят читать "Анну Каренину" в качестве описания квалификации, например, будущего сотрудника)

Опишите свою квалификацию (до 10 слов):

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при неверном количестве набранных слов, после предупреждения, набранные до этого слова сбрасываться не будут. В данном примере скрипт адаптирован для работы в компилированной программе и не будет работать корректно если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script>
<!--

/*Form words check script credit-Website Abstraction
*/

function checkwords(cur){
//change max # of words to determine below
var maxwords=10
if (document.images){
var temp=cur.words.value.split(" ")
if (temp.length>maxwords){
alert("Пожалуйста, сократите Ваше сообщение до 10 или менее слов!")
return false
}
}
}
//-->
</script>

</font>

<form onsubmit="return checkwords(this)">
<font color="#000000" size="3">Опишите Вашу квалификацию (до
       10
слов):</font>
<font size="4" color="#FF0000">
<br><textarea rows="5" cols="38" name="words"></textarea>
<br><input type="submit" value="Применить!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form62

Ввод в виде предложения (грамм.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function capsLc(){
if (navigator.appVersion.substring(0,1)=="2"){
navOld();
}
else navNew();
}
function navOld(){
txt=document.isn.caps.value+" ";
txt=txt.toLowerCase();
txtl="";
while ((txt.length>0)&&(txt.indexOf(" ")>-1)){
pos=txt.indexOf(" ");
wrd=txt.substring(0,pos);
cmp=" "+wrd+" ";
if (tst.indexOf(cmp)<0){
ltr=wrd.substring(0,1);
ltr=ltr.toUpperCase();
wrd=ltr+wrd.substring(1,wrd.length);
}
txtl+=wrd+" ";
txt=txt.substring((pos+1),txt.length);
}
ltr=txtl.substring(0,1);
ltr=ltr.toUpperCase();
txtl=ltr+txtl.substring(1,txtl.length-1);
document.isn.caps.value=txtl;
}
function navNew(){
txt=document.isn.caps.value+" ";
txt=txt.toLowerCase();
txtl="";
punc=",.?!:;)'";
punc+='"';
while ((txt.length>0)&&(txt.indexOf(" ")>-1)){
pos=txt.indexOf(" ");
wrd=txt.substring(0,pos);
wrdpre="";
if (punc.indexOf(wrd.substring(0,1))>-1){
wrdpre=wrd.substring(0,1);
wrd=wrd.substring(1,wrd.length);
}
cmp=" "+wrd+" ";
for (var i=0;i<9;i++){
p=wrd.indexOf(punc.substring(i,i+1));
if (p==wrd.length-1){
cmp=" "+wrd.substring(0,wrd.length-1)+" ";
i=9;
}
}
if (cmp.indexOf(cmp)<0){
ltr=wrd.substring(0,1);
ltr=ltr.toUpperCase();
wrd=ltr+wrd.substring(1,wrd.length);
}
txtl+=wrdpre+wrd+" ";
txt=txt.substring((pos+1),txt.length);
}
ltr=txtl.substring(0,1);
ltr=ltr.toUpperCase();
txtl=ltr+txtl.substring(1,txtl.length-1);
document.isn.caps.value=txtl;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="isn">
<CENTER>
<INPUT TYPE="text" NAME="caps" SIZE=40 VALUE="придает ВИд преДЛОжения любому ввОду">
<INPUT TYPE="button" NAME="html1" VALUE="Применить" onClick="capsLc()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form86

Копирование выделенного текста в поле формы
Выделите любой текст в одной из форм или где угодно на странице и посмотрите на поле формы "Вы выделили:" (поля формы не видно потому, что мне так захотелось... - удалите строку, выделенную белым цветом в таблице, и увидите свое любимое поле...)

или
Или Просто текст на странице
Вы выделили:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var text = "";
function getActiveText(e) {

// Sets text MSIE or Netscape active
// text based on browser, puts text in form
text = (document.all) ? document.selection.createRange().text : document.getSelection();

document.theform.text.value = text;
return true;
}

document.onmouseup = getActiveText;
if (!document.all) document.captureEvents(Event.MOUSEUP);
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<input type=text name=demo value="выделите меня!" size="20"> или <textarea rows="3" cols="20" name="doost">я хочу быть выделенным текстом! я в форме под названием textarea! скорее меня выделяй!</textarea>
<br>Или Просто текст на странице
<br>
<form name=theform>
Вы выделили текст: <input type=text name=text value="" size="35" readonly style="background-color: #C0C0C0; font-size: 12pt; font-family: Arial; color: #800000; font-weight: bold; border-style: solid; border-width: 0">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form91

Копирование из формы в форму в реальном времени

Напечатайте что-нибудь в верхнем поле. С задержкой (регулируется) в пол-секунды это же появится в нижнем поле:

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript">
focused = false;
function toggle() {
focused = !focused;
echo();
}

function echo() {
document.form.val2.value = document.form.val1.value;
if (focused == true)
setTimeout("echo()",500)
}
// -->
</script>
<form name="form">

Напечатайте что-нибудь в верхнем поле. С задержкой (регулируется) в пол-секунды это же появится в
 нижнем поле:<br><br>

<input type="text" size=40 name="val1" onFocus="toggle()" onBlur="toggle()"><br>
<input type="text" size=40 name="val2"><br><br>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form4

Ограничение количества вводимых символов

(крайне полезный скрипт для вебмастеров, которые не хотят читать Телефонную книгу в качестве описания адреса и телефона, например, будущего сотрудника)

Сообщите свой почтовый адрес и телефон (до 50 букв):

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при неверном количестве букв , после предупреждения, набранный до этого текст сбрасываться не будет. В данном примере скрипт адаптирован для работы в компилированной прграмме и не будет работать корректно если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--

/*Form Characters check script credit-Website Abstraction
*/

function checkchars(cur){
//change max length to determine below
var maxlength=150
if (cur.chars.value.length>maxlength){
alert("Пожалуйста, сократите сообщение до 150 букв!")
return false
}
}
//-->
</script>

</font>

<form onsubmit="return checkchars(this)">
<font size="1" face="Arial" color="#000000">Сообщите свой
почтовый адрес и телефон (до 150 букв):</font>
<font size="4" color="#FF0000">
<br><textarea rows="5" cols="30" name="chars"></textarea>
<br><input type="submit" value="Применить!">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form60

Конвертирование в HTML тэг

HTML тэг:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ascii King (chicorama@usa.net) -->
<!-- Web Site: http://www.geocities.com/enchantedforest/2120 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function ConvertBR(input) {
// Converts carriage returns
// to <BR> for display in HTML

var output = "";
for (var i = 0; i < input.length; i++) {
if ((input.charCodeAt(i) == 13) && (input.charCodeAt(i + 1) == 10)) {
i++;
output += "<BR>";
} else {
output += input.charAt(i);
}
}
return output;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<textarea name=message rows=8 cols=36>Напечатайте здесь что-нибудь.

Нажимайте изредка Enter для перехода

на другую строку. Это позволит Вам

увидеть предлагаемый эффект.
</textarea>
<p>
<input type=button value="конвертировать" onClick="this.form.output.value = ConvertBR(this.form.message.value);">
<p>
HTML тэг: <input type=text name=output size=40>
<p>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form57

Либо Имя, либо E-mail

Пожалуйста, введите либо Ваше имя, либо E-mail.
Имя |  | Email
 | или |

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkFields() {
namen = document.submitform.namen.value;
email = document.submitform.email.value;

if ((namen == "") && (email == "") ) {
alert("Пожалуйста, заполните одну из форм.\n ( либо \"Имя\", либо \"E-mail\" )");
return false;
}
else return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form action="http://www.ваш-веб-адрес-здесь.com/script.cgi" name=submitform onSubmit="return checkFields()">

Пожалуйста, введите либо Ваше имя, либо E-mail.<br>
<table border=0>
<tr>
<td align=center>Имя</td>
<td> </td>
<td align=center>Email</td>
</tr>
<tr>
<td align=center><input type=text name=namen value="" onFocus="document.submitform.email.value='';" size=10></td>
<td align=center>или</td>
<td align=center><input type=text name=email value="" onFocus="document.submitform.namen.value='';" size=10></td>
</tr>
<tr>
<td colspan=3 align=center><input type=Submit value="Отправить!"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


form93

Мигающее содержание формы (IE)
Поместите код, приведенный в таблице так, как указано в заглавии таблицы. Затем поместите строчку id="flashit" в любой тэг внутри формы. Теперь содедержание поля формы, текстового поля или название кнопки будут мигать . Цвет настраиваем (выделено в таблице). (Если быть более конкретным, то id="flashit" следует вставлять в такие тэги <input type=button id="flashit".... <textarea id="flashit".... и т.п.

Содержимое этой таблицы поместите прямо перед </BODY>

<script language="JavaScript1.2">

/*
Flashing form element Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all&&document.all.flashit){

var flashelement=document.all.flashit
if (flashelement.length==null)
flashelement[0]=document.all.flashit

function changecolor(which){
if (flashelement[which].style.color=='')
flashelement[which].style.color="red"
else
flashelement[which].style.color=""
}

if (flashelement.length==null)
setInterval("changecolor(0)",1000)
else
for (i=0;i<flashelement.length;i++){
var tempvariable='setInterval("changecolor('+i+')",'+'1000)'
eval(tempvariable)
}

}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form8

Неудаляемый текст
(нельзя удалить с помощью курсора и "backspace")

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=form>
<input type=text name=box value="Неудоляемый текст!" onFocus="this.blur()" size=18>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form44

Неудаляемый текст 2
(очень просто!)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=text value="Только чтение" size=25 readonly>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form56

Обязательное заполнение отдельной формы

( Не копируйте код из источника! На Ваших страницах он работать не будет.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function noEntry() {
mt=document.form.entry.value;
if ((mt.length<1)||(mt.substring(0,6)=="******")) {
alert("Извините, но эта форма "
+"должна быть заполнена"
+" перед Вашей регистрацией.");
document.form.entry.value="******Пожалуйста, заполните эту форму";
document.form.entry.focus();
return false;
}
else { return true; }
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="form" action="/cgi-bin/your-form-processor.pl" onsubmit="return noEntry()">
<center>
<input type="text" name="entry" size=40 onClick="Javascript:if(this.value='text')this.value=''"><br>
<input type="submit" name="button" value="submit">
</center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form35

Количество знаков после запятой.

(не забывайте, что использовать для разделения следует ТОЧКУ, а не запятую)

Введите цифру с двумя знаками после запятой (вместо запятой используется точка):

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkDecimals(fieldName, fieldValue) {

decallowed = 2; // Количество знаков после запятой (точки)

if (isNaN(fieldValue) || fieldValue == "") {
alert("Похоже, это вообще не цифра!. Может, попытаетесь еще раз?.");
fieldName.select();
fieldName.focus();
}
else {
if (fieldValue.indexOf('.') == -1) fieldValue += ".";
dectext = fieldValue.substring(fieldValue.indexOf('.')+1, fieldValue.length);

if (dectext.length > decallowed)
{
alert ("Хмм...Вас же просили ввести цифру с " + decallowed + " знаками после запятой!\n А Вы что ввели?!\n\nПопытайтесь еще разок!");
fieldName.select();
fieldName.focus();
}
else {
alert ("Цифра правильная.");
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Введите цифру с двумя знаками после запятой (вместо
запятой используется точка): <br>
<input type=text name=numbox>
<input type=button name=ok value="Ok" onClick="checkDecimals(this.form.numbox, this.form.numbox.value)">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form70

Ограничение времени
(на принятие решения?)

Осталось времени:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Sergio Mottura (sergio1@onebox.com) -->
<!-- Web Site: http://www.bassprotips.com -->
<!-- Modified: Benjamin Wright, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var i = 0;
var done = 0;
var totalSecs = 10;
function SecondPast() {
if(totalSecs != null) timerId = setTimeout("SecondPast()", 1000);
if(i < totalSecs) {
i += 1;
document.clock.seconds.value = totalSecs - i;
}
}
function doSub() {
if(i < totalSecs) {
done = true;
}
else {
alert("Извините, Ваше время истекло.");
done = false;
}
return done;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="SecondPast()">

<center>
<form name="clock" onsubmit="return doSub()">
Осталось времени:
<input type=text name="seconds" value="0" size=6>
<br>
<br>
<input type=textbox name="info" value="Тест на применение">
<input type=submit value="применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form66

"Одноразовая" отправка формы
Нередко посетитель нажимает на кнопку "отправить" или "применить" по нескольку раз, рассчитывая таким образом ускорить процесс. В результате от него приходит ровно столько копий формы, сколько раз он нажимал эту кнопку. Скрипт помогает решить эту проблему.

Вашу имя:
Ваш Email:
Комментарий

[Нажмите на кнопку дважды или более, чтобы посмотреть работу скрипта]

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var submitcount=0;

function reset() {
document.emailform.name.value="";
document.emailform.email.value="";
document.emailform.comments.value="";
}

function checkFields() { // field validation -
if ( (document.emailform.name.value=="") || // checks if fields are blank.
(document.emailform.email.value=="") || // More validation scripts at
(document.emailform.comments.value=="") ) // forms.javascriptsource.com
{
alert("Пожалуйста, заполните поля \"Имя\", \"E-mail\" и \"Комментарий\".\nЗатем нажмите кнопку \"Отправить форму\" еще раз.");
return false;
}

else
{
if (submitcount == 0)
{
submitcount++;
return true;
}
else
{
alert("Эта форма уже отправлена. Спасибо!");
return false;
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body OnLoad="reset()">

<center>
<form method=post action="http://cgi.freedback.com/mail.pl" name="emailform" onSubmit="return checkFields()">
<input type=hidden name=to value="you@your-website-address-here.com">
<input type=hidden name=subject value="Feedback Form">
Вашу имя: <input type=text name="name"><BR>
Ваш Email: <input type=text name="email"><BR>
Комментарий<BR>
<textarea name="comments" wrap="virtual" rows="7" cols="35"></Textarea><BR>
<input type=submit value="Отправить форму"><BR>
[Нажмите на кнопку дважды или более, чтобы посмотреть работу скрипта]
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form1

Очистка формы от комментария при клике
(в данном примере используется скрипт "Цвет фона, вводимый посетителем", см. раздел "Эффекты с цветом и фоном")

Для впечатывания цвета Вам придется кликнуть по полю формы. Имеющийся там текст тут же исчезнет.

Изменение цвета фона

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>

/*
Clear default form value script- By Ada Shimar (ada@chalktv.com)
Featured on Website Abstraction (http://wsabstract.com)
*/

function clearText(thefield){
if (thefield.defaultValue== thefield.value)
thefield.value = ""
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>
ЭТО ПРИМЕР! НЕОБХОДИМЫЙ ТЭГ ВЫДЕЛЕН БЕЛЫМ ЦВЕТОМ

<FORM>
<B>
<font size="4" color="#FFFF00">
Изменение цвета фона
</font>
<font size="4" color="#FF0000">
<BR>
<input type="text" name="text" value="Впечатайте название цвета" onFocus="clearText(this)" size="26">
<input type="button" name="button" value="Изменить!" onClick="test(this.form)">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form28

Очистка формы от комментария (текста по-умолчанию) при клике (2)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<Form>
<input type=text name=Clean value="Кликните по этому тексту" size=25 onFocus="Javascript:if(this.value='text')this.value=''">
</Form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form19

Проверка полноты заполнения формы

Имя
*
E-mail
*
*
Комментарий
*

(Не копируйте код из источника! Он не будет работать на Ваших страницах.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: wsabstract.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkrequired(which) {
var pass=true;
if (document.images) {
for (i=0;i<which.length;i++) {
var tempobj=which.elements[i];
if (tempobj.name.substring(0,8)=="required") {
if (((tempobj.type=="text"||tempobj.type=="textarea")&&
tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
tempobj.selectedIndex==0)) {
pass=false;
break;
}
}
}
}
if (!pass) {
shortFieldName=tempobj.name.substring(8,30).toUpperCase();
alert("Вы не заполнили поле "+shortFieldName+".");
return false;
}
else
return true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form onsubmit="return checkrequired(this)"><BR>Имя<BR>
<input type="text" name="requiredname">*<BR>E-mail
<br>
<input type="text" name="requiredemail">*
<br>
<select name="requiredhobby">*
<option selected>Ваше хобби
<option>1
<option>2
<option>3
</select>*<BR>Комментарий
<br>
<textarea name="requiredcomments" rows="1" cols="20"></textarea>*
<br>
<input type="submit" value="Применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form10

Проверка полноты и правильности заполнения формы

(в случае незаполнения или некорректного заполнения одного или более полей появляется Alert dialog box с соответствующим комментарием)

Имя:

Email адрес:

URL:

Описание заказа:

Следует иметь ввиду. В реальном HTML документе эта форма будет работать по-другому. Например, при неверном наборе URL, после предупреждения, остальные поля сбрасываться не будут. Кнопка "Сброс" будет работать также и с Вашим набранным текстом, а не только с примером. В данном случае скрипт адаптирован для работы с компилированной программой и будет некорректно работать на Вашей странице, если Вы скопируете его из источника.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
// This script was found at the JavaScript Place. http://www.javaplace.co.uk
function validate_form() {
validity = true; // assume valid
if (!check_empty(document. form.NAME.value))
{ validity = false; alert('Не заполнено поле Имя!'); }
if (!check_email(document. form.EMAIL.value))
{ validity = false; alert('Некорректный email!'); }
if (!check_url(document.form.URL.value))
{ validity = false; alert('Некорректный URL!'); }
if (!check_empty(document. form.DESCRIPTION.value))
{ validity = false; alert('Отсутствует описание!'); }
if (validity)
alert ("Needed entries have been verified. "
+ "Your form is now being passed to your browser's "
+ "Mail Delivery Sub-System.");
return validity;
}

function check_empty(text) {
return (text.length > 0); // returns false if empty
}

function check_email(address) {
if ((address == "")
|| (address.indexOf ('@') == -1)
|| (address.indexOf ('.') == -1))
return false;
return true;
}

function check_url(address) {
if ((address == "")
|| (address.indexOf ('http://') == -1)
|| (address.indexOf ('.') == -1))
return false;
return true;
}
// -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center"><font color="#000000" size="2">
<form name="form" method="post" action="YOUR EMAIL ADDRESS ?SUBJECT=YOUR SUBJECT"
enctype="text/plain" onSubmit="return validate_form()">
Имя:<br><input type="text" size=50 name="NAME"><br>
Email адрес:<br><input type="text" size=50 name="EMAIL"><br>
URL:<br><input type="text" size=50 name="URL"><br>
Описание заказа:<br><TEXTAREA NAME="DESCRIPTION" ROWS=8 COLS=50 wrap=virtual></TEXTAREA><br>
<input type="submit" name="submit" value="Отправить"> <input type="reset" value="Сброс"></form>
</Font>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form41

Полнота и правильность заполнение формы (2)
Замените названия на нужные Вам . Несложно также разобраться и с кодом - где буквы, где цифры, а где их количество для каждой из форм. Ознакомьтесь с выделенным зеленым цветом текстом, отредактируйте то, что выделено белым (там только цифры) и поменяйте текст, который находится в нижней таблице. Полагаю, перевод с английского языка названий для этих форм не потребуется, тем более, что эти названия все равно будут удалены.

apple:
Required
peach:
Required - minimum 4 characters
cherry:
Required - maximum 8 characters
melon:
Required - minimum 4 characters - maximum 8 characters
banana:
Required - Must be a numeric character
grape:
Required - Must be a numeric character - minimum 3 digits
carot:
Required - Must be a numeric character - maximum 6 digits
sugar:
Required - Must be a numeric character - minimum 4 digits - maximum 6 digits
fruit:
Required - Valid e-mail
candy:
Not required

(Не копируйте коды из источника!!! Они не будут работать на Ваших страницах.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
// Generic Form Validation
// Jacob Hage (jacob@hage.dk)
var checkObjects = new Array();
var errors = "";
var returnVal = false;
var language = new Array();
language["header"] = "The following error(s) occured:"
language["start"] = "->";
language["field"] = " Field ";
language["require"] = " is required";
language["min"] = " and must consist of at least ";
language["max"] = " and must not contain more than ";
language["minmax"] = " and no more than ";
language["chars"] = " characters";
language["num"] = " and must contain a number";
language["email"] = " must contain a valid e-mail address";
// -----------------------------------------------------------------------------
// define - Call this function in the beginning of the page. I.e. onLoad.
// n = name of the input field (Required)
// type= string, num, email (Required)
// min = the value must have at least [min] characters (Optional)
// max = the value must have maximum [max] characters (Optional)
// d = (Optional)
// -----------------------------------------------------------------------------
function define(n, type, HTMLname, min, max, d) {
var p;
var i;
var x;
if (!d) d = document;
if ((p=n.indexOf("?"))>0&&parent.frames.length) {
d = parent.frames[n.substring(p+1)].document;
n = n.substring(0,p);
}
if (!(x = d[n]) && d.all) x = d.all[n];
for (i = 0; !x && i < d.forms.length; i++) {
x = d.forms[i][n];
}
for (i = 0; !x && d.layers && i < d.layers.length; i++) {
x = define(n, type, HTMLname, min, max, d.layers[i].document);
return x;
}
eval("V_"+n+" = new formResult(x, type, HTMLname, min, max);");
checkObjects[eval(checkObjects.length)] = eval("V_"+n);
}
function formResult(form, type, HTMLname, min, max) {
this.form = form;
this.type = type;
this.HTMLname = HTMLname;
this.min = min;
this.max = max;
}
function validate() {
if (checkObjects.length > 0) {
errorObject = "";
for (i = 0; i < checkObjects.length; i++) {
validateObject = new Object();
validateObject.form = checkObjects[i].form;
validateObject.HTMLname = checkObjects[i].HTMLname;
validateObject.val = checkObjects[i].form.value;
validateObject.len = checkObjects[i].form.value.length;
validateObject.min = checkObjects[i].min;
validateObject.max = checkObjects[i].max;
validateObject.type = checkObjects[i].type;
if (validateObject.type == "num" || validateObject.type == "string") {
if ((validateObject.type == "num" && validateObject.len <= 0) || (validateObject.type == "num" && isNaN(validateObject.val))) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['num'] + "\n";
} else if (validateObject.min && validateObject.max && (validateObject.len < validateObject.min || validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['minmax'] + validateObject.max+language['chars'] + "\n";
} else if (validateObject.min && !validateObject.max && (validateObject.len < validateObject.min)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['min'] + validateObject.min + language['chars'] + "\n";
} else if (validateObject.max && !validateObject.min &&(validateObject.len > validateObject.max)) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + language['max'] + validateObject.max + language['chars'] + "\n";
} else if (!validateObject.min && !validateObject.max && validateObject.len <= 0) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['require'] + "\n";
}
} else if(validateObject.type == "email") {
// Checking existense of "@" and ".".
// Length of must >= 5 and the "." must
// not directly precede or follow the "@"
if ((validateObject.val.indexOf("@") == -1) || (validateObject.val.charAt(0) == ".") || (validateObject.val.charAt(0) == "@") || (validateObject.len < 6) || (validateObject.val.indexOf(".") == -1) || (validateObject.val.charAt(validateObject.val.indexOf("@")+1) == ".") || (validateObject.val.charAt(validateObject.val.indexOf("@")-1) == ".")) { errors += language['start'] + language['field'] + validateObject.HTMLname + language['email'] + "\n"; }
}
}
}
if (errors) {
alert(language["header"].concat("\n" + errors));
errors = "";
returnVal = false;
} else {
returnVal = true;
}
}
//--------->
<!-- Original: Jacob Hage (jacob@hage.dk) -->
<!-- Web Site: http://www.hagedesign.dk -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function init() {
define('field1', 'string', 'Apple');
define('field2', 'string', 'Peach', 4);
define('field3', 'string', 'Cherry', null, 8);
define('field4', 'string', 'Melon', 4, 8);
define('field5', 'num', 'Banana');
define('field6', 'num', 'Grape', 3);
define('field7', 'num', 'Carot', null, 6);
define('field8', 'num', 'Sugar', 4, 6);
define('field9', 'email', 'Fruit');
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table><tr><td>
<form name=testForm>
apple:<br><input type=text name=field1 size=16> Required<br>
peach:<br><input type=text name=field2 size=16> Required - minimum 4 characters<br>
cherry:<br><input type=text name=field3 size=16> Required - maximum 8 characters<br>
melon:<br><input type=text name=field4 size=16> Required - minimum 4 characters - maximum 8 characters<br>
banana:<br><input type=text name=field5 size=16> Required - Must be a numeric character<br>
grape:<br><input type=text name=field6 size=16> Required - Must be a numeric character - minimum 3 digits<br>
carot:<br><input type=text name=field7 size=16> Required - Must be a numeric character - maximum 6 digits<br>
sugar:<br><input type=text name=field8 size=16> Required - Must be a numeric character - minimum 4 digits - maximum 6 digits<br>
fruit:<br><input type=text name=field9 size=16> Required - Valid e-mail<br>
candy:<br><input type=text name=field10 size=16> Not required<br>
<br>
<input type=submit name=submit onClick="validate();return returnVal;" value="Проверить заполнение">
</form>
</td></tr></table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form37

Пользовательская установка количества форм

Количество вводимых URLs:

Имя:
Комментарий:

(Не копируйте коды из источника!!! Они не будут работать на Ваших страницах)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Peter Hermus -->
<!-- Web Site: http://come.to/speedpete -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function createForm(number) {
data = "";
inter = "'";
if (number < 21 && number > -1) {
for (i=1; i <= number; i++) {
if (i < 10) spaces=" ";
else spaces=" ";
data = data + "URL " + i + " :" + spaces
+ "<input type='text' size=10 name=" + inter
+ "url" + i + inter + "'><br>";
}
if (document.layers) {
document.layers.cust.document.write(data);
document.layers.cust.document.close();
}
else {
if (document.all) {
cust.innerHTML = data;
}
}
}
else {
window.alert("Пожалуйста, выберите до 20 URLs.");
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=counter>
Количество вводимых URLs:
<input type=text name=number size=5>
<input type=button value="Обновить" onClick="createForm(counter.number.value);">
</form>

<br>

<form name="webform">
<table border=0>
<tr valign=top>
<td>Имя:</td>
<td><input type=text size=20 name=name onChange="msg(this.form)"></td>
</tr>

<tr><td colspan=2>

<!-- Placeholder for dynamic form contents -->
<span id=cust style="position:relative;"></span>

</td>
</tr>

<tr valign=top>
<td>Комментарий:</td>
<td><textarea name=comments cols=45 rows=5 wrap=virtual OnChange="msg(this.form)">
</textarea></td>
</tr>
<tr>
<td></td>
<td><input type=submit value="Отправить"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form43

Подсчет расходов

Пример 1
Бифштекс  $15.25
Цыпленок  $12.39
Суши      $18.75

        Ваш счет:

Пример 2
Чай       $  .50
Кола      $  .79
Кофе      $ 1.75

        Ваш счет:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Paul Brino (irandd@aol.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkChoice(whichbox) {
with (whichbox.form) {
if (whichbox.checked == false)
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
else
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
return(formatCurrency(hiddentotal.value));
}
}
function formatCurrency(num) {
<!-- Function courtesy of: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
return ("$" + num + "." + cents);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table bgcolor="#D8D8D8">
<tr>
<td>
<form name=myform>
<pre>
<b>Пример 1</b>
Бифштекс $15.25 <input type=checkbox name=Steak value="15.25" onClick="this.form.total.value=checkChoice(this);">
Цыпленок $12.39 <input type=checkbox name=Chicken value="12.39" onClick="this.form.total.value=checkChoice(this);">
Суши $18.75 <input type=checkbox name=Sushi value="18.75" onClick="this.form.total.value=checkChoice(this);">

Ваш счет: <input type="text" name="total" value="" size=6 readonly><input type=hidden name=hiddentotal value=0>
</pre>
</form>

<hr width="100%" noshsde>
<form name=myform2>
<pre>
<b>Пример 2</b>
Чай $ .50 <input type=checkbox name=Tea value=".50" onClick="this.form.total.value=checkChoice(this);">
Кола $ .79 <input type=checkbox name=Cola value=".79" onClick="this.form.total.value=checkChoice(this);">
Кофе $ 1.75 <input type=checkbox name=Coffee value="1.75" onClick="this.form.total.value=checkChoice(this);">

Ваш счет: <input type="text" name="total" value="" size=6 readonly><input type=hidden name=hiddentotal value=0>
</pre>
</form>

</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form58

Подсчет расходов 2
(по количеству товара)

Пример 1
Бифштекс  $15.25
Цыпленок  $12.39
Суши      $18.75

Ваш счет:

Пример 2
Чай    $  .50
Кола   $  .79
Кофе   $ 1.75

Ваш счет:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Paul DeBrino (irandd@aol.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkChoice(whichbox) {
with (whichbox.form) {
if (isNaN(whichbox.value)) {
whichbox.value = whichbox.priorval;
whichbox.focus();
}
whichbox.value = Math.abs(whichbox.value);
var dec = whichbox.value.indexOf('.', 1)
if (dec > 0) {
alert('No decimal places allowed for \"' +whichbox.name +'\" !');
whichbox.value = whichbox.priorval;
whichbox.focus();
}
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.price * whichbox.priorval);
whichbox.priorval = whichbox.value;
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price * whichbox.value);
return(formatCurrency(hiddentotal.value));
}
}
function formatCurrency(num) {
<!-- Function courtesy of: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num * 100 + 0.5) % 100);
num = Math.floor((num * 100 + 0.5) / 100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
num = num.substring(0,num.length - (4 * i + 3))+','+num.substring(num.length-(4 * i + 3));
return ("$" + num + "." + cents);
}
function InitForm() {
document.myform.total.value = '$0';
document.myform.hiddentotal.value = 0;
for (xx = 0; xx < document.myform.elements.length; xx++) {
if (document.myform.elements[xx].type == 'text') {
document.myform.elements[xx].value = 0;
}
}
for (xx=0; xx < document.myform2.elements.length; xx++) {
if (document.myform2.elements[xx].type == 'text') {
document.myform2.elements[xx].value = 0;
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="InitForm()">

<center>
<table bgcolor="#CCCCCC">
<tr>
<td>
<form name=myform>
<pre>
<b>Пример 1</b>
Бифштекс $15.25 <input type=text name=Steak size=3 value=0 priorval=0 price="15.25" onChange="this.form.total.value=checkChoice(this);">
Цыпленок $12.39 <input type=text name=Chicken size=3 value=0 priorval=0 price="12.39" onChange="this.form.total.value=checkChoice(this);">
Суши $18.75 <input type=text name=Sushi size=3 value=0 priorval=0 price="18.75" onChange="this.form.total.value=checkChoice(this);">

Ваш счет: <input type="text" name="total" value="" size=8 readonly><input type=hidden name=hiddentotal value=0>
</pre>
</form>
<hr width="100%" noshsde>
<form name=myform2>
<pre>
<b>Пример 2</b>
Чай $ .50 <input type=text name=Tea size=3 value=0 priorval=0 price=".50" onChange="this.form.total.value=checkChoice(this);">
Кола $ .79 <input type=text name=Cola size=3 value=0 priorval=0 price=".79" onChange="this.form.total.value=checkChoice(this);">
Кофе $ 1.75 <input type=text name=Coffee size=3 value=0 priorval=0 price="1.75" onChange="this.form.total.value=checkChoice(this);">

Ваш счет: <input type="text" name="total" value="" size=8 readonly><input type=hidden name=hiddentotal value=0>
</pre>
</form>
</td>
</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form59

Подсчет расходов 3

Бифштекс $15.25 Цыпленок $12.39 Суши $18.75

Приготовить со следующими специями (выберите не более одной)::
Нет, спасибо Утиный соус $10.99 Имбирьный соус $5.00 Острый соус $1.50

Ваш счет:

(Note: Общая сумма не может быть изменена пользователем.)

Жареная свинья $10.00 Жареная крыса $17.49 Жареный кот $3.50

Приготовить со следующими специями (выберите не более одной):
Нет, спасибо. Жидкий азот $17.50 Оружейный порох $8.50 Водка $4.00

Ваш счет:

(Note: Общая сумма не может быть изменена пользователем.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Paul DeBrino (irandd@aol.com) -->
<!-- Web Site: http://members.aol.com/irandd/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
//Define function to manipulate the form total per item selected/deselected:
function CheckChoice(whichbox) {
with (whichbox.form) {
//Handle differently, depending on type of input box.
if (whichbox.type == "radio") {
//First, back out the prior radio selection's price from the total:
hiddentotal.value = eval(hiddentotal.value) - eval(hiddenpriorradio.value);
//Then, save the current radio selection's price:
hiddenpriorradio.value = eval(whichbox.price);
//Now, apply the current radio selection's price to the total:
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.price);
}
else {
//If box was checked, accumulate the checkbox value as the form total,
//Otherwise, reduce the form total by the checkbox value:
if (whichbox.checked == false) {
hiddentotal.value = eval(hiddentotal.value) - eval(whichbox.value);
}
else {
hiddentotal.value = eval(hiddentotal.value) + eval(whichbox.value);
}
}
//Ensure the total never goes negative (some browsers allow radiobutton to be deselected):
if (hiddentotal.value < 0) {
InitForm();
}
//Now, return with formatted total:
return(formatCurrency(hiddentotal.value));
}
}
//Define function to format a value as currency:
function formatCurrency(num) {
<!-- Function courtesy of: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)) num = "0";
cents = Math.floor((num*100+0.5)%100);
num = Math.floor((num*100+0.5)/100).toString();
if(cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
return ("$" + num + "." + cents);
}
//Define function to init the form on reload:
function InitForm() {
//Reset the displayed total on form:
document.myform.total.value='$0';
document.myform.hiddentotal.value=0;
document.myform.hiddenpriorradio.value=0;
document.myform2.total.value='$0';
document.myform2.hiddentotal.value=0;
document.myform2.hiddenpriorradio.value=0;
document.myform2.hiddenpriorradio.value=0;
//Set all checkboxes and radio buttons on form-1 to unchecked:
for (xx=0; xx < document.myform.elements.length; xx++) {
if (document.myform.elements[xx].type == 'checkbox' | document.myform.elements[xx].type == 'radio') {
document.myform.elements[xx].checked = false;
}
}
//Set all checkboxes and radio buttons on form-2 to unchecked:
for (xx=0; xx < document.myform2.elements.length; xx++) {
if (document.myform2.elements[xx].type == 'checkbox' | document.myform2.elements[xx].type == 'radio') {
document.myform2.elements[xx].checked = false;
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="InitForm();" onreset="InitForm();">

<form method=POST name=myform>
Бифштекс $15.25
<input type=checkbox name=Steak value=15.25 onClick="this.form.total.value=CheckChoice(this);">
Цыпленок $12.39
<input type=checkbox name=Chicken value=12.39 onClick="this.form.total.value=CheckChoice(this);">
Суши $18.75
<input type=checkbox name=Sushi value=18.75 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<b>Приготовить со следующими специями (выберите не более одной)::</b>
<br>
Нет, спасибо
<input type=radio name=Sauce value=none price=0.00 onClick="this.form.total.value=CheckChoice(this);">
Утиный соус $10.99
<input type=radio name=Sauce value=duck price=10.99 onClick="this.form.total.value=CheckChoice(this);">
Имбирьный соус $5.00
<input type=radio name=Sauce value=ginger price=5.00 onClick="this.form.total.value=CheckChoice(this);">
Острый соус $1.50
<input type=radio name=Sauce value=hot price=1.50 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<br>
<input type=hidden name=hiddentotal value=0>
<input type=hidden name=hiddenpriorradio value=0>
Ваш счет: <input type=text name=total readonly>
<br>
<br>
(Note: Общая сумма не может быть изменена пользователем.)
</font>
</form>
<hr width=100% noshade>
<form method=POST name=myform2>
<p align="center">
Жареная свинья $10.00
<input type=checkbox name=Pig value=10.00 onClick="this.form.total.value=CheckChoice(this);">
Жареная крыса $17.49
<input type=checkbox name=Rat value=17.49 onClick="this.form.total.value=CheckChoice(this);">
Жареный кот $3.50
<input type=checkbox name=Cat value=3.50 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<b>Приготовить со следующими специями (выберите не более одной):</b>
<br>
Нет, спасибо.
<input type=radio name=Season value=none price=0.00 onClick="this.form.total.value=CheckChoice(this);">
Жидкий азот $17.50
<input type=radio name=Season value=nitrogen price=17.50 onClick="this.form.total.value=CheckChoice(this);">
Оружейный порох $8.50
<input type=radio name=Season value=gunpowder price=8.50 onClick="this.form.total.value=CheckChoice(this);">
Водка $4.00
<input type=radio name=Season value=vodka price=4.00 onClick="this.form.total.value=CheckChoice(this);">
<br>
<br>
<br>
<input type=hidden name=hiddentotal value=0>
<input type=hidden name=hiddenpriorradio value=0>
Ваш счет: <input type=text name=total readonly>
<br>
<br>
(Note: Общая сумма не может быть изменена пользователем.)
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form69

Построчный вывод в форме
(с использованием клавиш "Up" и "Down")

Поставьте курсор в поле формы и,
используя клавиши "Up" и "Down",
"прокрутитете" содержание.
(Пользователи Netscape смогут использовать только клавишу "Down")

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: James Gough (wheresjim@hotmail.com) -->
<!-- Web Site: http://www.esprinkles.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var listOpt = new Array("", "Надеюсь,", "Вам", "нравится", "работать", "с", "JS Library");
var Ex = false;
var Net = false;
var app = navigator.appName.substring(0,1);
if (app == 'N') Net = true;
else Ex = true;
document.onkeyup = keyUp;
if (Net) document.captureEvents(Event.KEYUP);
function keyUp(ev) {
if (Net) {
var source = ev.target.name;
if(source) {
if(ev.which == 0 && source == "target_box") cycleUp(source);
}
}
else if (Ex) {
var source = window.event.srcElement.name;
if(source) {
if(window.event.keyCode == 40 && source == "target_box") cycleUp(source);
if(window.event.keyCode == 38 && source == "target_box") cycleDown(source);
}
}
}
var arrayIndex = 0;
function cycleUp(source) {
arrayIndex++;
if(arrayIndex > listOpt.length-1) arrayIndex = 0;
var change_box = eval("document.cycleForm." + source);
change_box.value = listOpt[arrayIndex];
}
function cycleDown(source) {
arrayIndex--;
if(arrayIndex < 0) arrayIndex = listOpt.length - 1;
var change_box = eval("document.cycleForm." + source);
change_box.value = listOpt[arrayIndex];
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="cycleForm">
<input name="target_box" value="" size="25">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form11

Прикольный отзыв
(не обращает внимание на вводимый текст, помещая взамен заготовленные фразы)

(напечатайте что-нибудь и не один раз...)

Напишите Ваш отзыв:

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <SCRIPT>

/*
By Michael Dillon  drevil_nz@hotmail.com
Featured on Website Abstraction (http://wsabstract.com)
*/

var val=""
var counter="0"
themessage=new Array()
themessage[0]="Дорогой автор! Как бы мне хотелось остаться с Вами наедине! Моим фантазиям нет предела... Вы женитесь на мне?"
themessage[1]="Ну, автор! Ты и урод! Обалдел совсем со своим хелпом! Хоть бы фотку голой телки заодно скомпилировал! Найду - убью!"
//Введите здесь свои фразы. Количество неограничено, только не забывайте присваивать очередной номер для themessage[х]
x=Math.floor (Math.random()*themessage.length)

function changer(){
if(counter>=themessage[x].length){return false}
else{
val+=themessage[x].charAt(counter)
document.myform.mytext.value=val
counter++
return false
}
}
function resetit(){
alert("Спасибо за отзыв. Вы, просто, милашка.")
document.myform.mytext.value=""
counter="0"
val=""
x=Math.floor(Math.random()*themessage.length)
}

</SCRIPT>

<DIV align=left>
<TABLE height=182 cellSpacing=0 cellPadding=0 width=542 border=0>
<TBODY>
<TR>
<TD vAlign=top width=542 height=182><FONT face=Arial>
<FORM name=myform>
<P><SMALL>Напишите Ваш отзыв:</SMALL></FONT></P>
<P><FONT face=Arial><TEXTAREA onkeypress="return changer()" name=mytext rows=10 wrap=virtual cols=40></TEXTAREA><BR><BR>
 <INPUT onclick=resetit() type=button value= "Отправить отзыв"></FONT></P></FORM></TD>
 </TR></TBODY></TABLE>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form22

Проверка имени файла на пробелы
На большинстве серверов имена файлов с пробелами не разрешены. Можно так же просто скопировать в форму неопределенной длины строку и проверить ее на наличие пробелов

(Не копируйте коды из источника! На Ваших страницах они не будут работать.)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function validate(){
var invalid = " "; // Invalid character is a space

if (document.submitform.filename.value.indexOf(invalid) > -1) {
alert("Извините, пробелы не разрешины.");
return false;
}
else {
return true;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=submitform onSubmit="return validate()">
<input type=file name=filename>
<p>
<input type=submit value="Submit">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form31

Простой способ применения NAME как User ID
Конечно, использование скрипта не может быть ограничено функцией указанной в названии. Мало того, есть возможность получения того же эффекта другим способом. Это просто вариант.

Name:
User ID:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=userform>
Name: <input type=text name=name size=15 value="" onChange="this.form.userid.value=this.value;"><br>
User ID: <input type=text name=userid size=15 value="" onChange="this.value=this.form.name.value;">
<p>
<input type=button name=action value="Done!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form36

Реальное отключение кнопок
Само отключение кнопок с изменением их внешнего вида будет видно только для пользователей IE 4+. У пользователей NS6 никаких изменений происходить не будет и они вполне смогут нажать на кнопку не однажды.

Имя:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Web Site: http://dynamicdrive.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset")
tempobj.disabled = true;
}
setTimeout('alert("Ваша форма бала отправлена. Заметьте, что кнопки стали отключенными.")', 2000);
return true;
}
else {
alert("Ваша форма бала отправлена. Но так как Вы используете IE 4+ или NS 6, кнопки отключены не были.");
return false;
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form onSubmit="return disableForm(this);">
Имя: <input type=text name=person>
<input type=submit><input type=reset>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form27

Разделительная запятая для цифры

Введите цифру:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mark Henwood (mark_henwood@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function commaSplit(srcNumber) {
var txtNumber = '' + srcNumber;
if (isNaN(txtNumber) || txtNumber == "") {
alert("Хмм... Это мало похоже на цифру!\n Может, попытаетесь еще раз?");

}
else {
var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
var arrNumber = txtNumber.split('.');
arrNumber[0] += '.';
do {
arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
} while (rxSplit.test(arrNumber[0]));
if (arrNumber.length > 1) {
return arrNumber.join('');
}
else {
return arrNumber[0].split('.')[0];
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="commas">
Введите цифру:
<input type=text name="inpNumber" size=20 value="">
<input type=button value="Добавить разделение" onClick="document.commas.inpNumber.value=commaSplit(document.commas.inpNumber.value);">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form79

Разрешение на ввод только определенных букв, цифр, символов и знаков
(в данном примере разрешены буквы английского алфавита и цифры; замените их на любые другие в выделенной белым строке)

(Не копируйте код из источника! Он не будет работать на Ваших страницах)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function validate(field) {
var valid = "abcdefghijklmnopqrstuvwxyz0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("Неверный ввод! Возможны только буквы и цифры!");
field.focus();
field.select();
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form onsubmit="your-web-site-address-here.com/script.cgi">
<input type=text name="entry" onBlur="validate(this)">
<br>
<input type=submit value="Submit Form">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form90

Расстояние между городами Мира
(см. также раздел "Математика")

Расстояние между городами мира
От города

Мили Километры

До города

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
var l=0;
var r=0;
var tc="";
var al=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
var ns="0123456789";
function iA(){
this.length=iA.arguments.length;
for (var i=0;i<this.length;i++){
this[i]=iA.arguments[i];
}
}
/* 3011 byte database of air distances uses position in the
string "al" to substitute for the numerics, saving a bit
over 4k download to visitors. */
var a=new iA(35);
a[0]="Berlin, Germany* ciagchdcheihh dadeee gcaa hdef egeghfaci"
+"ibf da cifdcd ebehe eddegagecehadhfaa gcgh e debbfageedkbgdca";
a[1]="Bombay, India* ibga deacde dhabfgh bbiifhgddfhg caefa igb"
+"cacggiei dacigddcfbifbffgcgeaihbfchdj dggdcacbdcdaigfhbhf";
a[2]="Buenos Aires, Argentina* jbddbgiaceifkdfgefgegggffibfabk "
+"dgbcdfchchec hhegfacchfhhkiggcfefhga abbfic gffialb ihfkd fbffdb";
a[3]="Calcutta, India* f ccgdeebaecg dcfefccdiehaebaieeeie cdeg"
+"ibebgddfjaadhib bceagdhedaichde jiigbbbaaagicaig dchf";
a[4]="Capetown, South Africa* fiee hgcgkecebbjccf aiiggecfdahea"
+"fbigh jaafdig aehdh edeighfgaacggebee jb h ff bi gg bbce";
a[5]="Darwin, Australia* ibgbfdecfgcigaahf ghdaihaifi hg eiiffb"
+"dh bjcehehcgcgafigbhfciifhaihifgfbcadb hccgccafda";
a[6]="Gibraltar* fhch hahgebga ieidgdhjh efcbdacfced agidic iff"
+" abahcchb edgha cfdaedfffegbcfiil fda ";
a[7]="Hong Kong, China* eeddihefceihgbd fidfahghdddh edeeecdj h"
+"eifabcdihgfef ck eggkfafdg ggafeah eheeda";
a[8]="Honolulu, Hawaii, USA* ha bhbgbcbefec eeacghg cdifc fghe"
+"begdce ghgde f hhaih bfgibfhdicfgachedgajhg";
a[9]="Istanbul, Turkey* ee aeefhdeffi iga a ie aea aebfgead dch"
+" fidfdbeffd hehagf fdifecgeefjffcca";
a[10]="Juneau, Alaska, USA* ddbahdehgh dcbbdecbhea id eddfdfcde"
+"bfbbbffcbggf ebegbg i dhggbdd agdhhh ";
a[11]="London, England, UK* eddffgje eedaeecdfdch gaebh bae eba"
+"eca aagegg higbfdghegafgdeidkfhdf ";
a[12]="Los Angeles, California, USA* gbggicaedf gbdebhheccc ef"
+" fbegecbehdcafc fcceec iffdhhggedgfgaj b";
a[13]="Manilla, Luzon, Phillipines* cidhhceachdidhbf bjbhffgagg"
+"efbhabffekbefdfjicffdaaeadhahfeafegf";
a[14]="Melbourne, Australia* hdbhifjcfgefiici bjd efghffje jedh"
+"aiiicg haie acgfe iaf fh ";
a[15]="Mexico City, Mexico* ffib idcaegaae egaggcgfgbdedfbdggfc"
+"ed ebcdh djcag dfi idh";
a[16]="Moscow, Russia* dffd da bfgaaedcf agadbdb fgb adghgieb d"
+"bdebddfejbhdbg";
a[17]="New York City, New York, USA* cggcfgbbccfbfhbeei ddbehdh"
+"bdbge ibdagcfifcfgdhiegg ";
a[18]="Nome, Alaska, USA* chdeeddegcdcegecdiccgheie hhcfaihcghf"
+"aebihgchhba";
a[19]="Oslo, Norway* efi hcdcfbbacbfa hfdhabdgiadeie bfbeebbjig"
+"dh ";
a[20]="Panama City, Panama* echhiagaebffdgacbiei bidcfeicbkfihd"
+"bgdchbe";
a[21]="Paris, France* ea aihcbdacheg fhgbediiegeffgf ckgidd ";
a[22]="Peking, China* dehfdbdi jgge ekgged ffbggacafg eh ";
a[23]="Port Said, Suez Canal, Egypt* ebecbcfbdacbh ifgfeace ieh"
+"djbebgc";
a[24]="Quebec, Quebec, Canada* baieaccidee bcefihia fdbibcgdd";
a[25]="Reykjavik, Faxa Bay, Iceland* fabb dgbccfaeefgafedgjgbegf";
a[26]="Rio de Janeiro, Brazil* efiahffhikcdiggkedgceeei";
a[27]="Rome, Italy* gdbeffefhfbcfabkebcga";
a[28]="Santiago, Chile* fbckfejbcjfdegigah";
a[29]="Seattle, Washington, USA* eg h fdghgbdicf";
a[30]="Shanghai, China* bcha if eeig";
a[31]="Singapore, Singapore* cc ebiddh";
a[32]="Tokyo, Japan* egfg d";
a[33]="Wellington, New Zealand* hab";
a[34]="Zanzibar City, Tanzania* ";
var b=new iA(4);
b[0]=1;
b[1]=10;
b[2]=100;
b[3]=1000;
b[4]=10000;
function getMiles(form){
lf=(document.isn.isn1.options[document.isn.isn1.selectedIndex].value);
rf=(document.isn.isn2.options[document.isn.isn2.selectedIndex].value);
l=al.indexOf(lf);
r=al.indexOf(rf);
if (r<l){
l=r;
r=al.indexOf(lf);
}
ls=a[l];
pos=ls.indexOf("*")
ls1="From "+ls.substring(0,pos)+" to "
+a[r].substring(0,a[r].indexOf("*"))+" is about ";
ls=ls.substring(pos+1,ls.length);
tc=ls.substring(((r*3)-(l*3)),ls.length);
if (document.isn.rb[1].checked){
dispKm();
}
else{
dispMi();
}
}
function dispMi(){
ch=tc.charAt(0);
ls1+=al.indexOf(ch);
ch=tc.charAt(1);
ls1+=al.indexOf(ch);
ch=tc.charAt(2);
if (ch!=" "){
ls1+=(al.indexOf(ch)*10)+" miles";
} //1.613
else ls1+="00"+" miles";
document.isn.disp.value=ls1;
}
function dispKm(){
ch=tc.charAt(0);
km="";
km+=al.indexOf(ch);
ch=tc.charAt(1);
km+=al.indexOf(ch);
ch=tc.charAt(2);
if (ch!=" "){
km+=(al.indexOf(ch)*10);
}
else{
km+="00";
}
num=0;
kml=km.length;
for (var i=kml-1;i>-1;i--){
cr=km.substring(i,i+1);
pos=ns.indexOf(cr);
num+=pos*b[kml-i-1];
}
km="";
km+=num*1.613;
pos=km.indexOf(".");
if (pos>-1){
km=km.substring(0,pos);
}
ls1+=km+" kilometers";
document.isn.disp.value=ls1;
}
// End Hiding -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM NAME="isn">
<TABLE BORDER=0 WIDTH=486>
<TR><TD COLSPAN=3 ALIGN=CENTER>
<HR NOSHADE>
</font>
<font color="blue" size="3"><b>Расстояние между
городами мира</b></font></TD></TR>
<TR><TD ALIGN=CENTER><font color="blue" size="3"><b>От города</b></font>
<font size="3" color="#000000">
<BR><SELECT NAME="isn1" SIZE=12>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
ls="";
for (var i=0;i<35;i++){
ls+='<OPTION VALUE="'+al.substring(i,i+1)+'" onClick=""';
if (i==0){ls+=' SELECTED';}
ls+='>'+a[i].substring(0,a[i].indexOf("*"));
}
document.write(ls);
// End hiding -->
</SCRIPT>
</SELECT></TD>
<TD ALIGN=CENTER VALIGN=TOP>&nbsp;<P>
<INPUT TYPE="button" NAME="but" VALUE="Расстояние" onClick="getMiles(this.form)">
<BR><INPUT TYPE="radio" NAME="rb" VALUE="a" CHECKED onClick="">Мили
<INPUT TYPE="radio" NAME="rb" VALUE="b" onClick="">Километры
</font>
<TD ALIGN=CENTER><font color="blue" size="3"><b>До города</b></font>
<font size="3" color="#000000">
<BR><SELECT NAME="isn2" SIZE=12>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
ls="";
for (var i=0;i<35;i++){
ls+='<OPTION VALUE="'+al.substring(i,i+1)+'" onClick=""';
if (i==1){ls+=' SELECTED';}
ls+='>'+a[i].substring(0,a[i].indexOf("*"));
}
document.write(ls);
// End hiding -->
</SCRIPT>
</SELECT></TD></TR>
<TR><TD COLSPAN=3 ALIGN=CENTER>
<TABLE BORDER=2>
<TR><TD>
<INPUT TYPE="text" NAME="disp" VALUE="" SIZE=80>
</TD></TR>
</TABLE></TD></TR>
<TR><TD COLSPAN=3><HR NOSHADE></TD></TR>
</TABLE>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form76

Рисунки вместо Alert-ов
(рисунки, конечно, можно заменить на свои, тем ни менее, внизу страницы приведены рисунки, использованные в этом примере)

Введите следующую информацию: (* обязательно)
Имя: | *
Фамилия: | *
Индекс: | *
Email: | *
Телефон: | - - *

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jeff Harding (jbh@site-ations.com) -->
<!-- Web Site: http://www.site-ations.com -->
<!-- Modified by: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
// Preload images
var empty = new Image(); empty.src = "fieldempty.gif";
var email = new Image(); email.src = "emailerror.gif";
var zipcd = new Image(); zipcd.src = "ziperror.gif";
var phone = new Image(); phone.src = "phoneerror.gif";

var haveerrors = 0;
function showImage(imagename, imageurl, errors) {
document[imagename].src = imageurl;
if (!haveerrors && errors) haveerrors = errors;
}

function validateForm(f) {
haveerrors = 0;
(f.fname.value.length < 1) // validate first name length
? showImage("firstnameerror", "fieldempty.gif", true) // no semi-colon after this line!
: showImage("firstnameerror", "blankimage.gif", false); // true = errors, false = no errors

(f.lname.value.length < 1) // validate last name length
? showImage("lastnameerror", "fieldempty.gif", true)
: showImage("lastnameerror", "blankimage.gif", false);

(f.zip.value.length != 6) // validate zip code length
? showImage("ziperror", "ziperror.gif", true)
: showImage("ziperror", "blankimage.gif", false);

phonenumlength = f.area.value.length +
f.exchange.value.length + f.number.value.length;

(phonenumlength != 10) // validate phone number length
? showImage("phoneerror", "phoneerror.gif", true)
: showImage("phoneerror", "blankimage.gif", false);

(f.email.value.search("@") == -1 || f.email.value.search("[.*]") == -1) // validate email
? showImage("emailerror", "emailerror.gif", true)
: showImage("emailerror", "blankimage.gif", false);

return (!haveerrors);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form action="ваш-script.cgi" name="myform" onSubmit="return validateForm(this)">
<table border=0 cellspacing=0 celpadding=0>
<tr>
<td colspan=2>Введите следующую информацию:<br>
<sup>(<font color="#ff0000">*</font> denotes required field).</sup></td>
</tr>
<tr>
<td><p align=right>
Имя:</td>
<td>
<input type=text name="fname" size=25 maxlength=50><font color="#ff0000">*</font><br>
<img name=firstnameerror src="blankimage.gif" width=350 height=10 border=0></td>
</tr>
<tr>
<td><p align=right>
Фамилия:</td>
<td>
<input type=text name="lname" size=25 maxlength=50><font color="#ff0000">*</font><br>
<img name=lastnameerror src="blankimage.gif" width=350 height=10 border=0></td>
</tr>
<tr>
<td><p align=right>
Индекс:</td>
<td>
<input type=text name=zip size=25 maxlength=50><font color="#ff0000">*</font><br>
<img name=ziperror src="blankimage.gif" width=350 height=10 border=0></td>
</tr>
<tr>
<td><p align=right>
Email:</td>
<td>
<input type=text name=email size=25 maxlength=50><font color="#ff0000">*</font><br>
<img name=emailerror src="blankimage.gif" width=350 height=10 border=0></td>
</tr>
<tr>
<td><p align=right>
Телефон:</td>
<td>
<input type=text name=area size=4 maxlength=5>-
<input type=text name=exchange size=4 maxlength=3>-
<input type=text name=number size=5 maxlength=4><font color="#ff0000">*</font><br>
<img name=phoneerror src="blankimage.gif" width=350 height=10 border=0></td>
</tr>
<tr>
<td colspan=2><p align=center>
<hr>
</td>
</tr>
<tr>
<td><p align=center>
</td>
<td><p align=right>
<input type=submit value="Отправить"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере.

(в рамке прозрачный gif)
blankimage.gif

emailerror.gif

fieldempty.gif

phoneerror.gif

ziperror.gif


Img43

Рисунок как фон для формы
( только MSIE )

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<TEXTAREA rows="8" cols="15" style="background-image:url(sandraaa1.jpg)">
</TEXTAREA>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form73

Разрешенные к загрузке на сервер типы файлов

Загрузка на сервер файлов следующих форматов:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  ArjoGod, Shauna Merritt -->
<!-- Modified By:  Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
extArray = new Array(".gif", ".jpg", ".png", ".htm", ".html", ".mid",
      ".midi"); //
      разрешенные расширения файлов
function LimitAttach(form, file) {
allowSubmit = false;
if (!file) return;
while (file.indexOf("\\") != -1)
file = file.slice(file.indexOf("\\") + 1);
ext = file.slice(file.indexOf(".")).toLowerCase();
for (var i = 0; i < extArray.length; i++) {
if (extArray[i] == ext) { allowSubmit = true; break; }
}
if (allowSubmit) form.submit();
else
alert("Запрещенный к загрузке формат!\nПожалуйста, еще раз обратите внимание\nна расширения файлов, разрешенных к загрузке:  "
+ (extArray.join("  ")));
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Загрузка на сервер файлов следующих форматов: <BR>
<script>
document.write(extArray.join(" "));
</script>
<p>
<form method=post name=upform action="/cgi-bin/some-script.cgi" enctype="multipart/form-data">
<input type=file name=uploadfile>
<p>
<input type=button name="Submit" value="Загрузить" onclick="LimitAttach(this.form, this.form.uploadfile.value)">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form83

Счетчик слов, букв знаков
Напечатайте что-нибудь и нажмите кнопку "Посчитать". Счетчик унифицирован для подсчета как русских так и английских слов (букв), а также цифр. Счетчик может быть легко настроен только под один какой-нибудь алфавит, путем редактирования выделенной белым цветом строки. Поэксперементируйте! (пробелы также считаются)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Shawn Seley -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function CountWords (this_field, alertWords, alertChars) {
if (alertWords == null) {
alertWords = true;
}
if (alertChars == null) {
alertChars = false;
}
var fullStr = this_field.value;
var charCount = fullStr.length;
var rExp = /[^А-Яа-яA-Za-z0-9]/gi;
var spacesStr = fullStr.replace(rExp, " ");
var cleanedStr = spacesStr + " ";
do {
var old_str = cleanedStr;
cleanedStr = cleanedStr.replace(" ", " ");
} while(old_str != cleanedStr);
var splitString = cleanedStr.split(" ");
var wordCount = splitString.length -1;
if (fullStr.length <1) {
wordCount = 0;
}
if (wordCount ==1) {
wordOrWords = " слов";
}
else {
wordOrWords = " слов";
}
if (charCount == 1) {
charOrChars = " букв (знаков)";
} else {
charOrChars = " букв (знаков)";
}
if (alertWords & alertChars) {
alert ("В форме\n" +wordOrWords + " " + wordCount + "\n"+ charOrChars + " " + charCount);
}
else {
if (alertWords) {
alert ("В форме " + wordOrWords + wordCount);
}
else {
if (alertChars) {
alert ("Количество букв (знаков) " + charOrChars + charCount);
}
}
}
return wordCount;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<textarea cols=40 rows=5 name=x>
</textarea>
<br>
<input type=button value="Посчитать слова и буквы" OnClick ="CountWords(this.form.x, true, true);">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC59

Сортировка
Этот великолепный скрипт позволяет рассортировать данные в таблице по дате, порядковому номеру, сумме (долга) или по имени плательщика. Очень практично!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Tom Folkes (tfolkes@cpcug.org) -->

<!-- Begin
function dates(datea,dateb){
var yeara = 1 * datea.substring(6,8);
var yearb = 1 * dateb.substring(6,8);
if (yeara > yearb) return true;
if (yeara < yearb) return false;

var montha = 1 * datea.substring(0,2);
var monthb = 1 * dateb.substring(0,2);
if (montha > monthb) return true;
if (montha < monthb) return false;

var daya = 1 * datea.substring(3,5);
var dayb = 1 * dateb.substring(3,5);
if (daya > dayb) return true;
return false;
}

function exchange(i,form){
/* This function swaps the information in the various cells */
document.forms[6].check.value = document.forms[i].check.value;
document.forms[i].check.value = document.forms[i+1].check.value;
document.forms[i+1].check.value = document.forms[6].check.value;
document.forms[6].units.value = document.forms[i].units.value;
document.forms[i].units.value = document.forms[i+1].units.value;
document.forms[i+1].units.value = document.forms[6].units.value;
document.forms[6].amount.value = document.forms[i].amount.value;
document.forms[i].amount.value = document.forms[i+1].amount.value;
document.forms[i+1].amount.value = document.forms[6].amount.value;
document.forms[6].presented.value = document.forms[i].presented.value;
document.forms[i].presented.value = document.forms[i+1].presented.value;
document.forms[i+1].presented.value = document.forms[6].presented.value;
}

function amountSort(form){
/* orders the table by amount */
for (var j = 0; j<5; j++){
for(var i=0; i<5; i++){
var l = 1 * i + 1;
if(1 * document.forms[i].amount.value > 1 * document.forms[i+1].amount.value) {
exchange(i,form);
}
}
}
}

function checkSort(form){
/* orders the table by check number */
for (var j = 0; j<5; j++){
for(var i=0; i<5; i++){
var l = 1 * i + 1;
if(1 * document.forms[i].check.value > 1 * document.forms[i+1].check.value){
exchange(i,form);
}
}
}
}

function dateSort(form){
/* orders the table by date */
for (var j = 0; j<5; j++){
for(var i=0; i<5; i++){
var l = 1 * i + 1;
if(dates(document.forms[i].units.value,document.forms[i+1].units.value)){
exchange(i,form);
}
}
}
}

function presentSort(form){
/* orders the table by presenter */
for (var j = 0; j<5; j++){
for(var i=0; i<5; i++){
var l = 1 * i + 1;
if(document.forms[i].presented.value >document.forms[i+1].presented.value){
exchange(i,form);
}
}
}
}

// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table style="border: 2 outset; background-color:#CCCCCC">

<form method=post>
<tr>
<td><div align=center> <input type="button" value="Дата" onclick=dateSort(this.form)> </div></td>
<td><div align=center> <input type="button" value="№№" onClick=checkSort(this.form)> </div></td>
<td><div align=center> <input type="button" value="Сумма" onClick=amountSort(this.form)> </div></td>
<td><div align=center> <input type="button" value="Плательщик" onClick=presentSort(this.form)> </div></td>
</tr>
<tr>
<td><input type=text name=units size=8 value=12/07/01></td>
<td><input type=text name=check size=6 value=3></td>
<td><input type=text name=amount size=9 value=99.10></td>
<td><input type=text name=presented size=15 value="Алексейчик"></td>
</tr>
</form>

<form method=post>
<tr>
<td><input type=text name=units size=8 value=11/05/01></td>
<td><input type=text name=check size=6 value=7></td>
<td><input type=text name=amount size=9 value=12.01></td>
<td><input type=text name=presented size=15 value="Вован"></td>
</tr>
</form>

<form method=post>
<tr>
<td><input type=text name=units size=8 value=11/03/02></td>
<td><input type=text name=check size=6 value=1></td>
<td><input type=text name=amount size=9 value=1.08></td>
<td><input type=text name=presented size=15 value="Димка"></td>
</tr>
</form>

<form method=post>
<tr>
<td><input type=text name=units size=8 value=12/01/00></td>
<td><input type=text name=check size=6 value=33></td>
<td><input type=text name=amount size=9 value=22.05></td>
<td><input type=text name=presented size=15 value="Ярошевич"></td>
</tr>
</form>

<form method=post>
<tr>
<td><input type=text name=units size=8 value=12/23/01></td>
<td><input type=text name=check size=6 value=22></td>
<td><input type=text name=amount size=9 value=9011.95></td>
<td><input type=text name=presented size=15 value="Муля (гад!)"></td>
</tr>
</form>

<form method=post>
<tr>
<td><input type=text name=units size=8 value=12/26/01> </td>
<td><input type=text name=check size=6 value=11></td>
<td><input type=text name=amount size=9 value=22.65></td>
<td><input type=text name=presented size=15 value="Бочарников"></td>
</tr>
</form>

</table>
</center>

<form method=post>
<table>
<tr>
<td><input type=hidden name=units size=5></td>
<td><input type=hidden name=check size=6></td>
<td><input type=hidden name=amount size=5></td>
<td><input type=hidden name=presented size=15></td>
<tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form68

Табуляция с использованием "Enter"
Переход на следующее поле происходит после нажатия клавиши "Enter"

Box 1:
Box 2:
Box 3:
Box 4:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
nextfield = "box1"; // name of first box on page
netscape = "";
ver = navigator.appVersion; len = ver.length;
for(iln = 0; iln < len; iln++) if (ver.charAt(iln) == "(") break;
netscape = (ver.charAt(iln+1).toUpperCase() != "C");

function keyDown(DnEvents) { // handles keypress
// determines whether Netscape or Internet Explorer
k = (netscape) ? DnEvents.which : window.event.keyCode;
if (k == 13) { // enter key pressed
if (nextfield == 'done') return true; // submit, we finished all fields
else { // we're not done yet, send focus to next box
eval('document.yourform.' + nextfield + '.focus()');
return false;
}
}
}
document.onkeydown = keyDown; // work together to analyze keystrokes
if (netscape) document.captureEvents(Event.KEYDOWN|Event.KEYUP);
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=yourform>
Box 1: <input type=text name=box1 onFocus="nextfield ='box2';"><br>
Box 2: <input type=text name=box2 onFocus="nextfield ='box3';"><br>
Box 3: <input type=text name=box3 onFocus="nextfield ='box4';"><br>
Box 4: <input type=text name=box4 onFocus="nextfield ='done';"><br>
<input type=submit name=done value="применить">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form26

"Умная" конвертация заглавные/прописные буквы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore, Editor -->
<!-- Idea by: Zachary McDermott -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function cleanCAPS(str) {
capsallowed = 3; // Lowercase if more than ## CAPS in a row
do {
eval("re = /([A-Z]{" + (capsallowed+1) + ",})/g;");
myArray = str.match(re);
if (myArray) {
eval("re = /" + myArray[0] + "/;");
str = str.replace(re, ""+myArray[0].toLowerCase());
}
} while (myArray);
return str;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=test action="your-script.cgi" onSubmit="this.comments.value=cleanCAPS(this.comments.value); return true;">
<input type=text name=comments value="HELLO THERE, my inITIALS are TJM, and I LOVE the EMP." size=60>
<input type=submit value="Submit">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form46

Удаление пробелов

До: Строка = x xx xxx xxxx
После: Строка =

Напечатайте в поле формы строку с пробелами и нажмите "ОК".

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike McGrath (mike_mcgrath@lineone.net) -->
<!-- Web Site: http://website.lineone.net/~mike_mcgrath -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function ignoreSpaces(string) {
var temp = "";
string = '' + string;
splitstring = string.split(" ");
for(i = 0; i < splitstring.length; i++)
temp += splitstring[i];
return temp;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=text size=25 onBlur="this.value=ignoreSpaces(this.value);">
<input type=button value="Ok">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form65

Удаление цифр
(см. комментарий в таблице)

Напечатайте что-нибудь, включая цифры

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ryan A. Somma (ryan@waygate.com) -->
<!-- Web Site: http://www.waygate.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function stringFilter (input) {
s = input.value;
filteredValues = "1234567890"; // Вместо цифр можно поместить дюбые буквы или знаки
var i;
var returnString = "";
for (i = 0; i < s.length; i++) {
var c = s.charAt(i);
if (filteredValues.indexOf(c) == -1) returnString += c;
}
input.value = returnString;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=thisform method=post action="" onSubmit="">
Напечатайте что-нибудь, включая цифры<BR><input type=text size=14 maxlength=14 name=inputField>
<br>
<input type=button value="Применить" onClick="stringFilter(inputField);">
<input type=reset value="Сброс">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form54

Удаление знака $ и запятой

Счет:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Fred Roberts (fred@gloryofgod.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function filterNum(str) {
re = /^\$|,/g;
// remove "$" and ","
return str.replace(re, "");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Счет: <input type=text name=amount size=30 value="$1,234,567.99" onBlur="this.form.amount.value=filterNum(this.form.amount.value);"><br>
<input type=button value="OK">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form71

Удаление пробелов перед началом строки

Имя файла:

(Не копируйте код из источника! Он не будет работать на Ваших страницах.)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Имя файла: <input type=text name=filename size=40 value="file.txt" onChange="javascript:while(''+this.value.charAt(0)==' ')this.value=this.value.substring(1,this.value.length);"><br>
<input type=submit name=action value="Сделано!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form72

Удаление пробелов после конца строки

Имя файла:

(Не копируйте код из источника! Он не будет работать на Ваших страницах.)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
Имя файла: <input type=text name=filename size=40 value="readme.txt" onChange="javascript:while(''+this.value.charAt(this.value.length-1)==' ')this.value=this.value.substring(0,this.value.length-1);"><br>
<input type=submit name=action value="Сделано!">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form85

Фокус OnLoad
Иными словами, помещает курсор в форму непосредственно при загрузке страницы, не давая посетителю возможности случайно пропустить важную форму... Большие сомнения в эффективности подобной уловки...

Ваше имя :

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="document.nameform.user.focus();">

<center>
<form name="nameform">
Ваше имя: <input type=text name=user size=10>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form63

Цензура
Изменяются слова, которые вы назначаете к запрету на передачу, причем необходим только корень этого слова без всех возможных вариаций! "Запретные" буквы будут заменены на случайные символы. Поэксперементируйте! (Из этических соображений этот скрипт не адаптировался. Если Вы решите использовать его на русскоязычных сайтах, замените выделенные белым слова на "родные" монголо-татарские...)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function smutEngine() {
smut="#@&*%!#@&*%!#@&*%!";
cmp="sex babes shit fuck damn porno cum cunt prick pecker
       "
+"asshole pedophile man-boy man/boy dong twat  ";
txt=document.isn.dirt.value;
tstx="";
for (var i=0;i<16;i++){
pos=cmp.indexOf(" ");
wrd=cmp.substring(0,pos);
wrdl=wrd.length
cmp=cmp.substring(pos+1,cmp.length);
while (txt.indexOf(wrd)>-1){
pos=txt.indexOf(wrd);
txt=txt.substring(0,pos)+smut.substring(0,wrdl)
+txt.substring((pos+wrdl),txt.length);
}
}
document.isn.dirt.value=txt;
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM NAME="isn">
<DIV ALIGN=CENTER><INPUT TYPE="text" NAME="dirt" SIZE=40 VALUE=""><BR>
<INPUT TYPE="button" NAME="smut1" VALUE=" Применить " onClick="smutEngine(this.form)">
</DIV>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame3

Киллер кадров

Удаляет спонсорский фрейм

(обязательные условия применения скрипта см. внизу страницы)

=======================================================================

JAVA/SCRIPTS - Киллер кадров

=======================================================================
версия :: 1.3
название :: Киллер кадров
дата :: 21.01.2000
размер :: 10kb
автор :: Deto
url :: http://js.hotmail.ru/ftp/s1.txt
zip :: http://js.hotmail.ru/ftp/s1.zip
=======================================================================
=== Принцип работы ====================================================
=======================================================================

Если у вас весит чей-то спонсорский кадр (фрейм, frame), и вы от этого
не в восторге, разместите код этого скрипта у себя на странице, и с
рекламой поконченно!

=== Достоинства ===
* очень удобно и оригинайльно
* легкое администрированние

=== Ложка дёгтя в бочке меда ===
* не помогает от кадров хостинговых компаний (xoom.com, webjump.com)
* там уже ничего не сделаешь :(

=======================================================================
=== Пример ============================================================
=======================================================================

Этот скрипт используеться на:
http://sq.hotmail.ru/
http://www.sonique.da.ru/

=======================================================================
=== Установка скрипта =================================================
=======================================================================

=== ШАГ НОМЕР 1 ===

Поместите в любое место тегов <head></head> или <body></body> код скрипта:

Пример редактирования:

<!-- Frames Killer 1.3 SCRIPT --><script language="JavaScript">// script written by Deto Freeman
// find more Java Scripts @ js.hotmail.ru
if (parent.frames[0]) {top.location.href="!!!АДРЕС_СТРАНИЦЫ!!!";}
</script><!-- Frames Killer 1.3 SCRIPT END -->

Вместо !!!АДРЕС_СТРАНИЦЫ!!! вставьте адрес страницы без рекламы.

=======================================================================
=== Заключительный шаг ================================================
=======================================================================

ВНИМАНИЕ! На всех страницах, к которым имеет отношение этот скрипт, вы
должны разместить один из нижепреведенных кодов:

1) Наш маленький баннер

<!-- JAVA SCRIPTS mini banner -->
<a href="http://js.hotmail.ru/" target="_blank"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - коллекция лучших Java скриптов - скрипт поисковой системы, регистратора, парольера..." border=0 height=31 width=88></a>

2) Текстовая ссылка (параметры текста менять запрешенно!)

<!-- JAVA SCRIPTS textlink 1 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Мы пользуемся скриптами с сайта Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 2 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Самые лучшие бесплатные Java скрипты на сайте Java Scripts!</a></font>

<!-- JAVA SCRIPTS textlink 3 -->
<font face="arial cyr, tahoma" size=2><a href="http://js.hotmail.ru/" target="_blank">Поисковая система на вашем сайте - это просто!</a></font>

1) Маленький баннер нашего спонсора
ТОЛЬКО ЕСЛИ У ВАС САЙТ НА МУЗЫКАЛЬНУЮ ИЛИ ОКОЛОМУЗЫКАЛЬНУЮ ТЕМУ

<!-- SoniqueRu mini banner -->
<a href="http://sq.hotmail.ru/" target="_blank"><img src="http://sq.hotmail.ru/bm.gif" alt="SonqiueRu - самый лучший компьютерный mp3 плеер! БЕСПЛАТНАЯ ФУТБОЛКА ДЛЯ ФЭНОВ!" border=0 height=31 width=88></a>

=======================================================================

www.sq.hotmail.ru :: olkhset@online.ru
www.js.hotmail.ru :: Deto Freeman

=======================================================================

 Установка "Киллера кадров" разрешена авторами только при условии размещения на странице со скриптом ссылки на сайт авторов в виде "кнопочки". Установить кнопку очень просто. Достаточно поместить следующий html код в вашу www страницу:
<a href="http://js.hotmail.ru/"><img src="http://js.hotmail.ru/bm.gif" alt="Java Scripts - лучшие java скрипты!" height=31 width=88></a>

В итоге у вас появиться вот такая кнопочка:

Или вы можете поставить кнопку наших друзей:

<a href="http://sq.hotmail.ru/"><img src="http://sq.hotmail.ru/bm.gif" alt="Sonique - лучший mp3 плейер! Теперь на русском! Куча скинов и плаг-инов!" height=31 width=88></a>

Если вы пользуетесь "автоматическим" редактором www страниц, без физического контакта с html кодом, вам достаточно вставить картинку, где её адресом служила бы строка "http://js.hotmail.ru/bm.gif", а затем поставить на неё ссылку на "http://js.hotmail.ru/".


RC82

Загрузка сразу 2 страниц во фрэймах
Никаких дополнительных страниц создавать не надо - следует лишь указать адреса сайтов(страниц), которым следует быть открытыми (отмечены белым цветом)

Загрузить страницы home.htm и Link.htm во фреймах!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function loadFrames(page1, page2) {
framecode = "<frameset rows='50%,50%'>"
+ "<frame src='" + page1 + "'>"
+ "<frame src='" + page2 + "'>"
+ "</frameset>";

page = window.open("");
page.document.open();
page.document.write(framecode);
page.document.close();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:loadFrames('home.htm','Link.htm')">Загрузить страницы home.htm и Link.htm во фрэймах!</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame1

Скроллинг вебстраниц
(фреймы)

Нажмите ТЕСТ для просмотра примера.

Создайте предложенные страницы (в таблицах их полный код) и сохраните в одной директории.

Создайте страницу slideshow.htm (открывается именно эта страница)

<html>
<frameset cols="150,*" border=5>
<frame src="left.htm" name="side" sideborder=1 Scrolling="yes" marginwidth="5" marginheight="5" noresize>
<frame src="intro.html" name="main" sideborder=1 Scrolling="yes" marginwidth="5" marginheight="5" noresize>
</frameset>
</frameset>
</html>

Создайте страницу left.htm

 <html>
<head>
<style>
a:link, a:visited, a:active { text-decoration: none; color: lime;}
a:hover { text-decoration: none; color: yellow; }
</style>
<script language="JavaScript">
<!-- Begin
var repeatshow = 1; // 1 = повторять прокрутку, 0 = не повторять прокрутку
var timedelay = 5000; // время задержки
// Страницы, которые будут меняться
var page = new Array(
"home.htm",
"Link.htm",
"another.htm"
); // после последней страницы нет запятой!

//  Ваша "конечная" страница (если repeatshow = 0; )
var endpage = "intro.htm"; //см. код для
 этой страницы в белой таблице

var slidenum = 0;
var slidecount = page.length;
var timerID = 0;
var win2;
function showSlideShow() {
slidenum++;
if (slidenum < slidecount+1) {
parent.main.location.href = page[slidenum-1];
}
if (slidenum == slidecount+1) {
if (repeatshow) {
slidenum = 0;
timerID = setTimeout('showSlideShow()', timedelay)
}
else parent.main.location.href = endpage;
}
else timerID = setTimeout('showSlideShow()', timedelay);
}
// End -->
</script>
<title>side</title>

</HEAD>

<BODY onload="timerID=setTimeout('showSlideShow()',timedelay)" bgcolor="#000000" text="#FFFFFF">
<center><font face=Arial size=3><b>
<a href="intro.htm" target="main" onClick="clearTimeout(timerID)"><B>ГЛАВНОЕ МЕНЮ</B></A><br>
<br><br>
</b></font><font face=Arial size=2><b>Кликните по любому линку для остановки прокрутки.</b></font><font face=Arial size=3><b><br><br>
<a href="home.htm" target="main" onClick="clearTimeout(timerID)">Главная страница</a><br>
<a href="Link.htm" target="main" onClick="clearTimeout(timerID)">Страница Линки</a><br>
<a href="another.htm" target="main" onClick="clearTimeout(timerID)">Другая страница</a><br><br><br>
</b></font><font face=Arial size=2><b>(кликните для продолжения прокрутки)</b></font><font face=Arial size=3><b><br><br>
<a href="javascript:showSlideShow();" onClick="clearTimeout(timerID)">Продолжить прокрутку</a><br>
</b></font></center>

</BODY>

</HTML>

Создайте страницу intro.htm

<html>

<head>
<title>main</title>
</head>

<body bgcolor=black>
<p align=center><font face=Verdana color=lime size=6><b>НАЧАЛЬНАЯ<BR> СТРАНИЦА<BR> СКРОЛЛИНГА</b></font></p>
</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame6

Сапер 2
(фреймы)

В таблицах даны полные коды трех документов. Сохраните их в одной директории. Запускать следует Game68a.htm (назвать вы можете их как хотите, но не забудьте, в таком случае, изменить названия и в фреймсете)

Создайте новый HTML документ Game69a.htm (это фреймсет, запускной файл)

<HTML>
<HEAD>
<TITLE>Сапер2</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<FRAMESET cols="140,*">
<FRAME SRC="Game69b.htm" NAME="init" MARGINWIDTH="0" MARGINHEIGHT="0" scrolling="auto">
<FRAME SRC="Game69c.htm" NAME="game" MARGINWIDTH="0" MARGINHEIGHT="0" scrolling="auto">
</FRAMESET>
</HTML>

Создайте новый HTML документ Game69b.htm

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<SCRIPT LANGUAGE="JavaScript">
<!--
/*
Script written in November 1996 by VBP
Contact: vbp@via.ecp.fr or http://www.via.ecp.fr/~vbp/
*/

function LoadGame(nbCols, nbRows, nbMines) {
cols = nbCols
rows = nbRows
mines = nbMines
document.init_form.columns.value = cols
document.init_form.rows.value = rows
document.init_form.mines.value = mines
left = cols * rows - mines
stat = document.init_form.status
stat.value = 'Загрузка...'
doc = parent.game.document
doc.close()
doc.open('text/html')
doc.bgColor = "#FDEAB9"
doc.write('<H1>Идет загрузка, подождите...</H1>')
doc.close()
var strg = Table()
doc.open('text/html')
doc.bgColor = "#000000"
doc.write(strg)
doc.close()
stat.value = left + ' квадратов осталось'
}

function Personalized(form) {
nbCols = form.columns.value
nbRows = form.rows.value
nbMines = form.mines.value
if ( nbMines > nbCols*nbRows/2) {
alert('А не слишком много мин? Уменьшите количество, пожалуйста!')
}
else LoadGame(nbCols, nbRows, nbMines)
}

function format(n) {
if ( n < 10 )
var strg = '0'
else
var strg = ''
return strg + n
}

function Table() {
field = new MineField()
var strg = '<HTML><head></head><body bgcolor=black><CENTER>\n\n<P><FORM NAME="mineField">\n\n</P>\n\n<TABLE BORDER="2" brcolor=gray>\n'
for (var i = 0; i < rows ; i++) {
strg += '<TR>\n'
for (var j = 0; j < cols; j++)
strg += '<TD><INPUT TYPE="button" STYLE=\"WIDTH:30\" VALUE="" NAME="' + format(i) + format(j) + '" onClick="parent.init.Check(this)"></TD>\n'
strg += '</TR>\n'
}
strg += '</TABLE>\n\n</FORM></body></HTML>\n'
return strg
}

function HandsOff(textfield) {
textfield.blur()
}

function MakeArray(n) {
for (var i = 0; i < n; i++)
this[i] = false
return this
}

function MineField() {
for (var i = 0; i < rows; i++)
this[i] = new MakeArray(cols)
for (var k = 0; k < mines; k++) {
var i_r = Math.floor(Math.random()*rows)
var j_r = Math.floor(Math.random()*cols)
while ( this[i_r][j_r] ) {
i_r = Math.floor(Math.random()*rows)
j_r = Math.floor(Math.random()*cols)
}
this[i_r][j_r] = true
}
return this
}

function Check(button) {
if ( button.value == '' ) {
var ci = eval(button.name.substring(0, 2))
var cj = eval(button.name.substring(2, 4))
if ( field[ci][cj] ) {
stat.value = 'Проиграли'
ShowMines()
alert('Бабах!!!')
}
else {
button.value = Count(ci, cj)
if ( button.value == 0 ) with (Math) {
for (var i = max(0, ci-1); i < min(rows, ci+2); i++)
for (var j = max(0, cj-1); j < min(cols, cj+2); j++)
Check(parent.game. document.mineField.elements[i*cols+j])
}
left--
if ( left == 0 ) {
stat.value = 'Вы выиграли! :-)'
ShowMines()
alert('ПОЗДРАВЛЯЕМ!')
}
else
stat.value = left + ' квадратов осталось'
}
}
button.blur()
}

function Count(ci, cj) {
var k = 0
with (Math) {
for (var i = max(0, ci-1); i < min(rows, ci+2); i++)
for (var j = max(0, cj-1); j < min(cols, cj+2); j++)
if ( field[i][j] ) k++
}
return k
}

function ShowMines() {
for (var i = 0; i < rows; i++)
for (var j = 0; j < cols; j++)
if ( field[i][j] )
parent.game.document. mineField.elements[i*cols+j].value = '#'
else if ( parent.game.document.mineField.elements[i*cols+j].value == '' )
parent.game.document. mineField.elements[i*cols+j].value = ' '
}

// -->
function stoperror(){
return true
}
window.onerror=stoperror;
</SCRIPT>

</HEAD>

<BODY BGCOLOR="black">

<FORM NAME="init_form"><CENTER><BR>
<INPUT TYPE="text" NAME="status" SIZE="13" VALUE=" Привет!" onFocus="HandsOff(this)" style="background-color: #000000; color: #FFFFFF; font-size: 8pt; font-weight: bold; border-style: solid; border-width: 0"><BR>
<BR>
<table bgcolor="#808080" border="2"><tr><td align="center">
<strong><font size="+2" color="#00FF00">Выберите :</font></strong>
<HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Начинающий" onClick="LoadGame(8, 4, 4)"><HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Средний" onClick="LoadGame(14, 8, 20)"><HR>
<INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Супер" onClick="LoadGame(17, 12, 40)"><HR>
<TABLE BORDER="0">
<TR>
<TH COLSPAN="2"><INPUT TYPE="button" STYLE="WIDTH:110" VALUE="Определить" onClick="Personalized(this.form)"></TH>
<TR>
<TD><b><font color="#00FF00">Колонок&nbsp;:</font></b></TD>
<TD><INPUT TYPE="text" NAME="columns" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR><TR>
<TD><b><font color="#00FF00">Рядов:</font></b></TD>
<TD><INPUT TYPE="text" NAME="rows" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR><TR>
<TD><b><font color="#00FF00">Мин:</font></b></TD>
<TD><INPUT TYPE="text" NAME="mines" SIZE="2" MAXLENGTH="2" VALUE=""></TD>
</TR>
</TABLE><HR>
</td></tr></table>
</CENTER>
</FORM>

</BODY>

</HTML>

Создайте новый HTML документ Game69c.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script>
function stoperror(){
alert("Выберите уровень!");
return true
}
window.onerror=stoperror;
</script>
</head>

<body bgcolor=black>
<CENTER>

<P><FORM NAME="mineField">

</P>

<TABLE BORDER="2" bgcolor=gray>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0000" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0001" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0002" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0003" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0004" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0005" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0006" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0007" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0100" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0101" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0102" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0103" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0104" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0105" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0106" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0107" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0200" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0201" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0202" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0203" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0204" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0205" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0206" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0207" onClick="parent.init.Check(this)"></TD>
</TR>
<TR>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0300" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0301" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0302" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0303" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0304" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0305" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0306" onClick="parent.init.Check(this)"></TD>
<TD><INPUT TYPE="button" STYLE="WIDTH:30" VALUE="" NAME="0307" onClick="parent.init.Check(this)"></TD>
</TR>
</TABLE>

</FORM>
</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame2

Распечатка любого окна фрейма

Кликните здесь для теста

Создайте страницу (фреймсет) frame2a.htm (приведен полный код)

<html>
<frameset cols="200,*">
<frame src="frame2b.htm" tppabs="frame2b.htm" name="frame1">
<frame src="frame2.htm" tppabs="frame2.htm" name="frame2"> // это ЭТА страница (которая перед Вами)
</frameset>
</html>

Создайте страницу (левый фрейм) frame2b.htm (приведен полный код)

<html>
<head>
<script language="JavaScript">
function myprint() {
window.parent.frame2.focus();
window.print();
}
</script>
</head>
<body>
<input type=button value="Print Right Frame" onClick="myprint()">
</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC76

Фрейм с "хвостом"
Столь экзотичное название на самом деле является маскировкой ограниченного вакубуляра автора этого текста... Ну как, скажите на милость, назвать скрипт, который создает фреймсет с двумя фреймами, один из которых вы можете "оставить за собой". То есть первый, основной, Вы отдаете под окно сайта, на который ведет ссылка, а во втором, маленьком, расположенном по Вашему желанию сверху или слева, находится любая страничка вашего сайта, так, на всякий случай, чтобы о Вас не забыли... Иначе чем "хвостом" это назвать трудно...

Сайт "HOME" (откроется с "хвостом" сверху)

Сайт " Линки " (откроется с "хвостом" слева)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Web Site: http://www.sysu.net/gl105 -->
<!-- Modified By: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
percent = "10%";
function frameBranding(actualurl, brandingurl, frametype) {
var framewin = window.open("","brandingframe");
with (framewin.document) {
write("<html><frameset " + frametype + "=" + percent + ",*>");
write("<frame src=" + brandingurl + ">");
write(" <frame src=" + actualurl + ">");
write("</frameset></html>");
}
return false;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="#" onClick="return frameBranding('home.htm', 'RC76a.htm', 'rows');">Сайт
&quot;HOME</a>&quot; (откроется с &quot;хвостом&quot; сверху)
<center>
<p>
<a href="#" onClick="return frameBranding('Link.htm', 'RC76a.htm', 'cols');">Сайт
&quot; Линки</a>&nbsp; &quot; (откроется с &quot;хвостом&quot; слева)

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Color11

Летящие звезды

*
*
*
*
*
*
*
*
*
*

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

      <style type="text/css">

#sDiv0, #sDiv1, #sDiv2, #sDiv3, #sDiv4, #sDiv5, #sDiv6, #sDiv7, #sDiv8, #sDiv9
{
position:absolute; height:1; width:1; font-family:arial black; font-size:9px; color:#FFFFAA; z-index:10;
}

</style>

<SCRIPT LANGUAGE="JavaScript1.2">
<!--

/*
Document firework script (By Matt Gabbert, mgabbert@usrtoday.com, http://www.nolag.com)
Featured on Dynamicdrive.com
For full source and 100's more DHTML scripts, visit http://www.dynamicdrive.com
*/

var ns=(document.layers);
var ie=(document.all);
var w3=(document. getElementById && self.innerWidth && (window.pageXOffset>-1));
//my way of making sure the browser will have what I need

var allDivs      = new Array(10);
var documentWidth,documentHeight;

function initAll(){
if(!ns && !ie && !w3)	return;

for(dNum=0; dNum<10; ++dNum){
if(ie) allDivs[dNum]=eval ('document.all.sDiv'+dNum+'.style');
else if(ns) allDivs[dNum]= eval('document. layers["sDiv'+dNum+'"]');
else if(w3) allDivs[dNum]= eval('document.getElementById ("sDiv'+dNum+'").style');
moveTo(dNum,0,0);
}
}

function moveTo(i,tempx,tempy){
if (ie){
documentWidth =document.body. offsetWidth +document.body.scrollLeft-20;
randomy= Math.floor(Math.random() *document.body.offsetHeight)
      +document.body.scrollTop-20;
}
else if (ns){
documentWidth=window. innerWidth+window.pageXOffset-20;
randomy=Math.floor(Math.random() *window.innerHeight)
      +window.pageYOffset-20;
}
else if (w3){
documentWidth=self. innerWidth+window.pageXOffset-20;
randomy=Math.floor(Math.random() *self.innerHeight)
      +window.pageYOffset-20;
}

if(tempx>-50){
tempx-=45;
allDivs[i].left=tempx;
allDivs[i].top =tempy;
setTimeout ("moveTo("+i+","+tempx+","+tempy+")"
      ,40)
}
else
setTimeout("moveTo ("+i+",documentWidth-10,randomy)"
      ,2000/i+40);
}

window.onload=initAll
//End-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="sDiv0">*</div>
<div id="sDiv1">*</div>
<div id="sDiv2">*</div>
<div id="sDiv3">*</div>
<div id="sDiv4">*</div>
<div id="sDiv5">*</div>
<div id="sDiv6">*</div>
<div id="sDiv7">*</div>
<div id="sDiv8">*</div>
<div id="sDiv9">*</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color26

Летящие звезды

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body bgcolor="#000000" onLoad="fly()">

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site: http://website.lineone.net/~kurt.grigg/javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
SmallStars = 30; // Количество маленьких звезд
LargeStars = 10; // Количество больших звезд
SmallYpos = new Array();
SmallXpos = new Array();
LargeYpos = new Array();
LargeXpos = new Array();
Smallspeed= new Array();
Largespeed= new Array();
ns=(document.layers)?1:0;
if (ns) {
for (i = 0; i < SmallStars; i++) {
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0 BGCOLOR='#FFFFF0' CLIP='0,0,1,1'></LAYER>");
}
for (i = 0; i < LargeStars; i++) {
document.write("<LAYER NAME='ln"+i+"' LEFT=0 TOP=0 BGCOLOR='#FFFFFF' CLIP='0,0,2,2'></LAYER>");
}
}
else {
document.write('<div style="position:absolute;top:0px;left:0px">');
document.write('<div style="position:relative">');
for (i = 0; i < SmallStars; i++) {
document.write('<div id="si" style="position:absolute;
    top:0;left:0;width:1px;height:1px; background:#fffff0;font-size:1px"></div>');
    // Цвет маленьких звезд
}
document.write('</div>');
document.write('</div>');
document.write('<div style="position:absolute;top:0px;left:0px">');
document.write('<div style="position:relative">');
for (i = 0; i < LargeStars; i++) {
document.write('<div id="li" style="position:absolute;
    top:0;left:0;width:2px;height:2px; background:#ffffff;font-size:2px"></div>');
    // Цвет больших звезд
}
document.write('</div>');
document.write('</div>');
}
WinHeight = (document.layers)?window.
    innerHeight:window.document.body.clientHeight;
WinWidth = (document.layers)?window.
    innerWidth:window.document.body.clientWidth;
for (i = 0; i < SmallStars; i++) {
SmallYpos[i] = Math.round(Math.random() * WinHeight);
SmallXpos[i] = Math.round(Math.random() * WinWidth);
Smallspeed[i]= Math.random() * 5 + 1;
}
for (i = 0; i < LargeStars; i++) {
LargeYpos[i] = Math.round(Math.random() * WinHeight);
LargeXpos[i] = Math.round(Math.random() * WinWidth);
Largespeed[i] = Math.random() * 10 + 5;
}
function fly() {
var WinHeight = (document.layers)?window.innerHeight:window.
    document.body.clientHeight;
var WinWidth = (document.layers)?window.innerWidth:window.
    document.body.clientWidth;
var hscrll = (document.layers)?window. pageYOffset:document.body.scrollTop;
var wscrll = (document.layers)?window. pageXOffset:document.body.scrollLeft;
for (i = 0; i < LargeStars; i++) {
LargeXpos[i] -= Largespeed[i];
if (LargeXpos[i] < -10) {
LargeXpos[i] = WinWidth;
LargeYpos[i] = Math.round(Math.random() * WinHeight);
Largespeed[i] = Math.random() * 10 + 5;
}
if (ns) {
document.layers['ln'+i].left = LargeXpos[i];
document.layers['ln'+i].top = LargeYpos[i] + hscrll;
}
else {
li[i].style.pixelLeft = LargeXpos[i];
li[i].style.pixelTop = LargeYpos[i] + hscrll;
}
}
for (i = 0; i < SmallStars; i++) {
SmallXpos[i] -= Smallspeed[i];
if (SmallXpos[i] < -10) {
SmallXpos[i] = WinWidth;
SmallYpos[i] = Math.round(Math.random()*WinHeight);
Smallspeed[i] = Math.random() * 5 + 1;
}
if (ns) {
document.layers['sn'+i].left = SmallXpos[i];
document.layers['sn'+i].top = SmallYpos[i]+hscrll;
}
else {
si[i].style.pixelLeft = SmallXpos[i];
si[i].style.pixelTop = SmallYpos[i]+hscrll;
}
}
setTimeout('fly()', 10);
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color27

К центру Галлактики
(желателен фоновый рисунок, предложенный внизу страницы)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
.star {
position:absolute;
layer-background-color:white;
visibility:visible;
top:-50px;
width:50px;
height:50px;
font-size:1px;
background-color:white;
}
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site:  http://bgaudiodr.iwarp.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var starnum = 75;  //
      Количество звезд
var isNS = (document.layers);
var _all = (isNS)? '' : 'all.';
var _style = (isNS) ? '' : '.style';
var xoffset, yoffset, w_x, w_y, tmpx, tmpy, scrlx, scrly;
function getstartpos(obj) {
obj.deltay = Math.floor(Math.random() * 12);
obj.deltax = Math.floor(Math.random() * 12);
obj.xdir = (Math.floor(Math.random() * 2) == 1) ? '+' : '-';
obj.ydir = (Math.floor(Math.random() * 2) == 1) ? '+' : '-';
obj.counter = 1;
if (isNS) {
obj.clip.width = 1;
obj.clip.height = 1;
obj.moveTo(xoffset+pageXOffset, yoffset+pageYOffset);
} else {
obj.width = 1;
obj.height = 1;
obj.pixelTop = yoffset+document.body.scrollTop;
obj.pixelLeft = xoffset+document.body.scrollLeft;
}
}
function movestar(starN) {
tmpx = starN.deltax*starN.counter+starN.counter;
tmpy = starN.deltay*starN.counter+starN.counter;
if (isNS) {
starN.clip.width = starN.counter / 3;
starN.clip.height = starN.counter / 3;
scrlx = pageXOffset;
scrly = pageYOffset;
if ((starN.left+tmpx >= w_x+scrlx) || (starN.top+tmpy >= w_y+scrly) || (starN.left-tmpx <= scrlx) || (starN.top-tmpy <= scrly)) {
getstartpos(starN);
} else {
eval('starN.moveBy('+starN.xdir+tmpx+', '+starN.ydir+tmpy+')');
}
} else {
starN.width = starN.counter/3;
starN.height = starN.counter/3;
scrlx = document.body.scrollLeft;
scrly = document.body.scrollTop;
if ((starN.pixelLeft+tmpx >= w_x+scrlx)||(starN.pixelTop+tmpy >= w_y+scrly) || (starN.pixelLeft-tmpx <= scrlx)||(starN.pixelTop-tmpy <= scrly)) {
getstartpos(starN);
} else {
eval('starN.pixelTop'+starN.ydir+'=tmpy');
eval('starN.pixelLeft'+starN.xdir+'=tmpx');
}
}
starN.counter++;
}
function animate() {
for(i=1; i <= starnum; i++) {
movestar(eval('star'+i));
}
setTimeout('animate()', 100);
}
function findwindowparams() {
w_x = (isNS) ? window.innerWidth : document.body.clientWidth;
w_y = (isNS) ? window.innerHeight : document.body.clientHeight;
xoffset = w_x / 2;
yoffset = w_y / 2;
for (i = 1; i <= starnum; i++) {
getstartpos(eval('star'+i));
}
}
function resizeNS() {
setTimeout('document.location.reload()', 400);
}
(isNS) ? window.onresize = resizeNS : window.onresize = findwindowparams;
window.onload = new Function("findwindowparams(); animate();");
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
for (i = 1; i <= starnum; i++) {
document.writeln('<div id="star'+i+'" class="star"></div>');
eval('var star'+i+'=document.'+_all+'star'+i+_style);
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Используемый в примере фоновый рисунок.


Color24

Снег - звезды
Руководящая роль... мыши!
(попробуте что-нибудь выделить!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Joe Lard (darg36@home.com) -->
<!-- Web Site: http://members.home.net/darg36 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
ie4 = document.all?1:0;
ns4 = document.layers?1:0;
ns5 = (document.getElementById && !document.all)?1:0;
time0ID = 0;
time1ID = 0;
time2ID = 0;
wind = 0;
w1 = w2 = -10;
v1 = v2 = -10;
x1 = x2 = -10;
y1 = y2 = -10;
xan = yan = -.25;
// emulate snow or stars? (true | false)
snow = false; // sinewave controlled
star = true; // mouse controlled path
function wave(){ // for snow
xan = Math.sin(wind/57.3);
wind+=Math.random()*5;
if (wind>360) wind = 0;
// yan = .25 // for water
}
// for stars
function mm(e) {
if (ns5) {
xan = ((e.clientX)-csw)/csw;
yan = ((e.clientY)-csh)/csh;
}
else {
xan = (((ns4)?e.pageX:event.x)-csw)/csw;
yan = (((ns4)?e.pageY:event.y)-csh)/csh;
}
}
function init() {
if (ns4) {
z0 = document.zen.document.z0;
z1 = document.zen.document.z1;
}
if (ns5) if (document.getElementsByTagName("*")) {
document.all = document.getElementsByTagName("*")
}
if (star) {
if (ns4 || ns5) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove = mm;
}
document.onmousemove = mm;
}
fs=(ns4)? "":"; font-size:25px";
ret=""; tem=(ns4)? "<font size=5>":"";
for (t=1;t<sh/28;t++) {
for (u=1;u<sw/6;u++)
tem += (Math.random()>.99)? ((Math.random()>.9)? "<font size="+((Math.random()*50)+12)+"px>.</font size>":"."):"&nbsp;"; tem += "<BR>";
}
tem += (ns4)? "</font size>":"";
ret += "<div style='position:absolute; left:0px; top:0px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:"+(sw)+"px; top:0px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:0px; top:"+(sh)+"px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:"+(sw)+"px; top:"+(sh)+"px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
if (ns4) {
z0.document.write(ret);
z0.document.close();
}
if (ie4) z0.innerHTML = ret;
if (ns5) document.all.z0.innerHTML = ret;
ret=""; tem=(ns4)? "<font size=5>":"";
for (t = 1; t < sh / 28; t++) {
for (u = 1; u < sw / 6; u++)
tem += (Math.random()>.99)? ((Math.random()>.9)? "<font size="+((Math.random()*50)+12)+"px>.</font size>":"."):"&nbsp;";
tem+="<BR>";
}
tem += (ns4)? "</font size>":"";
ret += "<div style='position:absolute; left:0px; top:0px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:"+(sw)+"px; top:0px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:0px; top:"+(sh)+"px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
ret += "<div style='position:absolute; left:"+(sw)+"px; top:"+(sh)+"px; width:"+sw+"px; height:"+sh+"px; color:white"+fs+"; font-family:Times'>"+tem+"</DIV>";
if (ns4) {
z1.document.write(ret);
z1.document.close();
}
if (ie4) z1.innerHTML = ret;
if (ns5) {
document.all.z1.innerHTML = ret;
z0 = document.all.z0;
z1 = document.all.z1;
}
time1ID = setInterval('z1m()',33);
time0ID = setInterval('z0m()',55);
if (snow) time2ID=setInterval('wave()',77);
}
function halt() {
if (time1ID) clearInterval(time1ID);
if (time0ID) clearInterval(time0ID);
if (time2ID) clearInterval(time2ID);
}
function z0m() {
x1 -= 4 * xan;
x2 -= 4 * yan;
a = Math.round(x1);
b = Math.round(x2);
if (w1 != a) {
w1 = a;
if (w1 > 0) x1 = w1 = -sw;
if (w1 < -sw) x1 = w1 = 0;
if (!ns4) z0.style.left = w1 + "px";
}
if (w2 != b) {
w2 = b;
if (w2 > 0) x2 = w2 = -sh;
if (w2 < -sh) x2 = w2 = 0;
if (!ns4) z0.style.top = w2 + "px";
}
if (ns4) z0.moveTo(w1,w2);
}
function z1m() {
y1 -= xan;
y2 -= yan;
a1 = Math.round(y1);
b1 = Math.round(y2);
if (v1 != a1) {
v1 = a1;
if (v1 > 0) y1 = v1 = -sw;
if (v1 < -sw) y1 = v1 = 0;
if (!ns4) z1.style.left = v1 + "px";
}
if (v2 != b1) {
v2 = b1;
if (v2 > 0) y2 = v2 = -sh;
if (v2 < -sh) y2 = v2 = 0;
if (!ns4) z1.style.top = v2 + "px";
}
if (ns4) z1.moveTo(v1,v2);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body bgcolor="#C0C0C0" onLoad="init()"
 onunload="halt()">

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var sw = (ie4)? document.body.offsetWidth:window.innerWidth;
var sh = (ie4)? document.body.offsetHeight:window.innerHeight;
//sw=200; sh=200;  field width and height
var csw = Math.round(sw/2);
var csh = Math.round(sh/2);
ret="<STYLE TYPE='text/css'><!--\n";
ret+="#zen {position:absolute; left:0; top:0; width:"+sw+"; height:"+sh+
"; font-size:3000px; font-family:Times; clip:rect(0,"+(sw)+","+(sh)+
",0); overflow:hidden; z-Index:0}";
ret+="#z0 {position:absolute; left:-10; top:-10; width:"+(sw*2)+
"; height:"+(sh*2)+"; clip:rect(0,"+(sw*2)+","+(sh*2)+",0)}";
ret+="#z1 {position:absolute; left:-10; top:-10; width:"+(sw*2)+
"; height:"+(sh*2)+"; clip:rect(0,"+(sw*2)+","+(sh*2)+",0)}";
ret+="#ar {position:absolute; left:10; top:10; width:100; height:100;"+
" z-Index:1000; color:red}";
ret+="//-->\n</STYLE>";
if (ns4) ret+="<DIV id=zen>_"; else ret+="<DIV id=zen>";
ret+="<DIV id=z1></DIV>";
ret+="<DIV id=z0></DIV>";
ret+="</DIV>";
document.write(ret);
//  End -->
</script>
<DIV id=ar><a href="javascript:halt()"> </A></DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color18

Цветовой скроллинг фона

(сколько раз нажали "Включить", столько раз плюс один придется нажать и "Выключить" для отключения скроллинга)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Eric Stremming <estremming@hotmail.com (made with bug
      :-)  -->
<!-- Web Site: http://www.geocities.com/SunsetStrip/Club/5970  -->

<!-- Begin
var pos = 10;
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var col=new initArray("4b","5b","8b","8b");
function stop() {
document.bgColor = '#C0C0C0'; // Цвет
      при выключенном скроллинге. Чтобы цвет
      останавливался наугад, после знака
      равно напишите col[pos];
clearTimeout(loopID);
}
function start() {
col[1]="red"
col[2]="yellowgreen"
col[3]="yellow"
col[4]="whitesmoke"
col[5]="white"
col[6]="wheat"
col[7]="violet"
col[8]="turquoise"
col[9]="tomato"
col[10]="thistle"
pos++;
if (pos<0||pos>10) {
pos = 0;
}
document.bgColor = col[pos];
loopID = setTimeout("start()",50);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="start()">
<!-- onload="start()" можно не вставлять, если не хотите, чтобы скроллинг начинался автоматически-->

<CENTER>
<FORM>
<input type="button" value="Включить" onClick='(setTimeout("start()",50))'>
<input type="button" value="Выключить" onClick="stop()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color19

Цветовой скроллинг фона 2
 (затемнение)

В коде, в верхней таблице, Вы видите несколько цифр. Поэксперементируйте! Возможны более интересные настройки!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="Javascript">

<!-- This script and many more are available online free at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var COLOR = 999999
var woot = 0
function stoploop() {
document.bgColor = '#000000';
clearTimeout(loopID);
}
function loopBackground() {
if (COLOR > 0) {
document.bgColor = '#' + COLOR
COLOR -= 111111
loopID = setTimeout("loopBackground()",1)
} else {
document.bgColor = '#000000'
woot += 10
COLOR = 999999
COLOR -= woot
loopID = setTimeout("loopBackground()",1)
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM NAME="background">
<INPUT TYPE="button" VALUE="Начать затемнение"
onClick="loopBackground()">
<br>
<input type="button" value="Остановить" onClick="stoploop()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color28

Скроллинг цвета фона 3
(медленный)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Hide from old browsers
var Color= new Array(9);
Color[1] = "ff";
Color[2] = "ee";
Color[3] = "dd";
Color[4] = "cc";
Color[5] = "bb";
Color[6] = "aa";
Color[7] = "99";
Color[8] = "88";
Color[9] = "77";
Color[10] = "66";
Color[11] = "55";
Color[12] = "44";
Color[13] = "33";
Color[14] = "22";
Color[15] = "11";
Color[16] = "00";
/* Do not display text on a fading background. Instead, let it
fade in and out once or twice, then load a new page. */
function fadeIn(where) {
if (where >= 1) {
document.bgColor="#" + Color[where] +"0000";
where -= 1;
setTimeout("fadeIn("+where+")", 15);
} else {
setTimeout('fadeOut(1)', 15);
}
}
function fadeOut(where) {
if (where <=16) {
document.bgColor="#" + Color[where] +"0000";
where += 1;
setTimeout("fadeOut("+where+")", 15)
} else {
setTimeout("fadeIn(16)", 15);
// window.location.href="http://www.netscape.com/";
}
}
// Unhide -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="fadeIn(16)">

<CENTER>
<FORM>
<INPUT TYPE="button" VALUE="Назал " onClick="history.go(-1)">
<INPUT TYPE="button" VALUE="Вперед" onCLick="history.go(1)">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Color7

Фейерверк 1

(красиво смотрится на темном фоне)

Цвет фона:

*
*
*
*
*
*
*

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!--

/*
Document firework script (By Matt Gabbert, mgabbert@usrtoday.com, http://www.nolag.com)
Permission granted to Dynamic Drive to feature script in archive
For full source and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

//set Interval between each firework display,
var intervals=2000
var sparksOn     = true;
var speed        = 40;
var power        = 3;

//Dont change these values-------
var documentWidth=documentHeight=randomx

       =randomy=leftcorner=topcorner=0
var ns=(document.layers);
var ie=(document.all);
var ns6= (document. getElementById&&!document.all);
var sparksAflyin = false;
var allDivs      = new Array(10);
var totalSparks  = 0;
//-------------------------------

function initAll(){
if(!ns && !ie &&!ns6){
sparksOn = false;
return;
}
setInterval("firework()",intervals)

if (ns)
document. captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE);
for(dNum=0; dNum<7; ++dNum){
if(ie)
allDivs[dNum]= eval ('document.all.sDiv'+dNum+'.style');
else if (ns6)
allDivs[dNum]= document. getElementById('sDiv'+dNum).style;
else
allDivs[dNum]= eval ('document.layers["sDiv'+dNum+'"]');
}
}

function firework(){
//below code detects the browser dimenions
if (ie){
documentWidth= document.body.clientWidth
documentHeight= document.body.clientHeight
leftcorner=document.body.scrollLeft
topcorner=document.body.scrollTop
}
else if (ns||ns6){
documentWidth=window.innerWidth
documentHeight=window.innerHeight
leftcorner=pageXOffset
topcorner=pageYOffset

}
//below code randomly generates a set of coordinates that fall within the dimension
randomx=leftcorner+Math.floor (Math.random()*documentWidth)
randomy=topcorner+Math.floor (Math.random()*documentHeight)

if(sparksOn){
if(!sparksAflyin){
sparksAflyin=true;
totalSparks=0;
for(var spark=0;spark<=6;spark++){
dx=Math.round(Math.random()*50);
dy=Math.round(Math.random()*50);
moveTo(spark,randomx,randomy,dx,dy);
}
}
}
}

function moveTo (i,tempx,tempy,dx,dy){
if(ie){
if(tempy+80>(document.body. offsetHeight+document.body. scrollTop))
tempy=document.body. offsetHeight+document.body. scrollTop-80;
if(tempx+80>(document.body. offsetWidth+document.body. scrollLeft))
tempx=document.body. offsetWidth+document.body. scrollLeft-80;
}
else if(ns6){
if(tempy+80>(window. innerHeight+pageYOffset))
tempy=window. innerHeight+pageYOffset-80;
if(tempx+80>(window. innerWidth+pageXOffset))
tempx=window. innerWidth+pageXOffset-80;
}
if(tempx>-50&&tempy>-50){
tempx+=dx;tempy+=dy;
allDivs[i].left=tempx;
allDivs[i].top=tempy;
dx-=power;dy-=power;
setTimeout("moveTo ("+i+","+tempx+","+tempy+","+dx+",
      "+dy+")",speed)
}
else
++totalSparks
if(totalSparks==7){
sparksAflyin=false;
totalSparks=0;
}
}
window.onload=initAll
//End-->
</script>

<style>
#sDiv0 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:Aqua; z-index:9;}
#sDiv1 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:red; z-index:10;}
#sDiv2 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:blue; z-index:11;}
#sDiv3 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:orange; z-index:12;}
#sDiv4 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:yellow; z-index:13;}
#sDiv5 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:lightgreen; z-index:14;}
#sDiv6 {position:absolute; height:1; width:1; font-family:arial black; font-size:15px; color:silver; z-index:15;}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="sDiv0">*</div>
<div id="sDiv1">*</div>
<div id="sDiv2">*</div>
<div id="sDiv3">*</div>
<div id="sDiv4">*</div>
<div id="sDiv5">*</div>
<div id="sDiv6">*</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color8

Фейерверк 2

(красиво смотрится на темном фоне)

Цвет фона:

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript1.2">

/*
Document firework script (By Kurt Gregg, kurt.grigg@virgin.net)
Modified/ perm. granted to Dynamic Drive to feature script in archive
For full source and 100's more DHTML scripts, visit http://dynamicdrive.com
*/

var ns=document.layers?1:0
var ie4=document.all?1:0
var ns6= document.getElementById&&!document.all?1:0

amount=14;
if (ns){
for (i=0; i < amount; i++)
document.write("<LAYER NAME= 'nsstars"+i+"' LEFT=0 TOP=0 BGCOLOR='#FFFFF0' CLIP='0,0,1,1'></LAYER>");
}
else if (ie4||ns6){
document.write("<div id='ieCov' style='position:absolute;top:0px;left:0px'>");
document.write("<div style='position:relative'>");
for (i=0; i < amount; i++)
document.write("<div id='iestars"+i+"' style='position:absolute;
 top:0px;left:0px;width:1; height:1;background:#ffffff;
 font-size:1;z-index:10'></div>");
document.write("</div></div>");
}
Clrs=new Array ('ff0000','00ff00','ffffff','ff00ff','ffa500','ffff00',
 '00ff00','ffffff','ff00ff')
sClrs=new Array ('ffa500','00ff00','FFAAFF','fff000','fffffF')
Xpos=300;
Ypos=150;
initialStarColor='00ff00';
step=5;
currStep=0;
explosionSize=120;
function Fireworks(){
var WinHeight= (ns||ns6)?window.innerHeight-100:
 window.document.body.clientHeight-100;
var WinWidth= (ns||ns6)?window.innerWidth-100:
 window.document.body.clientWidth-100;
var Yscroll= (ns||ns6)?window.pageYOffset:document.body. scrollTop;
for (i=0; i < amount; i++){
if (ie4||ns6)
var layer= ns6?document.getElementById("iestars"+i).style : eval("iestars"+i).style;
else if (ns)
var layer=document.layers["nsstars"+i]
var randCol=Math.round(Math.random()*8);
var randSz=Math.round(Math.random()*2);
layer.top = Ypos + explosionSize*Math.sin ((currStep+i*5)/3)*Math.sin(currStep/100)
layer.left= Xpos + explosionSize*Math.cos ((currStep+i*5)/3)*Math.sin(currStep/100)
if (currStep < 110){
if (ns){layer.bgColor= initialStarColor;layer.clip.width=
 5;layer.clip.height=5}
else{layer.background= initialStarColor;layer.width=
 5;layer.height=5;layer.fontSize=1}
}
else{
if (ns){layer.bgColor= Clrs[randCol];layer.clip.width= randSz;layer.clip.height=randSz}
else{layer.background= Clrs[randCol];layer.width= randSz;layer.height=
 randSz;layer.fontSize=randSz}
}
}
if (currStep > 220)
{
currStep=0;
Ypos = 50+Math.round (Math.random()*WinHeight)+Yscroll;
Xpos = 50+Math.round(Math.random()*WinWidth);
for (i=0; i < sClrs.length; i++)
{
var newIcol=Math.round(Math.random()*i);
}
initialStarColor=sClrs[newIcol];
explosionSize= Math.round(80*Math.random()+100);
}
currStep+=step;
setTimeout("Fireworks()",20);
}
Fireworks();
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color22

Фейерверк 3

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <layer name="a0" left=10 top=10 visibility=show bgcolor="#ffffff" clip="0,0,1,1"></layer>
<layer name="a1" left=10 top=10 visibility=show bgcolor="#fff000" clip="0,0,1,1"></layer>
<layer name="a2" left=10 top=10 visibility=show bgcolor="#ffa000" clip="0,0,1,1"></layer>
<layer name="a3" left=10 top=10 visibility=show bgcolor="#ff00ff" clip="0,0,1,1"></layer>
<layer name="a4" left=10 top=10 visibility=show bgcolor="#00ff00" clip="0,0,1,1"></layer>
<layer name="a5" left=10 top=10 visibility=show bgcolor="#ff00ff" clip="0,0,1,1"></layer>
<layer name="a6" left=10 top=10 visibility=show bgcolor="#ff0000" clip="0,0,1,1"></layer>
<layer name="a7" left=10 top=10 visibility=show bgcolor="#ffffff" clip="0,0,1,1"></layer>
<layer name="a8" left=10 top=10 visibility=show bgcolor="#fff000" clip="0,0,1,1"></layer>
<layer name="a9" left=10 top=10 visibility=show bgcolor="#ffa000" clip="0,0,1,1"></layer>
<layer name="a10" left=10 top=10 visibility=show bgcolor="#ff00ff" clip="0,0,1,1"></layer>
<layer name="a11" left=10 top=10 visibility=show bgcolor="#00ff00" clip="0,0,2,2"></layer>
<layer name="a12" left=10 top=10 visibility=show bgcolor="#0000ff" clip="0,0,2,2"></layer>
<layer name="a13" left=10 top=10 visibility=show bgcolor="#ff0000" clip="0,0,2,2"></layer>
<div id="starsDiv" style="position:absolute;top:0px;left:0px">
<div style="position:relative;width:2px; height:2px;background:#ffffff;font-size:2px"></div>
<div style="position:relative;width:1px; height:1px;background:#fff000;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#ffa000;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#ff00ff;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#00ff00;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#0000ff;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#FF0000;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#ffffff;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#fff000;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#ffa000;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#ff00ff;font-size:1px"></div>
<div style="position:relative;width:2px; height:2px;background:#ff00ff;font-size:2px"></div>
<div style="position:relative;width:1px; height:1px;background:#0000ff;font-size:1px"></div>
<div style="position:relative;width:1px; height:1px;background:#FF0000;font-size:1px"></div>
</div>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site:  http://freespace.virgin.net/kurt.grigg -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var Clrs = new Array(9);
Clrs[0] = 'ff0000';
Clrs[1] = '00ff00';
Clrs[2] = '000aff';
Clrs[3] = 'ff00ff';
Clrs[4] = 'ffa500';
Clrs[5] = 'ffff00';
Clrs[6] = '00ff00';
Clrs[7] = 'ffffff';
Clrs[8] = 'fffff0';
var sClrs = new Array(5);
sClrs[0] = 'ffa500';
sClrs[1] = '55ff66';
sClrs[2] = 'AC9DFC';
sClrs[3] = 'fff000';
sClrs[4] = 'fffff0';
var yBase;
var xBase;
var step;
var currStep = 0;
var Xpos = 1;
var Ypos = 1;
var initialStarColor = 'ffa000';
var Mtop = 250;
var Mleft = 250;
function Fireworks() {
if (document.all) {
yBase = window.document.body.offsetHeight / 3;
xBase = window.document.body.offsetWidth / 8;
}
else if (document.layers) {
yBase = window.innerHeight / 3;
xBase = window.innerWidth / 8;
}
if (document.all) {
step = 5;
for ( i = 0 ; i < starsDiv.all.length ; i++ ) {
for (ai = 0; ai < Clrs.length; ai++) {
var c = Math.round(Math.random()*[ai]);
}
if (currStep < 90)
starsDiv.all[i].style.background=initialStarColor;
if (currStep > 90)
starsDiv.all[i].style.background=Clrs[c];
starsDiv.all[i].style.top = Mtop + yBase*Math.sin((currStep+i*5)/3)*Math.sin
 (550+currStep/100)
starsDiv.all[i].style.left = Mleft + yBase*Math.cos ((currStep+i*5)/3)*Math.sin(550+currStep/100)
}
}
else if (document.layers) {
step = 5;
for ( j = 0 ; j < 14 ; j++ ) { //number of NS layers!
var templayer = "a"+j;
for (ai = 0; ai < Clrs.length; ai++) {
var c = Math.round(Math.random()*[ai]);
}
if (currStep < 90)
document.layers[templayer].bgColor=initialStarColor;
if (currStep > 90)
document.layers[templayer].bgColor=Clrs[c];
document.layers[templayer].top = Mtop + yBase*Math.sin((currStep+j*5)/3)*Math.sin
 (550+currStep/100)
document.layers[templayer].left = Mleft + yBase*Math. cos((currStep+j*5)/3)*Math.sin(550+currStep/100)
}
}
currStep+= step;
T=setTimeout("Fireworks()",5);
if (currStep == 220) {
currStep = -10;
for (n = 0; n < sClrs.length; n++) {
var k = Math.round(Math.random()*n);
}
initialStarColor = sClrs[k];
if (document.all) {
Dtop = window.document.body.clientHeight - 250;
Dleft = xBase * 3.5;
Mtop = Math.round(Math.random()*Dtop);
Mleft = Math.round(Math.random()*Dleft);
document.all.starsDiv.style.top = Mtop+document.body.scrollTop;
document.all.starsDiv.style.left = Mleft+document.body.scrollLeft;
}
else if (document.layers) {
Dleft = window.innerWidth - 100;
Dtop = window.innerHeight - 100;
Mtop = Math.round (Math.random()*Dtop+window.pageYOffset);
Mleft = Math.round (Math.random()*Dleft+window.pageXOffset);
document.layers[templayer].top = Mtop;
document.layers[templayer].left = Mleft;
}
if ((Mtop < 20) || (Mleft < 20)) {
Mtop += 90;
Mleft += 90;
}
}
}
Fireworks();
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color23

Фейерверк 4
 (очень оригинальный)

?
!
?
!
?
.
?
.
!
!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<HEAD>

<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Original:  Matt Gabbert (mgabbert@usrtoday.com) -->
<!-- Web Site:  http://www.nolag.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ver  = navigator.appVersion;
var dom  = document.getElementById ? 1 : 0;
var ie5  = (ver.indexOf("MSIE 5") > -1 && dom) ? 1 : 0;
var n  = (document.layers);
var ie = (document.all);

var sparksAflyin = 0;
var totalSparks = 0;
var sparksOn = 1;
function initMouseEvents() {
document.onmousedown = mouseDown;
if (n) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE);
}
function mouseDown(e) {
if (sparksOn) {
var mousex = (n) ? e.pageX : event.x+document.body.scrollLeft;
var mousey = (n) ? e.pageY : event.y+document.body.scrollTop;
if (!sparksAflyin) {
for (var k = 0; k <= 9; k++)
eval('SHOW("sDiv'+k+'")');
sparksAflyin = 1;
totalSparks = 0;
for(i = 0;i <= 9; i++)
eval('moveTo('+i+',0,'+mousex+','+mousey+')');
}
}
}
function moveTo(i,j, mousex, mousey){
if (j < eval('anim_'+i+'_x.length') ){
var tempx = eval('anim_'+i+'_x[j]+mousex');
var tempy = eval('anim_'+i+'_y[j]+mousey');
if (ie) {
if(tempy+30 > (document.body.offsetHeight+document.body.scrollTop))
tempy = document.body.offsetHeight+document.body.scrollTop-30;
if(tempx+30 > (document.body.offsetWidth+document.body.scrollLeft))
tempx = document.body.offsetWidth+document.body.scrollLeft-30;
eval('document.all.sDiv'+i+'.style.left = tempx;');
eval('document.all.sDiv'+i+'.style.top  = tempy;');
}
if (n) {
eval('document.layers.sDiv'+i+'.left = tempx;');
eval('document.layers.sDiv'+i+'.top  = tempy;');
}
j++;
//  timeout: 50 = fireworks speed, larger number = slower speed
setTimeout("moveTo("+i+","+j+","+mousex+","+mousey+")",50)
}
else {
eval('HIDE("sDiv'+i+'")');
totalSparks++;
}
if (totalSparks == 10) {
sparksAflyin = 0;
totalSparks  = 0;
}
}
function SHOW(divName){
if (document.all)
eval('document.all.'+divName+'.style.visibility = "visible";');
else if (document.layers)
eval('document.layers["'+divName+'"].visibility = "visible";');
}
function HIDE(divName){
if (document.all)
eval('document.all.'+divName+'.style.visibility = "hidden";');
else if (document.layers)
eval('document.layers["'+divName+'"].visibility = "hide";');
}
anim_0_x=new Array(20,20,10,0,0,0,0,0,0,0,0,0);
anim_0_y=new Array(-20,-40,-60,-80,-60,-40,-20,0,20,40,60,80);
anim_1_x=new Array(20,20,17,36,60,78,90,92,93,98,108,120,133,152,181);
anim_1_y=new Array(-20,-20,-33,-38,-38,-27,-2,25,51,84,113,141,162,212,253);
anim_2_x=new Array(20,20,2,3,4,5,6,7,8,9,10,12,13,15,18);
anim_2_y=new Array(-20,-20,-33,-38,-38,-27,-2,25,51,84,113,141,162,212,253);
anim_3_x=new Array(-20,-20,-2,-1,7,10,18,35,60,102,94,94,93,97,108,111,117,127);
anim_3_y=new Array(-20,-25,-64,-89,-104,-150,-173,
      -197,-213,-199,-151,-101,-66,-17,27,87,140,189);
anim_4_x=new Array(-20,-20,-10,-39,-30,-69,-64,-138,-154,-200,-181,
      -209,-191,-207,-203,-213,-202,-221,-211);
anim_4_y=new Array(-20,-20,-28,-51,-79,-100,-135,
      -154,-193,-183,-149,-134,-89,-60,8,51,107,157,201);
anim_5_x=new Array(-20,-29,-51,-72,-105,-133,-164,-189,-209,
      -229,-247,-270,-279,-282,-283,-283,-285,-286,-288);
anim_5_y=new Array(-20,-55,-86,-116,-154,-183,-205,
      -217,-217,-198,-169,-120,-44,-8,40,87,144,190,248);
anim_6_x=new Array(-20,-20,-7,14,44,79,143,186,217,
      226,234,244,250,259,265,274);
anim_6_y=new Array(-20,-21,-72,-113,-139,-166,-188,
      -181,-126,-68,-3,54,134,187,215,257);
anim_7_x=new Array(20,20,-3,-9,-13,-27,-33,-44,-54,-66,-77,-95,-107,
      -136,-150,-160,-164,-168,-171,-172,-172,-176,-175);
anim_7_y=new Array(-20,-26,-43,-63,-89,-116,-145,-169,-201,-222,-240,
      -253,-254,-245,-220,-195,-160,-124,-81,-53,-26,19,68);
anim_8_x=new Array(-20,20,-35,39,0,45,-1,24,-15,
      14,-20,35,-18,38,-11,16,49,64,81,93,100,103,109);
anim_8_y=new Array(-20,-20,-32,-42,-62,-76,-89,-107,-132,-147,-173,
      -180,-192,-209,-236,-193,-119,-73,-24,51,95,130,188);
anim_9_x=new Array(-20,-51,-89,-110,-165,-191,-228,-240,-259,-271,-277,-281,-287);
anim_9_y=new Array(-20,-20,-35,-37,-34,-16,10,47,105,150,189,227,273);
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="initMouseEvents()">

<!-- Вместо точек, вопросов и воскл.
    знаков можно использовать рисунки.
    Удалите выделенное белым-->
<!-- и впишите тэг для рисунка, который
    должен выглядеть так <img src="..."> -->

<div id="sparks">
<div id="sDiv0" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="red">?</font></div>
<div id="sDiv1" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="yellow">!</font></div>
<div id="sDiv2" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="blue">?</font></div>
<div id="sDiv3" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="red">!</font></div>
<div id="sDiv4" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="orange">?</font></div>
<div id="sDiv5" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="white">.</font></div>
<div id="sDiv6" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="green">!</font></div>
<div id="sDiv7" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="skyblue">!</font></div>
<div id="sDiv8" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="yellow">.</font></div>
<div id="sDiv9" style="position:absolute; visibility: hidden;"><font
    face="arial black" color="white">?</font></div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color20

Выбор цвета фона по названию

 [Зеленый]
[Светло-зеленый]
[Морская волна]
[Красный]
[Мажента]
[Фусия]
[Розовый]
[Пурпурный]
[Темно-синий]
[Синий]
[Royal Blue]
[Небесно-голубой]
[Желтый]
[Коричневый]
[Бордовый]
[Белый]
[Черный]
[Корал]
[Оливковый]
[Оранжевый]

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <CENTER>

<!-- This script and many more are available online free at -->
<!-- The JavaScript Source!! http://javascript.internet.com (осторожно,
 много багов!) -->

[<a href="/"
onmouseover="document.bgColor='green'">Зеленый</a>]
[<a href="/"
onmouseover="document.bgColor='greem'">Светло-зеленый</a>]
[<a href="/"
onmouseover="document.bgColor='seagreen'">Морская волна</a>]
[<a href="/"
onmouseover="document.bgColor='red'">Красный</a>]<BR>
[<a href="/"
onmouseover="document.bgColor='magenta'">Мажента</a>]
[<a href="/"
onmouseover="document.bgColor='fusia'">Фусия</a>]
[<a href="/"
onmouseover="document.bgColor='pink'">Розовый</a>]
[<a href="/"
onmouseover="document.bgColor='purple'">Пурпурный</a>]<BR>
[<a href="/"
onmouseover="document.bgColor='navy'">Темно-синий</a>]
[<a href="/"
onmouseover="document.bgColor='blue'">Синий</a>]
[<a href="/"
onmouseover="document.bgColor='royalblue'">Royal Blue</a>]
[<a href="/"
onmouseover="document.bgColor='Skyblue'">Небесно-голубой</a>]<BR>
[<a href="/"
onmouseover="document.bgColor='yellow'">Желтый</a>]
[<a href="/"
onmouseover="document.bgColor='brown'">Коричневый</a>]
[<a href="/"
onmouseover="document.bgColor='almond'">Almond</a>]
[<a href="/"
onmouseover="document.bgColor='white'">Белый</a>]<BR>
[<a href="/"
onmouseover="document.bgColor='black'">Черный</a>]
[<a href="/"
onmouseover="document.bgColor='coral'">Корал</a>]
[<a href="/"
onmouseover="document.bgColor='olivedrab'">Оливковый</a>]
[<a href="/"
onmouseover="document.bgColor='orange'">Оранжевый</a>]
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color38

"Диско"
Эффект перед Вами!

Ничего в скрипте менять не надо - все оптимизировано. Единственное, что можно сделать - это задать начальный цвет - выделен белым (RGB).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--
//Начальный цвет устанавливается здесь
r=255;
g=255;
b=255;
flag=0;
t=new Array;
o=new Array;
d=new Array;

function hex(a,c)
{
t[a]=Math.floor(c/16)
o[a]=c%16
switch (t[a])
{
case 10:
t[a]='A';
break;
case 11:
t[a]='B';
break;
case 12:
t[a]='C';
break;
case 13:
t[a]='D';
break;
case 14:
t[a]='E';
break;
case 15:
t[a]='F';
break;
default:
break;
}
switch (o[a])
{
case 10:
o[a]='A';
break;
case 11:
o[a]='B';
break;
case 12:
o[a]='C';
break;
case 13:
o[a]='D';
break;
case 14:
o[a]='E';
break;
case 15:
o[a]='F';
break;
default:
break;
}
}

function ran(a,c)
{
if ((Math.random()>2/3||c==0)&&c<255)
{
c++
d[a]=2;
}
else
{
if ((Math.random()<=1/2||c==255)&&c>0)
{
c--
d[a]=1;
}
else d[a]=0;
}
return c
}
function do_it(a,c)
{
if ((d[a]==2&&c<255)||c==0)
{
c++
d[a]=2
}
else
if ((d[a]==1&&c>0)||c==255)
{
c--;
d[a]=1;
}
if (a==3)
{
if (d[1]==0&&d[2]==0&&d[3]==0)
flag=1
}
return c
}
function disco()
{
if (flag==0)
{
r=ran(1, r);
g=ran(2, g);
b=ran(3, b);
hex(1,r)
hex(2,g)
hex(3,b)
document.bgColor="#"+t[1]+o[1]+t[2]+o[2]+t[3]+o[3]
flag=50
}
else
{
r=do_it(1, r)
g=do_it(2,g)
b=do_it(3,b)
hex(1,r)
hex(2,g)
hex(3,b)
document.bgColor="#"+t[1]+o[1]+t[2]+o[2]+t[3]+o[3]
flag--
}
if (document.all)
setTimeout('disco()',50)
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="disco()">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


color43

Дистанционное управление цветом фона

Содержимое этой таблицы поместите между <HEAD> и </HEAD> основного документа

<!-- /////////////////////////////// ////////////////////////////////////////////
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
///////////////////////////////// ////////////////////////////////////////// -->

<SCRIPT LANGUAGE="JavaScript">
<!--
var winopts =
"toolbar=no,location=yes,directories=no,status=no"
+ ",menubar=no,scrollbars=yes,resizable=yes"

//security
// + ",copyhistory=yes"
+ ",width=390,height=400"

// To start
function Start() {
// window for controller
CtrlWin = this.open("popup24a.htm", "CtrlWindow", winopts);
// window
CtrlWin.IMAWin = this;
// debugging
// ShowWin = this.open("", "ShowWindow", winopts);
// CtrlWin.ShowWin = ShowWin;
}

//-->
</SCRIPT>

Содержимое этой таблицы поместите вместо <BODY> основного документа

<body onLoad="Start()">

Создайте дополнительный HTML документ popup24a.htm

<HTML><HEAD>
<title>Управление цветом</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<!-- ///////////////////////////////// //////////////////////////////////////////
Cut & Paste JavaScript
Copyright 1996, IMA STUDIOS, Inc.
This code may not be resold.
This Copyright notice must be included
on every document that contains this code.
A link to http://www.imastudios.com should
be included somewhere on your document.
////////////////////////////////////// ///////////////////////////////////// -->

</HEAD>
<body  bgcolor="white"  text="black" link="red" alink="purple" vlink="red">

<code><b>
Это пример отлично демонстрирует как можно
можно дистанционно управлять другим окном

<SCRIPT LANGUAGE="JavaScript">
<!--
var OldUrl  = "none";
var MyColor = "none";
var DsplyStr= "Manu";
var TimeWait  = 1000;
var TimeDelta =  100;
var Tid;

function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i+1] = initArray.arguments[i];
}
}

var BkgdColorSet = new initArray(
7,
"black",
"gray",
"tan",
"blue",
"purple",
"yellow",
"green",
"brown",
"teal",
"pink",
"aliceblue",
"antiquewhite",
"salmon",
"sandybrown",
"seagreen",
"seashell",
"sienna",
"silver",
"skyblue",
"slateblue",
"slategray",
"snow",
"springgreen",
"tan",
"teal",
"thistle",
"tomato",
"turquoise",
"violet",
"wheat",
"white" ,
"whitesmoke",
"yellow",
"yellowgreen"

)

function IncrTimeWait () {
TimeWait = TimeWait + TimeDelta;
DsplyStr = "" + TimeWait + "ms";
this.document.PageTrack.Monitor.value = DsplyStr;
}

function DecrTimeWait () {
if (TimeWait > TimeDelta) {
TimeWait = TimeWait - TimeDelta;
DsplyStr = "" + TimeWait + "ms";
this.document.PageTrack.Monitor.value = DsplyStr;
} else {
this.alert("You can't let TimeWait = 0 !");
}
}

function PageMani(color) {
this.IMAWin.document.bgColor = color;
}

function PageOrig() {
this.IMAWin.location = this.IMAWin.location;
}

function Cycle() {
// A simple way to know if this automator is still alive.
if (DsplyStr == "Auto") {
DsplyStr = "" + TimeWait + "ms";
} else {
DsplyStr = "Auto";
}
this.document.PageTrack.Monitor.value = DsplyStr;
CurUrl = "" + this.IMAWin.location;
if (CurUrl != OldUrl) {
OldUrl = "" + this.IMAWin.location;
PageMani(MyColor);
}
// sleep().
Tid = setTimeout("Cycle()",TimeWait);
}

function StartCycle() {
if (MyColor == "none") {
this.alert("Please select a color.");
} else {
// avoid more than one cycle().
clearTimeout(Tid);
DsplyStr = "Auto";
PageMani(MyColor);
Cycle();
}
}

function StopCycle() {
if (MyColor == "none") {
this.alert("Please select a color.");
} else {
clearTimeout(Tid);
DsplyStr = "Manu";
PageMani(MyColor);
this.document.PageTrack.Monitor.value = DsplyStr;
}
}

//-->
</SCRIPT>
<CENTER>
<FONT COLOR="black">
</FONT>
</CENTER>

<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("");
document.write("</CENTER>");
document.write("</FORM>");
document.write("<FORM NAME='ColorSlct'>");
for (var i = 1; i < BkgdColorSet.length; i++) {
mono = '"' + BkgdColorSet[i+1] + '"';
document.write(
"<INPUT TYPE='radio' NAME='ColorSlct' onClick='MyColor="
+ mono
+ ";PageMani(MyColor)'><FONT COLOR='black'>"
+ mono.substring(1, mono.length-1)
+ "</FONT><BR>"
);
}
document.write("</FORM>");
document.write("");
document.write("<FORM>");
document.write("");
document.write(
"<INPUT TYPE='button' style=\"width:330\" VALUE='Вернуть оригинальный цвет
  ' onClick='PageOrig();self.close()'>"
);
document.write("");
document.write("</FORM>");
document.write("");
//-->
</SCRIPT>
</BODY></HTML>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color12

Дождь

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Matthew Musgrove ( muskrat@lvnworth.com) -->
<!-- Web Site: http://free.prohosting.com/~musgrove -->

<!-- Begin
var no = 50;
var speed = 1;
var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var s, x, y, sn, cs;
var a, r, cx, cy;
var i, doc_width = 800, doc_height = 600;
if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
else
if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
x = new Array();
y = new Array();
r = new Array();
cx = new Array();
cy = new Array();
s = 8;
for (i = 0; i < no; ++ i) {
initRain();
if (ns4up) {
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");
document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");
document.write(",</font></layer>");
}
else {
document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");
document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");
document.write(",</font></layer>");
}
}
else
if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");
document.write(",</font></div>");
}
else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");
document.write(",</font></div>");
}
}
}
function initRain() {
a = 6;
r[i] = 1;
sn = Math.sin(a);
cs = Math.cos(a);
cx[i] = Math.random() * doc_width + 1;
cy[i] = Math.random() * doc_height + 1;
x[i] = r[i] * sn + cx[i];
y[i] = cy[i];
}
function makeRain() {
r[i] = 1;
cx[i] = Math.random() * doc_width + 1;
cy[i] = 1;
x[i] = r[i] * sn + cx[i];
y[i] = r[i] * cs + cy[i];
}
function updateRain() {
r[i] += s;
x[i] = r[i] * sn + cx[i];
y[i] = r[i] * cs + cy[i];
}
function raindropNS() {
for (i = 0; i < no; ++ i) {
updateRain();
if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
makeRain();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
document.layers["dot"+i].top = y[i];
document.layers["dot"+i].left = x[i];
}
setTimeout("raindropNS()", speed);
}
function raindropIE() {
for (i = 0; i < no; ++ i) {
updateRain();
if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
makeRain();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
document.all["dot"+i].style.pixelTop = y[i];
document.all["dot"+i].style.pixelLeft = x[i];
}
setTimeout("raindropIE()", speed);
}
if (ns4up) {
raindropNS();
}
else
if (ie4up) {
raindropIE();
}
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color21

Затемнение с переходом на страницу
 Скрипт следует использовать для эффектного перехода на страницу. По сути, страница, на которой расположен скрипт, осуществляет редирект на нужную страницу, сопровождая это цветовым эффектом. Иными словами, Вы не смогли бы прочитать этот текст, если бы на этой странице работал скрипт предложенный ниже - страница появилась бы на пару секунд, затемнилась и Вас перенесло бы на страницу home.htm (отмечена белым цветом в таблице). Просто, здесь сделана небольшая модификация для удобства объяснения, а для просмотра эффекта нажмите кнопку "ТЕСТ".

(Не копируйте код из источника! Он будет работать некорректно на Ваших страницах)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function makearray(n) {
this.length = n;
for(var i = 1; i <= n; i++)
this[i] = 0;
return this;
}
hexa = new makearray(16);
for(var i = 0; i < 10; i++)
hexa[i] = i;
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";
function hex(i) {
if (i < 0)
return "00";
else if (i > 255)
return "ff";
else
return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}
function setbgColor(r, g, b) {
var hr = hex(r); var hg = hex(g); var hb = hex(b);
document.bgColor = "#"+hr+hg+hb;
}
function fade(sr, sg, sb, er, eg, eb, step) {
for(var i = 0; i <= step; i++) {
setbgColor(
Math.floor(sr * ((step-i)/step) + er * (i/step)),
Math.floor(sg * ((step-i)/step) + eg * (i/step)),
Math.floor(sb * ((step-i)/step) + eb * (i/step)));
}
}
function fadein() {
fade(240,232,223,0,0,0,255);
}

fadein();
window.location="home.htm";
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color 6

Замена рисунка фона
(ПРИ НАВЕДЕНИИ МЫШИ)

(MSIE only)

 Наведите мышь
на рисунок!

Наведите мышь
на рисуноk!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
{
clear = new Image(); clear.src = "clear.gif";
pic1 = new Image(); pic1.src = "Stars.gif";
pic2 = new Image(); pic2.src = "granit.jpg";
}
function imagechange(imgName) {
if (navigator.appName == "Microsoft Internet Explorer") {
document.body.background = eval(imgName + ".src");
}
}
// End changing-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body background="clear.gif">

<a href="#top" ; onMouseOver="imagechange('pic1');" onMouseOut="imagechange('clear');">
<img src="Stars.gif" width="40" height="40" style="border: 2 solid gray"></a><BR>
</font>
<FONT face=Arial size=1>Наведите мышь<BR> на рисунок!</FONT>
<font size="4" color="#FF0000">
<BR><BR>
<a href="#top"; onMouseOver="imagechange('pic2');" onMouseOut="imagechange('clear');"><img src="granit.jpg" width="40" height="40" style="border: 1 solid #000000"></a><BR>
</font>
<FONT face=Arial size=1>Наведите мышь<BR> на рисуноk!</FONT><font size="4" color="#FF0000">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Выделенный белым цветом рисунок - это рисунок background. В данном случае - это прозрачный gif.

Нажмите кнопку и скопируйте рисунок(рисунки) обычным способом.


Color41

Изменение рисунка фона после клика по рисунку
Кликните по любому рисунку и он станет рисунком фона. Вообще любой рисунок помещенный в коде (вторая таблица) между тэгами <div> и </div> приобретает такие "волшебные" свойства. Но, как ни прискорбно, вся эта "магия" работает только в IE (благодаря, наверное, главному шаману B.G.)

- это прозрачный gif

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
/*Background previewer credit: Website Abstraction (www.wsabstract.com) More scripts here*/
.bgimages img {cursor:hand; border:2 solid red}
</style>
<script language="JavaScript1.2">
<!--
function tile(){
if (!document.all)
return
var source=event.srcElement
if (source.tagName=="IMG")
document.body.style.backgroundImage="url("+source.src+")"
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div class="bgimages" onClick="tile()">
<img src="backgr10.gif" width="50" height="50">
<img src="backgr11.gif" width="50" height="50">
<img src="euro.gif" width="50" height="50">
<img src="empty.gif" width="50" height="50">
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color40

Изменение рисунка фона кнопки при наведении мыши
Это может быть вовсе не кнопка! Любой элемент, в котором предусмотрен рисунок фона!

Только IE4.5+

В качестве фоновых использованы рисунки национальных флагов этих стран. Рисунок можно определить единым для всех кнопок (вовсе не обязательно флаг!). Для этого выделенную белым строку поместите в тэг <form сюда >, а из остальных тэгов подобные строки просто удалите.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--

/*
rollover image buttons script credit: Website Abstraction (www.wsabstract.com) More free JavaScripts here. Note:Credit must stay intact for use.
*/

function change2(image){
if (event.srcElement.tagName=="INPUT")
event.srcElement.style.background="url"+"('"+image+"')"
}

function jumpto2(url){
window.location=url
}

//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form >
<input type="button" onMouseover="change2('spain.gif')" onMouseout="change2('')" value="В Испанию !" style="font-weight:bold;width:130" onClick="jumpto2('cut1.htm')"><br>
<input type="button" onMouseover="change2('germany.gif')" onMouseout="change2('')" value="В Германию !" style="font-weight:bold;width:130" onClick="jumpto2('cut2.htm')"><br>
<input type="button" onMouseover="change2('luxembourg.gif')" onMouseout="change2('')" value="В Люксембург! " style="font-weight:bold;width:130" onClick="jumpto2('cut3.htm')"><br>

</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


color45

Изменение цвета фона с помощью ползунков
DHTML

Проценты 255

Данные, определяющие положение каждого ползунка на странице выделены соответственно белым, желтым иголубым цветами. Кнопки разместятся именно там, где Вы разместите их на странице.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>.drag {position: relative; cursor: hand}</style>
<SCRIPT LANGUAGE="JavaScript1.2">
// Slider script by Ronald H. Jankowsky (http://rj-edv-beratung.de), parts of code (draglayer, movelayer) by DynamicDrive.com
// This script is free for use, please leave this notice intact
var sPosition;
var showPerc=100;
document.onmousedown=dragLayer
document.onmouseup=new Function("dragMe=false")

var Color= new Array();
Color[0] = "00";
Color[1] = "11";
Color[2] = "22";
Color[3] = "33";
Color[4] = "44";
Color[5] = "55";
Color[6] = "66";
Color[7] = "77";
Color[8] = "88";
Color[9] = "99";
Color[10] = "AA";
Color[11] = "BB";
Color[12] = "CC";
Color[13] = "DD";
Color[14] = "EE";
Color[15] = "FF";

// Demofunction to change bg-color by moving slider
var rVal,gVal,bVal, cCol
function chgBg() {
cCol = document.bgColor; rVal=cCol.substr(1,2); gVal=cCol.substr(3,2); bVal=cCol.substr(5,2);
ind = Math.round(showPerc/16); if (ind < 0) ind = 0; if (ind > 15) ind=15;
// If more sliders are used, each of them has to be handled separately
if (kObj.id =="knobImg") document.bgColor="#"+Color[ind]+gVal+bVal;
if (kObj.id =="knobImg1") document.bgColor="#"+rVal+Color[ind]+bVal;
if (kObj.id =="knobImg2") document.bgColor="#"+rVal+gVal+Color[ind];
}

// Drag and move engine (original code by DynamicDrive.com), don't change unless explicitely indicated
var dragMe=false, kObj, yPos,direction
function moveLayer() {
if (event.button==1 && dragMe) {
oldY = kObj.style.pixelTop; kObj.style.pixelTop=temp2+event.clientY-yPos;
// Limit movement of knob to stay inside layer
if (kObj.style.pixelTop > oldY) direction="dn"; else direction="up";
if (kObj.style.pixelTop < 2 && direction=="up") {kObj.style.pixelTop=2; direction="dn";}
if (kObj.style.pixelTop > 102 && direction=="dn") {kObj.style.pixelTop=102; direction="up";}
// Set working variable 'showPerc' depending on 100 or 250 scaling
sPosition=kObj.style.pixelTop; showPerc = (perCent[0].checked) ? sPosition-2 : (sPosition-2)/2*5;
// The following line should be replaced by the function-call with the actual task to perform
chgBg();
return false; }
}
function dragLayer() {
if (!document.all) return;
if (event.srcElement.className=="drag") {dragMe=true; kObj=event.srcElement; temp2=kObj.style.pixelTop; yPos=event.clientY; document.onmousemove=moveLayer; }
}
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="outerLyr" style="position:absolute; width:23px; height:120px; z-index:1; left: 155px; top: 111px; background-color: #000000">
<img id="knobImg" src="knob.jpg" class="drag" style="width: 20px; height: 17px; z-index:3; left: 2px; top: 100px">
<div id="innerLyr" style="position:absolute; width:20px; height:117px; z-index:2; background-color: #777777; left: 2px; top: 2px">
<div id="barLyr" style="position:absolute; width:2px; height:110px; z-index:1; background-color: #000000; left: 9px; top: 5px"></div>
</div>
</div>
<div id="outerLyr1" style="position:absolute; width:23px; height:120px; z-index:1; left: 185px; top: 111px; background-color: #000000">
<img id="knobImg1" src="knob.jpg" class="drag" style="width: 20px; height: 17px; z-index:3; left: 2px; top: 100px">
<div id="innerLyr1" style="position:absolute; width:20px; height:117px; z-index:2; background-color: #777777; left: 2px; top: 2px">
<div id="barLyr1" style="position:absolute; width:2px; height:110px; z-index:1; background-color: #000000; left: 9px; top: 5px"></div>
</div>
</div>
<div id="outerLyr2" style="position:absolute; width:23px; height:120px; z-index:1; left: 215px; top: 111px; background-color: #000000">
<img id="knobImg2" src="knob.jpg" class="drag" style="width: 20px; height: 17px; z-index:3; left: 2px; top: 100px">
<div id="innerLyr2" style="position:absolute; width:20px; height:117px; z-index:2; background-color: #777777; left: 2px; top: 2px">
<div id="barLyr2" style="position:absolute; width:2px; height:110px; z-index:1; background-color: #000000; left: 9px; top: 5px"></div>
</div>
<!-- This would be a way to configure if slider range is 0-100 or 0-255 -->
</div>
<input type="radio" name="perCent" value="false">Проценты
<input type="radio" name="perCent" value="true" checked>255

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color1

КАЛЬКУЛЯТОР ЦВЕТА.

Калькулятор преобразует выбранный цвет в цифровой код.
Нажмите на понравивщийся цвет для просмотра его кода.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<TABLE align=center WIDTH="100%" cellpadding=0 cellspacing=0 border=1 bordercolor="#0000FF" bordercolordark="#FFFFFF" width="100%">
<TD valign="top">&nbsp;
</font>
<div>
<p align="center"><b>
<font size="4" color="#FF0000">
КАЛЬКУЛЯТОР&nbsp; ЦВЕТА.
</font>
</b></div>
<font size="4" color="#FF0000">
&nbsp;
<HR COLOR="BLUE" WIDTH="100%" SIZE="1">
</font>
<div>
<p align="center">
<font face="Helvetica_Condenced-Normal" color="#000000" size="3">
Калькулятор преобразует выбранный цвет в цифровой код.<br>
Нажмите на понравивщийся цвет для просмотра его кода.</font>
<font size="4" color="#FF0000">
<br><br>
<script LANGUAGE="JavaScript"><!--
var hex = new Array(6)
hex[0] = "FF"
hex[1] = "CC"
hex[2] = "99"
hex[3] = "66"
hex[4] = "33"
hex[5] = "00"
function display(triplet) {
document.bgColor = '#' + triplet
alert('ЦИФРОВОЙ КОД ЦВЕТА ФОНА = ' + triplet)
}
function drawCell(red, green, blue) {
document.write('<TD BGCOLOR="#' + red + green + blue + '">')
document.write('<A HREF="javascript:display(\'' + (red + green + blue) + '\')">')
document.write('<IMG SRC="place.gif" BORDER=0 HEIGHT=12 WIDTH=12>')
document.write('</A>')
document.write('</TD>')
}
function drawRow(red, blue) {
document.write('<TR>')
for (var i = 0; i < 6; ++i) {
drawCell(red, hex[i], blue)
}
document.write('</TR>')
}
function drawTable(blue) {
document.write('<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>')
for (var i = 0; i < 6; ++i) {
drawRow(hex[i], blue)
}
document.write('</TABLE>')
}
function drawCube() {
document.write('<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=1><TR>')
for (var i = 0; i < 3; ++i) {
document.write('<TD BGCOLOR="#FFFFFF">')
drawTable(hex[i])
document.write('</TD>')
}
document.write('</TR>')
{
document.write('<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=1><TR>')
for (var i = 3; i < 6; ++i) {
document.write('<TD BGCOLOR="#FFFFFF">')
drawTable(hex[i])
document.write('</TD>')
}
document.write('</TR></TABLE>')
}
}
drawCube()
// --></script>
</div>
</font>
</TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Calculator31

Калькулятор цвета RGB-HEX

Standard 216 Color Palette
Houser's RGB2HEX DHTML App
Red | Green | Blue
Hexdecimal

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
<!--
#subtext { font-family:helvetica,arial; font-size:8pt; background-color:#CCCCCC; layer-background-color:#CCCCCC;}
#title { font-family:helvetica,arial; font-size:13pt; font-weight:bold; }

#red { position:absolute; left:34; top:100; width:256; height:10; z-index:1; visibility:visible; background-image:url(redback.gif); layer-background-image:url(redback.gif); clip:rect(0px 256px 10px 0px);}
#green { position:absolute; left:34; top:120; width:256; height:10; z-index:1; visibility:visible; background-image:url(greenback.gif); layer-background-image:url(greenback.gif); clip:rect(0px 256px 10px 0px);}
#blue { position:absolute; left:34; top:140; width:256; height:10; z-index:1; visibility:visible; background-image:url(blueback.gif); layer-background-image:url(blueback.gif); clip:rect(0px 256px 10px 0px);}

#redSlider { position:absolute; left:30; top:98; width:8; height:14; z-index:2; visibility:visible; background-image:url(scroll-boxh.gif); layer-background-image:url(scroll-boxh.gif); clip:rect(0px 8px 14px 0px);}
#greenSlider { position:absolute; left:30; top:118; width:8; height:14; z-index:2; visibility:visible; background-image:url(scroll-boxh.gif); layer-background-image:url(scroll-boxh.gif); clip:rect(0px 8px 14px 0px);}
#blueSlider { position:absolute; left:30; top:138; width:8; height:14; z-index:2; visibility:visible; background-image:url(scroll-boxh.gif); layer-background-image:url(scroll-boxh.gif); clip:rect(0px 8px 14px 0px);}

#display { position:absolute; left:300; top:100; width:50px; height:50px; z-index:1; visibility:visible; background-color:#000000; layer-background-color:#000000; }
#hexValue { position:absolute; left:34; top:160; width:320; height:20; z-index:1; visibility:visible;}
#titleBar { position:absolute; left:34; top:70; width:320; height:20; z-index:1; background-color:#DDDDDD; layer-background-color:#DDDDDD;}
#colorTable { position:absolute; left:360; top:70; width:320; height:200; z-index:1; visibility:visible;}
//-->
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Andrew Houser (houser@houserdesign.com) -->
<!-- Web Site: http://www.houserdesign.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function init() {
ns4 = (document.layers)?true:false;
ie4 = (document.all)?true:false;
sliderMin = 50;
sliderMax = 306;
rValue=0;
gValue=0;
bValue=0;
r1 = '0';
r2 = '0';
g1 = '0';
g2 = '0';
b1 = '0';
b2 = '0';
Rgb = '0';
rGb = '0';
rgB = '0';
rActive = false;
gActive = false;
bActive = false;
document.onmousedown = mouseDown
document.onmousemove = mouseMove
document.onmouseup = mouseUp
if (ns4) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
if (ns4) {
domRed = document.redSlider;
domRed.xpos = parseInt(domRed.left);
domRed.ypos = parseInt(domRed.top);
domRed.w = domRed.clip.width;
domRed.h = domRed.clip.height;
domGreen = document.greenSlider;
domGreen.xpos = parseInt(domGreen.left);
domGreen.ypos = parseInt(domGreen.top);
domGreen.w = domGreen.clip.width;
domGreen.h = domGreen.clip.height;
domBlue = document.blueSlider;
domBlue.xpos = parseInt(domBlue.left);
domBlue.ypos = parseInt(domBlue.top);
domBlue.w = domBlue.clip.width;
domBlue.h = domBlue.clip.height;
domDisplay = document.display;
domValue = document.hexValue.document.frmValue.valueDisp;
domredValue = document.hexValue.document.frmValue.RgbDisp;
domgreenValue = document.hexValue.document.frmValue.rGbDisp;
domblueValue = document.hexValue.document.frmValue.rgBDisp;
}
else {
domRed = redSlider.style;
domRed.xpos = redSlider.offsetLeft;
domRed.ypos = redSlider.offsetTop;
domRed.w = redSlider.clientWidth;
domRed.h = redSlider.clientHeight;
domGreen = greenSlider.style;
domGreen.xpos = greenSlider.offsetLeft;
domGreen.ypos = greenSlider.offsetTop;
domGreen.w = greenSlider.clientWidth;
domGreen.h = greenSlider.clientHeight;

domBlue = blueSlider.style;
domBlue.xpos = blueSlider.offsetLeft;
domBlue.ypos = blueSlider.offsetTop;
domBlue.w = blueSlider.clientWidth;
domBlue.h = blueSlider.clientHeight;
domDisplay = display;
domValue = frmValue.valueDisp;
domredValue = frmValue.RgbDisp;
domgreenValue = frmValue.rGbDisp;
domblueValue = frmValue.rgBDisp;
}
hexArray = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
}
function mouseDown(e) {
if ((ns4 && e.which!=1) || (ie4 && event.button!=1)) return true;
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft;
var y = (ns4)? e.pageY : event.y+document.body.scrollTop;
if (x > domRed.xpos && x < domRed.xpos+domRed.w && y > domRed.ypos && y < domRed.ypos+domRed.h){ rActive = true; dragObject = domRed; }
if (x > domGreen.xpos && x < domGreen.xpos+domGreen.w && y > domGreen.ypos && y < domGreen.ypos+domGreen.h){ gActive = true; dragObject = domGreen; }
if (x > domBlue.xpos && x < domBlue.xpos+domBlue.w && y > domBlue.ypos && y < domBlue.ypos+domBlue.h){ bActive = true; dragObject = domBlue; }
if (rActive==true || gActive==true || bActive==true){
if (x>=dragObject.xpos && x<=dragObject.xpos+dragObject.w) {
dragObject.dragOffsetX = x-dragObject.xpos
}
return false
}
else {
return true
}
}
function mouseMove(e) {
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft;
var y = (ns4)? e.pageY : event.y+document.body.scrollTop;
if (rActive) {
rMoveTo = x-dragObject.dragOffsetX;
if (rMoveTo > sliderMax) rMoveTo = 306;
if (rMoveTo < sliderMin) rMoveTo = 50;
domRed.xpos = rMoveTo;
domRed.left = domRed.xpos;
rValue = (domRed.xpos+4)-50;
calcValue(rMoveTo-50, 'red');
}
if (gActive) {
gMoveTo = x-dragObject.dragOffsetX;
if (gMoveTo > sliderMax) gMoveTo = sliderMax;
if (gMoveTo < sliderMin) gMoveTo = sliderMin;
domGreen.xpos = gMoveTo;
domGreen.left = domGreen.xpos;
gValue = (domGreen.xpos+4)-50;
calcValue(gMoveTo-50, 'green');
}
if (bActive) {
bMoveTo = x-dragObject.dragOffsetX;
if (bMoveTo > sliderMax) bMoveTo = sliderMax;
if (bMoveTo < sliderMin) bMoveTo = sliderMin;
domBlue.xpos = bMoveTo;
domBlue.left = domBlue.xpos;
bValue = (domBlue.xpos+4)-50;
calcValue(bMoveTo-50, 'blue');
}
return true
}
function mouseUp(e) {
var x = (ns4)? e.pageX : event.x+document.body.scrollLeft
var y = (ns4)? e.pageY : event.y+document.body.scrollTop
rActive = false;
gActive = false;
bActive = false;
return true
}
function calcValue(base, color) {
base -= 1;
if (base < 16) { first = 0; }
else { first = parseInt(base/16); }
if (base < 0 ) { second = 0; base = 0; }
else { second = parseInt(base%16); }
c1=hexArray[first];
c2=hexArray[second];
if (color == 'red') { r1 = c1; r2 = c2; Rgb=base; }
else if (color == 'green') { g1 = c1; g2 = c2; rGb=base; }
else { b1 = c1; b2 = c2; rgB=base; }
domValue.value = eval('"'+r1+r2+g1+g2+b1+b2+'"');
domredValue.value = eval('"'+Rgb+'"');
domgreenValue.value = eval('"'+rGb+'"');
domblueValue.value = eval('"'+rgB+'"');
if (ns4) { domDisplay.bgColor = eval('"#'+r1+r2+g1+g2+b1+b2+'"'); }
else { domDisplay.style.backgroundColor = eval('"#'+r1+r2+g1+g2+b1+b2+'"'); }
return true;
}
function manualSet(value,color) {
if (value < 0) value=0;
if (value > 255) value=255;
++value;
calcValue(value,color);
if (color == 'red'){ domRed.xpos = value+sliderMin-4; domRed.left = domRed.xpos; }
else if (color == 'green'){ domGreen.xpos = value+sliderMin-4; domGreen.left = domGreen.xpos; }
else { domBlue.xpos = value+sliderMin-4; domBlue.left = domBlue.xpos; }
}
function convertHex(hexString) {
if(hexString == null) hexString = domValue.value;
inputHexArray = new Array(6);
for(i=0;i<=5;++i) {
inputHexArray[i] = hexString.charAt(i);
}
for(i=0;i<=5;++i) {
tempHexVal = inputHexArray[i];
for(j=0;j<=15;++j) {
if(tempHexVal == hexArray[j]) tempHexVal = j;
}
inputHexArray[i] = tempHexVal;
}
Rgb = (inputHexArray[0]*16)+inputHexArray[1]+1;
calcValue(Rgb,'red');
manualSet(Rgb,'red');
rGb = (inputHexArray[2]*16)+inputHexArray[3]+1;
calcValue(rGb,'green');
manualSet(rGb,'green');
rgB = (inputHexArray[4]*16)+inputHexArray[5]+1;
calcValue(rgB,'blue');
manualSet(rgB,'blue');
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="init()">

<div id="red"></div>
<div id="green"></div>
<div id="blue"></div>

<div id="redSlider"></div>
<div id="greenSlider"></div>
<div id="blueSlider"></div>
<div id="colorTable">
<table border=0 cellpadding=0 cellspacing=1>
<tr><td colspan=18 align=center id="subtext">Standard 216 Color Palette</td></tr>
<script>
<!--
clr = new Array('00','33','66','99','CC','FF');

for(k=0;k<6;++k){
for(j=0;j<6;){
document.write('<tr>\n');
for(m=0;m<3;++m){
for(i=0;i<6;++i){
document.write('<td bgcolor=#'+clr[k]+clr[j+m]+clr[i]+'>');
document.write('<a href="javascript:void(null)" ');
document.write('onClick="convertHex(\''+clr[k]+clr[j+m]+clr[i]+'\')\;">');
document.write('<img src=blankgif width=10 height=10 border=0></a></td>\n');
}
}
j+=3;
document.write('</tr>\n');
}
}
//-->
</script>
</table>
</div>
<div id="display"><img src="blank.gif" width=50 height=50 border=0></div>
<div id="titleBar">
<table border=0 cellpadding=2 cellspacing=0 width=320>
<tr>
<td id="title">Houser's RGB2HEX DHTML App</td>
</tr>
</table>
</div>
<div id="hexValue"><form name="frmValue">
<table border=0 cellpadding=2 cellspacing=0 width=320 bgcolor=#EEEEEE>
<tr>
<td align=center>
<table border=0 cellpadding=2 cellspacing=0>
<tr>
<td id="subtext">Red</td>
<td id="subtext">Green</td>
<td id="subtext">Blue</td>
</tr>
<tr>
<td><input type=text size=3 maxlength=3 name="RgbDisp" value="0" onBlur="manualSet(this.value,'red');"></td>
<td><input type=text size=3 maxlength=3 name="rGbDisp" value="0" onBlur="manualSet(this.value,'green');"></td>
<td><input type=text size=3 maxlength=3 name="rgBDisp" value="0" onBlur="manualSet(this.value,'blue');"></td>
</tr>
</table>
</td>
<td align=center>
<table border=0 cellpadding=2 cellspacing=0>
<tr>
<td id="subtext">Hexdecimal</td>
</tr>
<tr>
<td><input type=text size=6 maxlength=6 name="valueDisp" value="000000" onBlur="convertHex();"></td>
</tr>
</table>
</td>
</tr>
</table></form>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: rgb.zip


Color15

Мигание фона
Кратковременное. По окончании мигания цвет фона восстанавливается, если цвет фона Вашей странички был равен конечному цвету фона в скрипте (выделен белым). Подгонять, естественно, следует цвет, указанный в скрипте.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function blinkit(){
intrvl=0;
for(nTimes=0;nTimes<3;nTimes++){
intrvl += 200;
setTimeout("document.bgColor='#0000FF';",intrvl); //Вспыхивающий
      цвет
intrvl += 200;
setTimeout("document.bgColor='#C0C0C0';",intrvl);
      //Конечный цвет
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FORM>
<INPUT TYPE="BUTTON" VALUE="Мигнуть!" onClick="blinkit()">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color

Кратковременное мигание фона

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var currentcolor = 0

function initArray(n) {
this.length = n;
for (var i =1; i <= n; i++) {
this[i] = ' '
}
}

bgcolors = new initArray(15)
bgcolors[0]="ffffff"
bgcolors[1]="ffdead"
bgcolors[2]="ffffff"
bgcolors[3]="add8e6"
bgcolors[4]="0000ff"
bgcolors[5]="add8e6"
bgcolors[6]="90ee90"
bgcolors[7]="00ff00"
bgcolors[8]="90ee90"
bgcolors[9]="ffc0cb"
bgcolors[10]="ff0000"
bgcolors[11]="ffc0cb"
bgcolors[12]="FFFFFF"
bgcolors[13]="ffdead"
bgcolors[14]="FFFFFF"

function backgroundChanger() {
document.bgColor = bgcolors[currentcolor];

if (currentcolor < bgcolors.length-1) {
currentcolor++
setTimeout("backgroundChanger()", 100);
}
}

backgroundChanger();
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color39

Мигающее обрамление (border)
Скрипт пригоден к любому элементу страницы, могущему иметь border. Просто, в тэг вставляется короткая строчка style="border:5px solid yellow" - толщину и цвет Вы определяете сами. Правда, что касается цвета, необходимо тот же цвет указать и в самом скрипте (выделен желтым). Голубым цветом указана часть скрипта, относящаяся к таблице, синим - к кнопке. Естественно, и имена в тэгах должны быть соответствующими: для таблицы и части кода для таблицы - одно имя, для кнопки и части кода для кнопки - другое имя (в данном случае это myexample0 и myexample1). Белым цветом отмечены имена для таблицы.

Ваш текст здесь.
Ваш текст здесь.
Ваш текст здесь.

ИЛИ

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table border="0" width="280" id="myexample0" style="border:5px solid yellow">
<tr>
<td>Ваш текст здесь.
<br>Ваш текст здесь.
<br>Ваш текст здесь.
<br></td>
</tr>
</table><BR><BR>
ИЛИ<BR><BR>
<input type=button value="Кнопка ни для чего..." id="myexample1" style="border:5px solid black">
<script language="JavaScript1.2">
<!--

/*Flashing border script- By Website Abstraction (www.wsabstract.com)
Over 200+ free JavaScripts here!
*/

function flashit(){
if (!document.all)
return
if (myexample0.style.borderColor=="yellow"){
myexample0.style.borderColor="lime";
}
else{
myexample0.style.borderColor="yellow";
}
if (myexample1.style.borderColor=="black"){
myexample1.style.borderColor="white";
}
else{
myexample1.style.borderColor="black";
}
}
setInterval("flashit()", 500)
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color33

МОЛНИЯ
Для остановки молнии нажмите кнопку СТОП и подержите нажатой секунду-две. Скрит тяжелый для браузера. Используйте его осторожно.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="Javascript">
<!--
ie4=document.all?1:0;
ns4=document.layers?1:0;
ns5=(document.getElementById && !document.all)?1:0;

function init(){
// Bolt has an aura? (true | false) // takes twice as long to strike
aura=false;
bcolor="white";
acolor="blue";

// Make background color flash? (true | false)
flash=true;
skyNorm="black";
skyFlash="#000050";
if (flash) document.bgColor=skyNorm;

// nbs = Number of main bolt segments
nbs = 50;
ct=0;
// Font sizes for lightning bolt and aura segments
fsb=shi*.3;
fsf=shi*.2;
fsbi=shi*.2;
fsfi=shi*.12;
fsbii=shi*.12;
fsfii=shi*.07;

xpos=cswi; ypos=0;
if (ns5) ark = document.getElementById("ark");
if (ns4) {

ol=document.layers["ark"];
ol = new Layer(swi);
ol.left = 0;
ol.top = 0;
ol.height = shi;
ol.zIndex=1;
ol.visibility = "hide";

ret="<STYLE TYPE='text/css'>";
for (i=1;i<10;i++){
ret+="DIV.bolt"+i+" {position:absolute; font-style:'Times New Roman'; font-size:"+(fsf*i/9)+"px; color:"+bcolor+"; visibility:inherit; z-index:1}";
if (aura) ret+="DIV.bolta"+i+" {position:absolute; font-style:'Times New Roman'; font-size:"+(fsf*1.3*i/9)+"px; color:blue; visibility:inherit; z-index:0}";
} ret+="</STYLE>";

for (fs=1;fs<10;fs++)
for (i=1;i<nbs;i++) {
if (aura) ret+="<DIV id=a"+i+"f"+fs+" class=bolta"+fs+">.</DIV>";
ret+="<DIV id=s"+i+"f"+fs+" class=bolt"+fs+">.</DIV>";
}

//ol.document.open();
ol.document.write(ret);
ol.document.close();
}
Time1=setTimeout("mainplot()",100);
}

function mainplot()
{
lang=0;
xpos=Math.random()*cswi+cswi/2; ypos=0; fs=9; fsi=8
deg=Math.random()*30-15+((xpos<cswi)? +15:-15);
jag=Math.round(Math.random()*100)/100;
zag=Math.round(Math.random()*100)/100;
cur=Math.round((.5 * (Math.random()*10-5))*100)/100;
ion=(Math.random()>.5)? 1:-1;
//status=" "+ct+" Divs "+format(jag)+" jag "+format(zag)+" zag "+cur+" curve"; ct=0;

if (ns4)
{
for (i=1;i<nbs;i++) {
ang=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang=Math.random()*zag*90-zag*45;
ang+=lang;
ct++;
if (Math.random()*10>9.5 && fsi>1) {fsi--; leg1();}
xpos+=Math.sin((deg+(ang+i*cur))/57.3)*(fsf*fs/9)*.07;
ypos+=Math.abs(Math.cos((deg+(ang+i*cur))/57.3)*(fsf*fs/9)*.07); //fsb=fsf*1.5;
if (aura) { ol.document.layers["a"+i+"f"+fs].moveTo(xpos-(fsf*1.3*fs/9)*.125,ypos-(fsf*1.3*fs/9)*.85); ct++;}
ol.document.layers["s"+i+"f"+fs].moveTo(xpos-(fsf*fs/9)*.125,ypos-(fsf*fs/9)*.85);
if (ypos>shi || xpos<0 || xpos>swi) i=nbs;
}
//status=" "+ct+" Divs "+format(jag)+" jag "+format(zag)+" zag "+cur+" curve";
ol.resizeTo(swi,shi);
Time1=setTimeout("light()",100);
}

if (ie4 || ns5) {
// Rewriting layers can be faster than repositioning in internet explorer
ret="";
fsf=shi*.2;
for (i=1;i<nbs;i++)
{
ang=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang=Math.random()*zag*90-zag*45;
ang+=lang;
ct++;
if (Math.random()*10>9.5) {fsfi=fsf*.6; fsf*=.95; leg1();}
xpos+=Math.sin((deg+(ang+i*cur))/57.3)*fsf*.07;
ypos+=Math.abs(Math.cos((deg+(ang+i*cur))/57.3)*fsf*.07); fsb=fsf*1.3;
if (ypos>shi || xpos<0 || xpos>swi) i=nbs;
if (aura) { ret+="<DIV id='darg"+i+"' style='position:absolute; left:"+(xpos-fsb*.125)+"; top:"+(ypos-fsb*.85)+"; font-size:"+fsb+"px; color:rgb(0,0,255); z-Index:0' >.</DIV>"; ct++;}
ret+="<DIV style='position:absolute; left:"+(xpos-fsf*.125)+"; top:"+(ypos-fsf*.85)+"; font-size:"+fsf+"px; color:"+bcolor+"; z-Index:1' >.</DIV>";
}
//status=" "+ct+" Divs "+format(jag)+" jag "+format(zag)+" zag "+cur+" curve";
ark.innerHTML=ret;
Time1=setTimeout("lightie()",100);
}
}

function leg1() {
xpo=xpos; ypo=ypos;
lang=zag*ion*(30+Math.random()*20-10);
ion*=-1; lang1=0;
deg1=deg+ion*50+Math.random()*20-10;
jlen=Math.random()*nbs*.25+nbs*.25;
if(ns4) {
fsii=fsi-1
for (j=1;j<jlen;j++) {
ang1=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang1=Math.random()*zag*90-zag*45;
ang1-=lang1;
ct++;
if (Math.random()*10>9.9 && fsii>1) {fsii--; leg2();}
xpo+=Math.sin((deg1+(ang1+j*cur))/57.3)*(fsf*fsi/9)*.07;
ypo+=Math.abs(Math.cos((deg1+(ang1+j*cur))/57.3)*(fsf*fsi/9)*.07);
if (aura) { ol.document.layers["a"+j+"f"+fsi].moveTo(xpo-(fsf*1.3*fsi/9)*.125,ypo-(fsf*1.3*fsi/9)*.85); ct++;}
ol.document.layers["s"+j+"f"+fsi].moveTo(xpo-(fsf*fsi/9)*.125,ypo-(fsf*fsi/9)*.85);
if (ypo>shi || xpo<0 || xpo>swi) j=jlen;
}
}
if (ie4 || ns5) {
ret+="<DIV id='fork'>";
for (j=1;j<jlen;j++)
{
ang1=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang1=Math.random()*zag*90-zag*45;
ang1-=lang1;
ct++;
if (Math.random()*10>9.9) {fsfii=fsfi*.6; fsfi*=.95; leg2();}
xpo+=Math.sin((deg1+(ang1+j*cur))/57.3)*fsfi*.07;
ypo+=Math.cos((deg1+(ang1+j*cur))/57.3)*fsfi*.07; fsbi=fsfi*1.3;
if (ypo>shi || xpo<0 || xpo>swi) j=jlen;
if (aura) { ret+="<DIV id='arg"+j+"' style='position:absolute; left:"+(xpo-fsbi*.125)+"; top:"+(ypo-fsbi*.85)+"; font-size:"+fsbi+"px; color:rgb(0,0,255); z-Index:0' >.</DIV>"; ct++;}
ret+="<DIV style='position:absolute; left:"+(xpo-fsfi*.125)+"; top:"+(ypo-fsfi*.85)+"; font-size:"+fsfi+"px; color:"+bcolor+"; z-Index:1' >.</DIV>";
}ret+="</DIV>";
}
}

function leg2() {
xp=xpo; yp=ypo;
lang1=zag*ion*(30+Math.random()*20-10);
//ion*=-1;
lang2=0;
deg2=deg1+ion*50+Math.random()*20-10;
klen=Math.random()*nbs/2+nbs/2; // //
if (ns4) {
for (k=nbs/2;k<klen;k++) {
ang2=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang2=Math.random()*zag*90-zag*45;
ang2-=lang2;
ct++;
xp+=Math.sin((deg2+(ang2+k*cur))/57.3)*(fsf*fsii/9)*.07;
yp+=Math.cos((deg2+ang2)/57.3)*(fsf*fsii/9)*.07;
if (aura) { ol.document.layers["a"+k+"f"+fsii].moveTo(xp-(fsf*1.3*fsii/9)*.125,yp-(fsf*1.3*fsii/9)*.85); ct++;}
ol.document.layers["s"+k+"f"+fsii].moveTo(xp-(fsf*fsii/9)*.125,yp-(fsf*fsii/9)*.85);
if (yp>shi || xp<0 || xp>swi) k=klen;
}
}
if (ie4 || ns5) {
ret+="<DIV id='forki'>";
for (k=nbs/2;k<klen;k++)
{
ang2=Math.random()*jag*90-jag*45;
if (Math.random()+.05>zag) lang2=Math.random()*zag*90-zag*45;
ang2-=lang2;
ct++;
xp+=Math.sin((deg2+(ang2+k*cur))/57.3)*fsfii*.07;
yp+=Math.cos((deg2+(ang2+k*cur))/57.3)*fsfii*.07; fsbii=fsfii*1.3;
if (yp>shi || xp<0 || xp>swi) k=klen;
if (aura) { ret+="<DIV id='arg"+k+"' style='position:absolute; left:"+(xp-fsbii*.125)+"; top:"+(yp-fsbii*.85)+"; font-size:"+fsbii+"px; color:rgb(0,0,255); z-Index:0' >.</DIV>"; ct++;}
ret+="<DIV style='position:absolute; left:"+(xp-fsfii*.125)+"; top:"+(yp-fsfii*.85)+"; font-size:"+fsfii+"px; color:"+bcolor+"; z-Index:1' >.</DIV>";
}
ret+="</DIV>";
}
}

function light()
{ ol.moveTo(pageXOffset,pageYOffset);
ol.visibility = "show";
if (flash) document.bgColor=skyFlash;
Time2=setTimeout("ning()",(Math.random()*1000+1000));
}

function lightie()
{ ark.style.left=document.body.scrollLeft;
ark.style.top=document.body.scrollTop;
ark.style.visibility = "visible";
if (flash) document.bgColor=skyFlash;
Time2=setTimeout("ningie()",(Math.random()*500+100));
}

function ning()
{
if (flash) document.bgColor=skyNorm;
ol.visibility = "hide";
if (Math.random()*3>2) Time2=setTimeout("light()",(Math.random()*500+100));
else {
for (fs=1;fs<10;fs++)
for (i=1;i<nbs;i++) {
if (aura) ol.document.layers["a"+i+"f"+fs].moveTo(-100,-100);
ol.document.layers["s"+i+"f"+fs].moveTo(-100,-100);
}
Time1=setTimeout("mainplot()",(Math.random()*500+100))
}
}

function ningie()
{ ark.style.visibility = "hidden";
if (flash) document.bgColor=skyNorm;
if (Math.random()*3>2) Time2=setTimeout("lightie()",(Math.random()*500+100)); else Time1=setTimeout("mainplot()",(Math.random()*500+100));
}

function format(f){ f+="";
if (f.charAt(0)==".") f="0"+f;
if (f.length==1) f+=".00";
if (f.length==3) f+="0";
return f;
}

function halt() {
if (Time1) {clearTimeout(Time1); Time1=null;}
if (Time2) {clearTimeout(Time2); Time2=null;}
}

//-->
</SCRIPT>
<STYLE TYPE="text/css">
#frm {position:absolute; left:20; top:10; width:100; height:100; visibility:visible; z-Index:951;
color:blue; overflow:clip; font-style:Times}
</STYLE>

Содержимое этой таблицы поместите в <BODY>

<body Onload="window.focus();init()" onResize="document.location.href=document.location.href;" bgColor="#C0C0C0" text="#FFFFFF" onUnload="halt();" link="#FFFF00" vlink="#00FF00">

<!--------ЗДЕСЬ ВАШ КОНТЕНТ------->

<SCRIPT language="Javascript">
<!--
swi=(ie4)? document.body.offsetWidth-17:window.innerWidth;
shi=(ie4)? document.body.offsetHeight-4:window.innerHeight;
cswi=swi/2;
cshi=shi/2;

ret="<DIV id='ark' style='position:absolute; left:0; top:0; width:"+swi+"; height:"+shi+"; visibility:visible; z-index=1; overflow:hidden; clip:rect(0,"+(swi)+","+(shi)+",0)'></DIV>";
document.write(ret);

//-->
</SCRIPT>
</BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color17

Мягкая настройка цвета фона страницы

Красный | Зеленый | Синий

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Dion (yobo42@hotmail.com) -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function color(frm, clr, val) {
v = eval("0x" + frm[clr].value) + val;
if (v < 0 || v > 255) v -= val;
v = v.toString(16).toUpperCase();
while (v.length < 2) v = "0" + v;
frm[clr].value = v; nc = "";
for(i = 1; i < 8; i += 3) nc += frm.elements[i].value;
document.bgColor = nc;
}
function setval(item) {
v = prompt("New value for " + item.name + " (00 - FF)", item.value);
if (v) {
v = eval("0x" + v);
if ((v & 255) == v) {
item.value=v.toString(16).toUpperCase();
while (item.value.length < 2) item.value = "0" + item.value;
color(document.f, item.name, 0);
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=f>
<table border=1>
<tr>
<td colspan=3 align=center bgcolor="#ff0000"><tt>Красный</tt></td>
<td colspan=3 align=center bgcolor="#00ff00"><tt>Зеленый</tt></td>
<td colspan=3 align=center bgcolor="#000ff"><tt>Синий</tt></td>
</tr>
<tr>
<td><input type=button name=rm value="<" onclick = "color(this.form, 'Red' , -1);"></td>
<td><input type=button name=Red value="AF" onclick = "setval(this);"></td>
<td><input type=button name=rp value=">" onclick = "color(this.form, 'Red', 1);"></td>
<td><input type=button name=gm value="<" onclick = "color(this.form, 'Green', -1);"></td>
<td><input type=button name=Green value="BF" onclick = "setval(this);"></td>
<td><input type=button name=gp value=">" onclick = "color(this.form, 'Green', 1);"></td>
<td><input type=button name=bm value="<" onclick = "color(this.form, 'Blue', -1);"></td>
<td><input type=button name=Blue value="CF" onclick = "setval(this);"></td>
<td><input type=button name=bp value=">" onclick = "color(this.form, 'Blue', 1);"></td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color36

Осветление фона
См. комментарии в таблице

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!--
/*Background fade by Dave Methvin,
Windows Magazine
May be used/modified if credit line is
retained*/
function BgFade(red1, grn1, blu1, red2,
grn2, blu2, steps) {
sred = red1; sgrn = grn1; sblu = blu1;
ered = red2; egrn = grn2; eblu = blu2;
inc = steps;
step = 0;
RunFader();
}
function RunFader() {
var epct = step/inc;
var spct = 1 - epct;
document.bgColor =
Math.floor(sred * spct + ered *
epct)*256*256 +
Math.floor(sgrn * spct + egrn * epct)*256 +
Math.floor(sblu * spct + eblu * epct);
if ( step < inc ) {
setTimeout('RunFader()',50);
      //   СКОРОСТЬ "ОСВЕТЛЕНИЯ"
}
step++;
}
BgFade(0x00,0x00,0x00,0xFF,0xFF,0xFF,10);
      // НАЧАЛЬНЫЙ И КОНЕЧНЫЙ ЦВЕТА (части hex)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color37

Осветление/затемнение - вход/выход
Возможно, из названия не совсем понятно что делает этот скрипт. Поясню: этот скрипт с комбинированным эффектом - осветление фона странице при заходе на страницу и затемнение - при выходе. Можно поэксперементировать с цветами, изменяя значения, выделенные белым цветом во второй таблице.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
function toHex(dec) {
var hexCharacters = "0123456789ABCDEF"
if (dec < 0)
return "00"
if (dec > 255)
return "FF"
var i = Math.floor(dec / 16)
var j = dec % 16
return hexCharacters.charAt(i) + hexCharacters.charAt(j)
}
function setbgColor(red, green, blue) {
document.bgColor = "#" + toHex(red) + toHex(green) + toHex(blue)
}
function fade(sred, sgreen, sblue, ered, egreen, eblue, step) {
for(var i = 0; i <= step; ++i) {
var red = Math.floor(sred * ((step - i) / step) + ered* (i / step))
var green = Math.floor(sgreen * ((step - i) / step) + egreen * (i / step))
var blue = Math.floor(sblue * ((step - i) / step) + eblue * (i / step))
setbgColor(red, green, blue)
}
}
// -->
</SCRIPT>

Содержимое этой таблицы поместите вместо <BODY>

<body onLoad="fade(0, 0, 0, 255, 255, 255, 64)" onUnload="fade(255, 255, 255, 0, 0, 0, 64)">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color35

Просмотр рисунка для фона в POP-UP окне
Внимание! В некоторых случаях (касается только IE) может не открыться окно. Или, что более вероятно, в открывшемся окне не будет никакого рисунка фона. В первом случае ничего, кроме попытки повторить запуск, посоветовать нельзя. Что же касается отсутствия фонового рисунка в новом окне, то впишите не просто имя файла рисунка (выделен желтым), а полный его адрес http://...и т.д.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
<!--
/*By George Chiang (WA JavaScript site www.abstract.simplenet.com)
Credit must stay intact for use*/
function tile(bgname){
win2=window.open("","","width=380,height=380")
if (win2){
win2.focus()
win2.document.open()
win2.document.write("<head><title>"+bgname+"</title></head>")
win2.document.write("<body background="+'"'+bgname+'"'+">")
win2.document.write("</body>")
win2.document.close()
}
else
alert("Невозможно открыть новое окно! Повторите попытку.")
}
//-->
</script>
<a href="test.htm"
onclick="tile('backgr10.gif');return false"><img
src="backgr10.gif" border="0" width="80"
height="80"></a>
<a href="test.htm"
onclick="tile('backgr11.gif');return false"><img
src="backgr11.gif" border="0" width="128"
height="128"></a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color25

Радужное переливание с переходом на другую страницу
 Скрипт используется для эффектного перехода на страницу. По сути, страница, на которой расположен скрипт, осуществляет редирект на нужную страницу, сопровождая это цветовым эффектом. Иными словами, Вы не смогли бы прочитать этот текст, если бы на этой странице работал скрипт предложенный ниже - страница появилась бы на пару секунд, попереливаясь всеми цветами радуги, и Вас перенесло бы на страницу another.htm (отмечена белым цветом в таблице). Просто здесь сделана небольшая модификация для удобства объяснения, а для просмотра эффекта нажмите кнопку "ТЕСТ".

(Не копируйте код из источника! Он будет работать некорректно на Ваших страницах)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var hexChars="0123456789ABCDEF";
function Dec2Hex (Dec) {
var a=Dec % 16;
var b=(Dec - a)/16;
hex="" + hexChars.charAt(b) + hexChars.charAt(a);
return hex;
}
function bgChanger (begin, end, steps) {
steps=steps-1 ;
redA=begin.charAt(0) + begin.charAt(1);
red_valA=parseInt(redA,'16');
redB=end.charAt(0) + end.charAt(1);
red_valB=parseInt(redB,'16');
red_int=((red_valB - red_valA) / steps) * -1;
grnA=begin.charAt(2) + begin.charAt(3);
grn_valA=parseInt(grnA,'16');
grnB=end.charAt(2) + end.charAt(3);
grn_valB=parseInt(grnB,'16');
grn_int=((grn_valB - grn_valA) / steps) * -1;
bluA=begin.charAt(4) + begin.charAt(5);
blu_valA=parseInt(bluA,'16');
bluB=end.charAt(4) + end.charAt(5);
blu_valB=parseInt(bluB,'16');
blu_int=((blu_valB - blu_valA) / steps) * -1;
step=2;
red=red_valA;
grn=grn_valA;
blu=blu_valA;
while ( steps >= step ) {
red-=red_int;
red_round=Math.round(red);
red_hex=Dec2Hex(red);
grn-=grn_int;
grn_round=Math.round(grn);
grn_hex=Dec2Hex(grn);
blu-=blu_int;
blu_round=Math.round(blu);
blu_hex=Dec2Hex(blu);
document.bgColor=red_hex + grn_hex + blu_hex;
step++;
}
}
bgChanger("000000","000000",60);
bgChanger("000000","FF0000",60);
bgChanger("FF0000","000000",60);
bgChanger("000000","AA00EE",60);
bgChanger("AA00EE","000000",60);
bgChanger("000000","0000FF",60);
bgChanger("0000FF","000000",60);
bgChanger("000000","000000",60);
window.location="another.htm";
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color9

Случайный фоновый рисунок

  • Справка

Содержимое этой таблицы поместите вместо <BODY>

<script>

/*Random Background Image-
By Website Abstraction (www.wsabstract.com)
*/

var backgr1="granit.jpg"
var backgr2="Stars.gif"
var backgr3="BACK4.GIF"

var cur=Math.round(6*Math.random())
if (cur<=1)
backgr=backgr1
else if (cur<=4)
backgr=backgr2
else
backgr=backgr3
document.write('<body background="'+backgr+'" bgcolor="#C0C0C0">')
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере:

granit.jpg
Stars.gif
Back4.gif


Color10

Смена рисунка фона 4 раза в день

  • Справка

Содержимое этой таблицы поместите вместо <BODY>

<script language="JavaScript">

<!-- Hide From Old Browsers

/* ©1996-98 JavaScript written by Steve Thompson @ http://www.w8r.com --- e-mail: thompson@w8r.com or myclone@hotmail.com --- This simple script changes the background image four times a day -- It can be altered to include other page attributes such as text colors and individual page items such as on the example page - Use freely but keep this entire credit line intact. */

day=new Date()

x=day.getHours()

if(x>=0 && x<4) {

document.write('<body background="Stars.gif">')

} else

if(x>=4 && x<12) {

document.write('<body background="BACK4.GIF">')

} else

if(x>=12 && x<18) {

document.write('<body background="granit.jpg">')

} else

if (x>=18 && x<24) {

document.write('<body background="backg23.jpg">')

}

<!-- End Hiding -->

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере:

granit.jpg
Stars.gif
backg23.jpg
Back4.gif

Нажмите кнопку и скопируйте рисунок(рисунки) обычным способом. Название рисунка, тем ни менее, придется вписывать самостоятельно. Кроме того, формат рисунка окажется BMP, а не GIF, что не приемлемо для веб. Лучший способ - это скопировать рисунок в буфер обмена прямо из окна файла справки и затем создать из него GIF (JPG) с нужным названием в программе Photoshop или подобной. Не забывайте, что применяя любые другие рисунки, отличные от используемых в скрипте, следует обязательно изменить названия рисунков в скрипте, указать реальную директорию их расположения и размеры (последнее не столь важно, но желательно). Всегда помните, что файл справки - это программа, а не HTML документ!


Color34

Список HTML цветов с названиями и HEX

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
p = new Array(

// List of HTML Colour values

'aliceblue f0f8ff', 'antiquewhite faebd7', 'aqua 00ffff',
'aquamarine 7fffd4', 'azure f0ffff', 'beige f5f5dc',
'bisque ffe4c4', 'black 000000', 'blanchedalmond ffebcd',
'blue 0000ff', 'blueviolet 8a2be2', 'brown a52a2a',
'burlywood deb887', 'cadetblue 5f9ea0', 'chartreuse 7fff00',
'chocolate d2691e', 'coral ff7f50', 'cornflowerblue 6495ed',
'cornsilk fff8dc', 'crimson dc143c', 'cyan 00ffff',

'darkblue 00008b', 'darkcyan 008b8b', 'darkgoldenrod b8860b',
'darkgray a9a9a9', 'darkgreen 006400', 'darkkhaki bdb76b',
'darkmagenta 8b008b', 'darkolivegreen 556b2f', 'darkorange ff8c00',
'darkorchid 9932cc', 'darkred 8b0000', 'darksalmon e9967a',
'darkseagreen 8fbc8f', 'darkslateblue 483d8b', 'darkslategray 2f4f4f',
'darkturquoise 00ced1', 'darkviolet 9400d3', 'deeppink ff1493',
'deepskyblue 00bfff', 'dimgray 696969', 'dodgerblue 1e90ff',

'firebrick b22222', 'floralwhite fffaf0', 'forestgreen 228b22',
'fuchsia ff00ff', 'gainsboro dcdcdc', 'ghostwhite f8f8ff',
'gold ffd700', 'green 008000', 'greenyellow adff2f',
'honeydew f0fff0', 'hotpink ff69b4', 'indianred cd5c5c',
'indigo 4b0082', 'ivory fffff0', 'khaki f0e68c',
'lavender e6e6fa', 'lavenerblush fff0f5', 'lawngreen 7cfc00',
'lemonchiffon fffacd', 'lightblue add8e6', 'lightcoral f08080',

'lightcyan e0ffff', 'lightgoldenrodyellow fafad2',
'lightgreen 90ee90', 'lightgrey d3d3d3', 'lightpink ffb6c1',
'lightseagreen 20b2aa', 'lightskyblue 87cefa', 'lightslategray 778899',
'lightsteelblue b0c4de', 'lightyellow ffffe0', 'lime 00ff00',
'limegreen 32cd32', 'linen faf0e6', 'magenta ff00ff',
'maroon 800000', 'mediumaquamarine 66cdaa', 'mediumblue 0000cd',
'mediumorchid ba55d3', 'mediumpurple 9370db', 'mediumseagreen 3cb371',

'mediumslateblue 7b68ee', 'mediumspringgreen 00fa9a',
'mediumturquoise 48d1cc', 'mediumvioletred c71585', 'midnightblue 191970',
'mintcream f5fffa', 'mistyrose ffe4e1', 'moccasin ffe4b5',
'navajowhite ffdead', 'navy 000080', 'oldlace fdf5e6',
'olive 808000', 'olivedrab 6b8e23', 'orange ffa500',
'orangered ff4500', 'orchid da70d6', 'palegoldenrod eee8aa',
'palegreen 98fb98', 'paleturquoise afeeee', 'palevioletred db7093',

'papayawhip ffefd5', 'peachpuff ffdab9', 'peru cd853f',
'pink ffc0cb', 'plum dda0dd', 'powderblue b0e0e6',
'purple 800080', 'red ff0000', 'rosybrown bc8f8f',
'royalblue 4169e1', 'saddlebrown 8b4513', 'salmon fa8072',
'sandybrown faa460', 'seagreen 2e8b57', 'seashell fff5ee',
'sienna a0522d', 'silver c0c0c0', 'skyblue 87ceeb',
'slateblue 6a5acd', 'slategray 708090', 'snow fffafa',

'springgreen 00ff7f', 'steelblue 4682b4', 'tan d2b48c',
'teal 008080', 'thistle d8bfd8', 'tomato ff6347',
'turquoise 40e0d0', 'violet ee82ee', 'wheat f5deb3',
'white ffffff', 'whitesmoke f5f5f5', 'yellow ffff00',
'yellowgreen 9acd32')

for(i = 0; i < p.length; i++) {
value = p[i].substring(p[i].length-6, p[i].length)
v = value; if(v == "c0c0c0") {
p[i] = "<span style=\"background-color:FFFFFF\">(silver) c0c0c0</span>"}
document.write("<font size=5 color=#" + value + ">" + p[i] + "<br>")
}
</script>
<hr><p></font>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color2

ТАБЛИЦА ЦВЕТОВ.

BGColor Wizard-216 v.2, HEX:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript><!--
hexa=new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b',
      'c', 'd', 'e', 'f')
function hex(i){if (i<0) return "00";else if (i>255)return "ff";else return ""+hexa[Math.floor(i/16)]
      +hexa[i%16]}
function setbg(r,g,b) {hr=hex(r);hg=hex(g);hb=hex(b); bg="#"+hr+hg+hb}
function bc(hx) {document.bgColor= hx;document.frm. bgcol.value=hx}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<TABLE align=center WIDTH="100%" cellpadding=0 cellspacing=0 border=1 bordercolor="#0000FF" bordercolordark="#FFFFFF" width="100%">
<tr>
<TD valign="top"><CENTER><BR>
</font>
<div class=text1>
<font size="4" color="#FF0000">
<b>ТАБЛИЦА ЦВЕТОВ.</b>
</font>
</div></center>
<font size="4" color="#FF0000">
<BR>
<HR COLOR="BLUE" WIDTH="100%" SIZE="1">
<FORM name=frm>
<TABLE width=100% border=0 cellSpacing=10>
<TBODY>
<TR>
<TD>
<p align="center"><B>BGColor Wizard-216 v.2</B>, HEX:<INPUT name=bgcol size=7></p>
</TD></TR>
<TR>
<TD align=center>
<TABLE border=0 cellSpacing=0>
<SCRIPT language=JavaScript><!--
ti=0;tt1='НАБО ЛЬШОЙТ ЕРРАСЕ БЛИЗКОН ОПЛЯНИК ААГРИППИ НАСАВВИШН АЖЕНАПОДЬ ЯЧЕГОПОЧИВ АЛАИСПОДТ ИШКАМОЖЖЕ ВЕЛОВЫМВАР ЕНЬМСВОЕГО ПЛЕМЯННИКА КОЛЕЖСКОГО АССЕСОРАЛЬВА АППОЛОНОВИЧА'
for(var ri=0;ri<6;ri++) {document.write('<TR>')
for(var gi=0;gi<3;gi++) {for(var bi=0;bi<6;bi++) {setbg(51*ri,102*gi,51*bi); document.write('<td><b> <FONT COLOR ='+bg+'>'+tt1.substring(ti,ti+1)+' </FONT> </b></td>');ti++;if(ti==tt1.length) ti=0}}
document. write('</TR><TR>')
for(var gi=0;gi<3;gi++){for(var bi=0;bi<6;bi++) {setbg(51*ri,102*gi+51,51*bi); document.write('<td><b><FONT COLOR='+bg+'>'+tt1.substring(ti,ti+1)+' </FONT> </b></td>');ti++;if(ti==tt1.length) ti=0}}
document.write('</TR>')}
document.write('</TABLE> </td></tr><tr><td align=center><TABLE border=0 cellspacing=5>')
for(var ri=0;ri<6;ri++) {document.write('<TR>');
for(var gi=0;gi<3;gi++){for(var bi=0;bi<6;bi++){setbg(51*ri,102*gi,51*bi); ss='<TD bgColor='+bg+'><A href=#p0 onmouseover= bc(\"'+bg+'\")><IMG border=0 src=\'\' height=14 width=14></A></TD>'
document.write(ss)}}
document.write('</TR><TR>')
for(var gi=0;gi<3;gi++){for(var bi=0;bi<6;bi++) {setbg(51*ri,102*gi+51,51*bi); ss='<TD bgColor='+bg+'><A href=#p0 onmouseover=bc(\"'+bg+'\")><IMG border=0 src=\'\' height=14 width=14></A></TD>'
document. write(ss)}}
document. write('</TR>')}
//--></SCRIPT>
</TABLE></TD></TR></TBODY> </TABLE></FORM></TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color29

Таблица цветов (информационная)
Содержит 512 "стандартных" цветов с указанием их названия (HEX)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<SCRIPT LANGUAGE="JavaScript">
clr=new Array('00','20','40','60','80','a0','c0','ff');
for (i=0;i<8;i++) {
document.write("<table border=1 cellpadding=8>");
for (j=0;j<8;j++) {
document.write("<tr>");
for (k=0;k<8;k++) {
document.write('<td bgcolor="#'+clr[i]+clr[j]+clr[k]+'">');
document.write('<tt><font color="#'+clr[7-i]+clr[7-j]+clr[7-k]+'"> ');
document.write(clr[i]+clr[j]+clr[k]+' </font></tt></td>'); }
document.write("</tr>"); }
document.write("</table><br>"); }
// End -->
</SCRIPT>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color30

Таблица цветов с использованикм карты рисунка

Карта цветов

Кликните по любому из цветных квадратиков и получите информацию о цвете..

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Luis Romero (luisromero7987@aol.com) -->
<!-- Web Site: http://www.geocities.com/lr7987 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function showColor(val) {
document.colorform.hexval.value = val;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=colorform>
Карта цветов<br>
<map name="colmap">
<area shape="rect" coords="1,1,7,10" href="javascript:showColor('#00FF00')">
<area shape="rect" coords="9,1,15,10" href="javascript:showColor('#00FF33')">
<area shape="rect" coords="17,1,23,10" href="javascript:showColor('#00FF66')">
<area shape="rect" coords="25,1,31,10" href="javascript:showColor('#00FF99')">
<area shape="rect" coords="33,1,39,10" href="javascript:showColor('#00FFCC')">
<area shape="rect" coords="41,1,47,10" href="javascript:showColor('#00FFFF')">
<area shape="rect" coords="49,1,55,10" href="javascript:showColor('#33FF00')">
<area shape="rect" coords="57,1,63,10" href="javascript:showColor('#33FF33')">
<area shape="rect" coords="65,1,71,10" href="javascript:showColor('#33FF66')">
<area shape="rect" coords="73,1,79,10" href="javascript:showColor('#33FF99')">
<area shape="rect" coords="81,1,87,10" href="javascript:showColor('#33FFCC')">
<area shape="rect" coords="89,1,95,10" href="javascript:showColor('#33FFFF')">
<area shape="rect" coords="97,1,103,10" href="javascript:showColor('#66FF00')">
<area shape="rect" coords="105,1,111,10" href="javascript:showColor('#66FF33')">
<area shape="rect" coords="113,1,119,10" href="javascript:showColor('#66FF66')">
<area shape="rect" coords="121,1,127,10" href="javascript:showColor('#66FF99')">
<area shape="rect" coords="129,1,135,10" href="javascript:showColor('#66FFCC')">
<area shape="rect" coords="137,1,143,10" href="javascript:showColor('#66FFFF')">
<area shape="rect" coords="145,1,151,10" href="javascript:showColor('#99FF00')">
<area shape="rect" coords="153,1,159,10" href="javascript:showColor('#99FF33')">
<area shape="rect" coords="161,1,167,10" href="javascript:showColor('#99FF66')">
<area shape="rect" coords="169,1,175,10" href="javascript:showColor('#99FF99')">
<area shape="rect" coords="177,1,183,10" href="javascript:showColor('#99FFCC')">
<area shape="rect" coords="185,1,191,10" href="javascript:showColor('#99FFFF')">
<area shape="rect" coords="193,1,199,10" href="javascript:showColor('#CCFF00')">
<area shape="rect" coords="201,1,207,10" href="javascript:showColor('#CCFF33')">
<area shape="rect" coords="209,1,215,10" href="javascript:showColor('#CCFF66')">
<area shape="rect" coords="217,1,223,10" href="javascript:showColor('#CCFF99')">
<area shape="rect" coords="225,1,231,10" href="javascript:showColor('#CCFFCC')">
<area shape="rect" coords="233,1,239,10" href="javascript:showColor('#CCFFFF')">
<area shape="rect" coords="241,1,247,10" href="javascript:showColor('#FFFF00')">
<area shape="rect" coords="249,1,255,10" href="javascript:showColor('#FFFF33')">
<area shape="rect" coords="257,1,263,10" href="javascript:showColor('#FFFF66')">
<area shape="rect" coords="265,1,271,10" href="javascript:showColor('#FFFF99')">
<area shape="rect" coords="273,1,279,10" href="javascript:showColor('#FFFFCC')">
<area shape="rect" coords="281,1,287,10" href="javascript:showColor('#FFFFFF')">
<area shape="rect" coords="1,12,7,21" href="javascript:showColor('#00CC00')">
<area shape="rect" coords="9,12,15,21" href="javascript:showColor('#00CC33')">
<area shape="rect" coords="17,12,23,21" href="javascript:showColor('#00CC66')">
<area shape="rect" coords="25,12,31,21" href="javascript:showColor('#00CC99')">
<area shape="rect" coords="33,12,39,21" href="javascript:showColor('#00CCCC')">
<area shape="rect" coords="41,12,47,21" href="javascript:showColor('#00CCFF')">
<area shape="rect" coords="49,12,55,21" href="javascript:showColor('#33CC00')">
<area shape="rect" coords="57,12,63,21" href="javascript:showColor('#33CC33')">
<area shape="rect" coords="65,12,71,21" href="javascript:showColor('#33CC66')">
<area shape="rect" coords="73,12,79,21" href="javascript:showColor('#33CC99')">
<area shape="rect" coords="81,12,87,21" href="javascript:showColor('#33CCCC')">
<area shape="rect" coords="89,12,95,21" href="javascript:showColor('#33CCFF')">
<area shape="rect" coords="97,12,103,21" href="javascript:showColor('#66CC00')">
<area shape="rect" coords="105,12,111,21" href="javascript:showColor('#66CC33')">
<area shape="rect" coords="113,12,119,21" href="javascript:showColor('#66CC66')">
<area shape="rect" coords="121,12,127,21" href="javascript:showColor('#66CC99')">
<area shape="rect" coords="129,12,135,21" href="javascript:showColor('#66CCCC')">
<area shape="rect" coords="137,12,143,21" href="javascript:showColor('#66CCFF')">
<area shape="rect" coords="145,12,151,21" href="javascript:showColor('#99CC00')">
<area shape="rect" coords="153,12,159,21" href="javascript:showColor('#99CC33')">
<area shape="rect" coords="161,12,167,21" href="javascript:showColor('#99CC66')">
<area shape="rect" coords="169,12,175,21" href="javascript:showColor('#99CC99')">
<area shape="rect" coords="177,12,183,21" href="javascript:showColor('#99CCCC')">
<area shape="rect" coords="185,12,191,21" href="javascript:showColor('#99CCFF')">
<area shape="rect" coords="193,12,199,21" href="javascript:showColor('#CCCC00')">
<area shape="rect" coords="201,12,207,21" href="javascript:showColor('#CCCC33')">
<area shape="rect" coords="209,12,215,21" href="javascript:showColor('#CCCC66')">
<area shape="rect" coords="217,12,223,21" href="javascript:showColor('#CCCC99')">
<area shape="rect" coords="225,12,231,21" href="javascript:showColor('#CCCCCC')">
<area shape="rect" coords="233,12,239,21" href="javascript:showColor('#CCCCFF')">
<area shape="rect" coords="241,12,247,21" href="javascript:showColor('#FFCC00')">
<area shape="rect" coords="249,12,255,21" href="javascript:showColor('#FFCC33')">
<area shape="rect" coords="257,12,263,21" href="javascript:showColor('#FFCC66')">
<area shape="rect" coords="265,12,271,21" href="javascript:showColor('#FFCC99')">
<area shape="rect" coords="273,12,279,21" href="javascript:showColor('#FFCCCC')">
<area shape="rect" coords="281,12,287,21" href="javascript:showColor('#FFCCFF')">
<area shape="rect" coords="1,23,7,32" href="javascript:showColor('#009900')">
<area shape="rect" coords="9,23,15,32" href="javascript:showColor('#009933')">
<area shape="rect" coords="17,23,23,32" href="javascript:showColor('#009966')">
<area shape="rect" coords="25,23,31,32" href="javascript:showColor('#009999')">
<area shape="rect" coords="33,23,39,32" href="javascript:showColor('#0099CC')">
<area shape="rect" coords="41,23,47,32" href="javascript:showColor('#0099FF')">
<area shape="rect" coords="49,23,55,32" href="javascript:showColor('#339900')">
<area shape="rect" coords="57,23,63,32" href="javascript:showColor('#339933')">
<area shape="rect" coords="65,23,71,32" href="javascript:showColor('#339966')">
<area shape="rect" coords="73,23,79,32" href="javascript:showColor('#339999')">
<area shape="rect" coords="81,23,87,32" href="javascript:showColor('#3399CC')">
<area shape="rect" coords="89,23,95,32" href="javascript:showColor('#3399FF')">
<area shape="rect" coords="97,23,103,32" href="javascript:showColor('#669900')">
<area shape="rect" coords="105,23,111,32" href="javascript:showColor('#669933')">
<area shape="rect" coords="113,23,119,32" href="javascript:showColor('#669966')">
<area shape="rect" coords="121,23,127,32" href="javascript:showColor('#669999')">
<area shape="rect" coords="129,23,135,32" href="javascript:showColor('#6699CC')">
<area shape="rect" coords="137,23,143,32" href="javascript:showColor('#6699FF')">
<area shape="rect" coords="145,23,151,32" href="javascript:showColor('#999900')">
<area shape="rect" coords="153,23,159,32" href="javascript:showColor('#999933')">
<area shape="rect" coords="161,23,167,32" href="javascript:showColor('#999966')">
<area shape="rect" coords="169,23,175,32" href="javascript:showColor('#999999')">
<area shape="rect" coords="177,23,183,32" href="javascript:showColor('#9999CC')">
<area shape="rect" coords="185,23,191,32" href="javascript:showColor('#9999FF')">
<area shape="rect" coords="193,23,199,32" href="javascript:showColor('#CC9900')">
<area shape="rect" coords="201,23,207,32" href="javascript:showColor('#CC9933')">
<area shape="rect" coords="209,23,215,32" href="javascript:showColor('#CC9966')">
<area shape="rect" coords="217,23,223,32" href="javascript:showColor('#CC9999')">
<area shape="rect" coords="225,23,231,32" href="javascript:showColor('#CC99CC')">
<area shape="rect" coords="233,23,239,32" href="javascript:showColor('#CC99FF')">
<area shape="rect" coords="241,23,247,32" href="javascript:showColor('#FF9900')">
<area shape="rect" coords="249,23,255,32" href="javascript:showColor('#FF9933')">
<area shape="rect" coords="257,23,263,32" href="javascript:showColor('#FF9966')">
<area shape="rect" coords="265,23,271,32" href="javascript:showColor('#FF9999')">
<area shape="rect" coords="273,23,279,32" href="javascript:showColor('#FF99CC')">
<area shape="rect" coords="281,23,287,32" href="javascript:showColor('#FF99FF')">
<area shape="rect" coords="1,34,7,43" href="javascript:showColor('#006600')">
<area shape="rect" coords="9,34,15,43" href="javascript:showColor('#006633')">
<area shape="rect" coords="17,34,23,43" href="javascript:showColor('#006666')">
<area shape="rect" coords="25,34,31,43" href="javascript:showColor('#006699')">
<area shape="rect" coords="33,34,39,43" href="javascript:showColor('#0066CC')">
<area shape="rect" coords="41,34,47,43" href="javascript:showColor('#0066FF')">
<area shape="rect" coords="49,34,55,43" href="javascript:showColor('#336600')">
<area shape="rect" coords="57,34,63,43" href="javascript:showColor('#336633')">
<area shape="rect" coords="65,34,71,43" href="javascript:showColor('#336666')">
<area shape="rect" coords="73,34,79,43" href="javascript:showColor('#336699')">
<area shape="rect" coords="81,34,87,43" href="javascript:showColor('#3366CC')">
<area shape="rect" coords="89,34,95,43" href="javascript:showColor('#3366FF')">
<area shape="rect" coords="97,34,103,43" href="javascript:showColor('#666600')">
<area shape="rect" coords="105,34,111,43" href="javascript:showColor('#666633')">
<area shape="rect" coords="113,34,119,43" href="javascript:showColor('#666666')">
<area shape="rect" coords="121,34,127,43" href="javascript:showColor('#666699')">
<area shape="rect" coords="129,34,135,43" href="javascript:showColor('#6666CC')">
<area shape="rect" coords="137,34,143,43" href="javascript:showColor('#6666FF')">
<area shape="rect" coords="145,34,151,43" href="javascript:showColor('#996600')">
<area shape="rect" coords="153,34,159,43" href="javascript:showColor('#996633')">
<area shape="rect" coords="161,34,167,43" href="javascript:showColor('#996666')">
<area shape="rect" coords="169,34,175,43" href="javascript:showColor('#996699')">
<area shape="rect" coords="177,34,183,43" href="javascript:showColor('#9966CC')">
<area shape="rect" coords="185,34,191,43" href="javascript:showColor('#9966FF')">
<area shape="rect" coords="193,34,199,43" href="javascript:showColor('#CC6600')">
<area shape="rect" coords="201,34,207,43" href="javascript:showColor('#CC6633')">
<area shape="rect" coords="209,34,215,43" href="javascript:showColor('#CC6666')">
<area shape="rect" coords="217,34,223,43" href="javascript:showColor('#CC6699')">
<area shape="rect" coords="225,34,231,43" href="javascript:showColor('#CC66CC')">
<area shape="rect" coords="233,34,239,43" href="javascript:showColor('#CC66FF')">
<area shape="rect" coords="241,34,247,43" href="javascript:showColor('#FF6600')">
<area shape="rect" coords="249,34,255,43" href="javascript:showColor('#FF6633')">
<area shape="rect" coords="257,34,263,43" href="javascript:showColor('#FF6666')">
<area shape="rect" coords="265,34,271,43" href="javascript:showColor('#FF6699')">
<area shape="rect" coords="273,34,279,43" href="javascript:showColor('#FF66CC')">
<area shape="rect" coords="281,34,287,43" href="javascript:showColor('#FF66FF')">
<area shape="rect" coords="1,45,7,54" href="javascript:showColor('#003300')">
<area shape="rect" coords="9,45,15,54" href="javascript:showColor('#003333')">
<area shape="rect" coords="17,45,23,54" href="javascript:showColor('#003366')">
<area shape="rect" coords="25,45,31,54" href="javascript:showColor('#003399')">
<area shape="rect" coords="33,45,39,54" href="javascript:showColor('#0033CC')">
<area shape="rect" coords="41,45,47,54" href="javascript:showColor('#0033FF')">
<area shape="rect" coords="49,45,55,54" href="javascript:showColor('#333300')">
<area shape="rect" coords="57,45,63,54" href="javascript:showColor('#333333')">
<area shape="rect" coords="65,45,71,54" href="javascript:showColor('#333366')">
<area shape="rect" coords="73,45,79,54" href="javascript:showColor('#333399')">
<area shape="rect" coords="81,45,87,54" href="javascript:showColor('#3333CC')">
<area shape="rect" coords="89,45,95,54" href="javascript:showColor('#3333FF')">
<area shape="rect" coords="97,45,103,54" href="javascript:showColor('#663300')">
<area shape="rect" coords="105,45,111,54" href="javascript:showColor('#663333')">
<area shape="rect" coords="113,45,119,54" href="javascript:showColor('#663366')">
<area shape="rect" coords="121,45,127,54" href="javascript:showColor('#663399')">
<area shape="rect" coords="129,45,135,54" href="javascript:showColor('#6633CC')">
<area shape="rect" coords="137,45,143,54" href="javascript:showColor('#6633FF')">
<area shape="rect" coords="145,45,151,54" href="javascript:showColor('#993300')">
<area shape="rect" coords="153,45,159,54" href="javascript:showColor('#993333')">
<area shape="rect" coords="161,45,167,54" href="javascript:showColor('#993366')">
<area shape="rect" coords="169,45,175,54" href="javascript:showColor('#993399')">
<area shape="rect" coords="177,45,183,54" href="javascript:showColor('#9933CC')">
<area shape="rect" coords="185,45,191,54" href="javascript:showColor('#9933FF')">
<area shape="rect" coords="193,45,199,54" href="javascript:showColor('#CC3300')">
<area shape="rect" coords="201,45,207,54" href="javascript:showColor('#CC3333')">
<area shape="rect" coords="209,45,215,54" href="javascript:showColor('#CC3366')">
<area shape="rect" coords="217,45,223,54" href="javascript:showColor('#CC3399')">
<area shape="rect" coords="225,45,231,54" href="javascript:showColor('#CC33CC')">
<area shape="rect" coords="233,45,239,54" href="javascript:showColor('#CC33FF')">
<area shape="rect" coords="241,45,247,54" href="javascript:showColor('#FF3300')">
<area shape="rect" coords="249,45,255,54" href="javascript:showColor('#FF3333')">
<area shape="rect" coords="257,45,263,54" href="javascript:showColor('#FF3366')">
<area shape="rect" coords="265,45,271,54" href="javascript:showColor('#FF3399')">
<area shape="rect" coords="273,45,279,54" href="javascript:showColor('#FF33CC')">
<area shape="rect" coords="281,45,287,54" href="javascript:showColor('#FF33FF')">
<area shape="rect" coords="1,56,7,65" href="javascript:showColor('#000000')">
<area shape="rect" coords="9,56,15,65" href="javascript:showColor('#000033')">
<area shape="rect" coords="17,56,23,65" href="javascript:showColor('#000066')">
<area shape="rect" coords="25,56,31,65" href="javascript:showColor('#000099')">
<area shape="rect" coords="33,56,39,65" href="javascript:showColor('#0000CC')">
<area shape="rect" coords="41,56,47,65" href="javascript:showColor('#0000FF')">
<area shape="rect" coords="49,56,55,65" href="javascript:showColor('#330000')">
<area shape="rect" coords="57,56,63,65" href="javascript:showColor('#330033')">
<area shape="rect" coords="65,56,71,65" href="javascript:showColor('#330066')">
<area shape="rect" coords="73,56,79,65" href="javascript:showColor('#330099')">
<area shape="rect" coords="81,56,87,65" href="javascript:showColor('#3300CC')">
<area shape="rect" coords="89,56,95,65" href="javascript:showColor('#3300FF')">
<area shape="rect" coords="97,56,103,65" href="javascript:showColor('#660000')">
<area shape="rect" coords="105,56,111,65" href="javascript:showColor('#660033')">
<area shape="rect" coords="113,56,119,65" href="javascript:showColor('#660066')">
<area shape="rect" coords="121,56,127,65" href="javascript:showColor('#660099')">
<area shape="rect" coords="129,56,135,65" href="javascript:showColor('#6600CC')">
<area shape="rect" coords="137,56,143,65" href="javascript:showColor('#6600FF')">
<area shape="rect" coords="145,56,151,65" href="javascript:showColor('#990000')">
<area shape="rect" coords="153,56,159,65" href="javascript:showColor('#990033')">
<area shape="rect" coords="161,56,167,65" href="javascript:showColor('#990066')">
<area shape="rect" coords="169,56,175,65" href="javascript:showColor('#990099')">
<area shape="rect" coords="177,56,183,65" href="javascript:showColor('#9900CC')">
<area shape="rect" coords="185,56,191,65" href="javascript:showColor('#9900FF')">
<area shape="rect" coords="193,56,199,65" href="javascript:showColor('#CC0000')">
<area shape="rect" coords="201,56,207,65" href="javascript:showColor('#CC0033')">
<area shape="rect" coords="209,56,215,65" href="javascript:showColor('#CC0066')">
<area shape="rect" coords="217,56,223,65" href="javascript:showColor('#CC0099')">
<area shape="rect" coords="225,56,231,65" href="javascript:showColor('#CC00CC')">
<area shape="rect" coords="233,56,239,65" href="javascript:showColor('#CC00FF')">
<area shape="rect" coords="241,56,247,65" href="javascript:showColor('#FF0000')">
<area shape="rect" coords="249,56,255,65" href="javascript:showColor('#FF0033')">
<area shape="rect" coords="257,56,263,65" href="javascript:showColor('#FF0066')">
<area shape="rect" coords="265,56,271,65" href="javascript:showColor('#FF0099')">
<area shape="rect" coords="273,56,279,65" href="javascript:showColor('#FF00CC')">
<area shape="rect" coords="281,56,287,65" href="javascript:showColor('#FF00FF')">
</map>
<a><img usemap="#colmap" src="colortable.gif" tppabs="http://javascript.internet.com/img/color-picker/colortable.gif" border=0 width=289 height=67></a><br>
<br>
Кликните по любому из цветных квадратиков и
получите информацию о цвете..<br>
<input type=text name=hexval size=10 readonly style="background-color: #C0C0C0; color: #800000; font-size: 14pt; font-weight: bold; border-style: solid; border-width: 0">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"

Рисунок, использованный в примере: colortable.zip


color

Фиксированный рисунок фона НЕРАЗМНОЖЕННЫЙ!!!
Легенда (для таблицы):зеленый - файл рисунка, желтый - цвет фона, белый - расположение рисунка на странице, голубой - неразмноженный, малиновый - непередвигаемый.

Содержимое этой таблицы поместите сразу после <BODY>

<script language="JavaScript1.2">

/*
Watermark Backgound Image Script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, 100's more DHTML scripts, and TOS,
visit dynamicdrive.com
*/

if (document.all||document.getElementById)
document.body.style.background="url('spinstar.gif') silver center no-repeat fixed"

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color16

Смена фона ячейки таблицы при наведении мыши

Item 1 | Item 2 | Item 3

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: white;}
a:hover { text-decoration: none; color: yellow; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table border=0 cellpadding=0 cellspacing=0>
<tr>
<td onmouseover="bgColor='tblue'" onClick="window.location='home.htm'" style="cursor:hand" onmouseout="bgColor='#C0C0C0'" bgcolor="#C0C0C0" width="100" align="center" valign="center"><b><font color="#D5D5D5">
<a href="home.htm" class="tditem">
Item 1</a></font></b></td>

<td width="1" align="center">|</td>

<td onmouseover="bgColor='blue'" onClick="window.location='another.htm'" style="cursor:hand" onmouseout="bgColor='#C0C0C0'" bgcolor="#C0C0C0" width="100" align="center" valign="center"><b><font color="#D5D5D5">
<a href="another.htm" class="tditem">
Item 2</a></font></b></td>

<td width="1" align="center">|</td>

<td onmouseover="bgColor='blue'" onClick="window.location='Link.htm'" style="cursor:hand" onmouseout="bgColor='#C0C0C0'" bgcolor="#C0C0C0" width="100" align="center" valign="center"><b><font color="#D5D5D5">
<a href="Link.htm" class="tditem">
Item 3</a></font></b></td>

</tr>
</table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color42

Изменение цвета фона таблицы при наведении мыши
Это также могут быть и ячейки одной и той же таблицы. Внимательно посмотрите на код.

ДИНАМИЧЕСКИЕ

ТАБЛИЦЫ

ДЛЯ

INTERNET EXPLORER 4+

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!--Credit:Lance Flavell-->
<TABLE onMouseover="this.style.backgroundColor='#ff0000'" onMouseout="this.style.backgroundColor='#0000ff'" BGCOLOR="#0000ff" BORDER="4" WIDTH="200">
<TD>
<CENTER><B>ДИНАМИЧЕСКИЕ</B></CENTER>
</TD>
</TABLE><BR>

<TABLE onMouseover="this.style.backgroundColor='lightblue'" onMouseout="this.style.backgroundColor='#0000ff'" BGCOLOR="#0000ff" BORDER="4" WIDTH="200">
<TD>
<CENTER><B>ТАБЛИЦЫ</B></CENTER>
</TD>
</TABLE><BR>

<TABLE onMouseover="this.style.backgroundColor='lime'" onMouseout="this.style.backgroundColor='#0000ff'" BGCOLOR="#0000ff" BORDER="4" WIDTH="200">
<TD>
<CENTER><B>ДЛЯ</B></CENTER>
</TD>
</TABLE><BR>
</font>

<TABLE onMouseover="this.style.backgroundColor='yellow'" onMouseout="this.style.backgroundColor='#0000ff'" BGCOLOR="#0000ff" BORDER="4" WIDTH="200">
<TD>
<CENTER><B>INTERNET EXPLORER 4+</B></CENTER>
</TD>
</TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color3

Цвет фона страници
(в форме выпадающео меню)

Выберите цвет фона страницы:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
document.write("<CENTER>");
document.write("<FORM NAME=\"BGColorForm\" size=\"20\">");
document.write("<select name=\"schemesel\" onChange=\"document.bgColor = this.options[selectedIndex].value\">");
document.write("<option value=\"\" selected>Выбирите");
document.write("<option value=\"FFFFFF\">White");
document.write("<option value=\"0000FF\">Navy");
document.write("<option value=\"A0A0A0\">Gray");
document.write("<option value=\"E9E900\">Yellow");
document.write("<option value=\"A0A0FF\">Purple");
document.write("<option value=\"C70000\">Maroon");
document.write("<option value=\"FFFFA0\">Brown");
document.write("<option value=\"F0F0FA\">Silver");
document.write("<option value=\"FF00FF\">Fuchsia");
document.write("<option value=\"00FFFF\">Blue");
document.write("<option value=\"darkblue\">DarkBlue");
document.write("<option value=\"lightblue\">LightBlue");
document.write("<option value=\"green\">Green");
document.write("<option value=\"lime\">Lime");
document.write("<option value=\"red\">Red");
document.write("</select>");
document.write("</FORM>");
document.write("</CENTER>");
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color13

Цвет фона, вводимый посетителем.
(в форме)

Напечатайте Ваш любимый
цвет фона и нажмите кнопку.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Eric Stremming  <estremming@hotmail.com>
      -->
<!-- http://www.geocities.com/ SunsetStrip/Club/5970/
      -->

<!-- Begin
function test(form) {
if (form.text.value == "")
alert("What\'s your favorite color?")
else {
document.bgColor= (""+form.text.value+"");
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<B>Напечатайте Ваш любимый<BR>
цвет фона и нажмите кнопку.<BR>
<input type="text" name="text">
<input type="button" name="button" value="Изменить цвет!" onClick="test(this.form)">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Color14

Шторки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
<!--
.curtain{
position:absolute;
left:0;
top:0;
layer-background-color:800080;
background-color:800080;
border:0.1px solid PURPLE
}
-->
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <div id="c1" class="curtain"></div><div id="c2" class="curtain"></div>
<script language="JavaScript1.2">

var speed=10 // Скорость раздвигания шторок (цифра
 меньше - скорость меньше)
var temp=new Array()
var temp2=new Array()
if (document.layers){
for (c=1;c<=2;c++){
temp[c]=eval("document.c"+c+".clip")
temp2[c]=eval("document.c"+c)
temp[c].width=window.innerWidth
temp[c].height=window.innerHeight/2
temp2[c].top=(c-1)*temp[c].height
}
}
else if (document.all){
var curtainbottom=document.body.offsetHeight/2,curtaintop=0
for (c=1;c<=2;c++){
temp[c]=eval("document.all.c"+c+".style")
temp[c].width=document.body.clientWidth
temp[c].height=document.body.offsetHeight/2
temp[c].top=(c-1)*parseInt(temp[c].height)
}
}

function openit(){
window.scrollTo(0,0)
if (document.layers){
temp[1].bottom-=speed
temp[2].top+=speed
if (temp[1].bottom<=0)
clearInterval(stopit)
}
else if (document.all){
curtainbottom-=speed
temp[1].clip="rect(0 auto+"+curtainbottom+" 0)"
curtaintop+=speed
temp[2].clip="rect("+curtaintop+" auto auto)"
if (curtainbottom<=0)
clearInterval(stopit)
}
}
function gogo(){
stopit=setInterval("openit()",100)
}
gogo()

</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 8

Мировое время в строке статуса

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javaScript">
<!--

var worldtime = new Array()
worldtime[0]="Среднеатлантическое время,-2"
worldtime[1]="Багдад,3"
worldtime[2]="Пекин,8"
worldtime[3]="Берлин,2"
worldtime[4]="Буэнос Айрес,-3"
worldtime[5]="Чикаго,-6"
worldtime[6]="Денвер,-7"
worldtime[7]="Гонконг,8"
worldtime[8]="Гонолулу,-10"
worldtime[9]="Минск,2"
worldtime[10]="Каир,2"
worldtime[11]="Восточное время США,-5"
worldtime[12]="Лондон,0"
worldtime[13]="Мехико,-6"
worldtime[14]="Москва,3"
worldtime[15]="Нью-Йорк,-5"
worldtime[16]="Париж,1"
worldtime[17]="Сингапур,8"
worldtime[18]="Рио де Жанейро,-3"
worldtime[19]="Сан Франциск,-8"
worldtime[20]="Сидней,11"
worldtime[21]="Токио,9"

// The speed of the ticker (milliseconds)
var speedom=1000

// The length of the steps
var step=10

// Do not edit the variables below
var hours
var shifthours
var minutes
var seconds
var localhours
var thisplace
var i_substring=0

var content

function extracttime() {
content=" -------------------------------------"
for (i=0;i<=worldtime.length-1;i++) {
thisplace=worldtime[i].split(",")
thistime= new Date()
hours=thistime.getUTCHours()
hours=eval(hours)
shifthours=eval(thisplace[1])
localhours=eval(shifthours+hours)
if (localhours <0) {localhours=24+localhours}
if (localhours >=24) {localhours=localhours-24}

minutes=thistime.getUTCMinutes()
seconds=thistime.getUTCSeconds()

if (thisplace[0]=='Delhi') {
minutes=eval(minutes+30)
if (minutes>=60) {
minutes=eval(minutes-60)
localhours=eval(localhours+1)
}
}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (eval(seconds) < 10) {seconds="0"+seconds}
if (eval(localhours) < 10) {localhours="0"+localhours}
thistime = localhours+":"+minutes
content+=" ------ "+thisplace[0]+": "+thistime
}
content+=" -------------------------------------"
scrolltime()
}

function scrolltime() {
if (i_substring<=content.length-1) {
window.status=content.substring(i_substring,content.length-1)
i_substring=i_substring+step
var timer=setTimeout("extracttime()",speedom)
}
else {
i_substring=0
clearTimeout(timer)
extracttime()
}
}

// - End of JavaScript - -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks13

Мировое время в форме

Local Time
Eniwetok (GMT-12)
Samoa (GMT-11)
Hawaii (GMT-10)
Alaska (GMT-9)
Pacific Time (GMT-8)
Mountain Time (GMT-7)
Central Time (GMT-6)
Eastern Time (GMT-5)
Atlantic Time (GMT-4)
Brazilia (GMT-3)
Mid-Atlantic (GMT-2)
Azores (GMT-1)
Greenwich Mean Time (GMT)
Rome (GMT +1)
Palestine (GMT +2)
Moscow (GMT +3)
Baku (GMT +4)
New Delhi (GMT +5)
Dhakar (GMT +6)
Bangkok (GMT +7)
Hong Kong (GMT +8)
Tokyo (GMT +9)
Sydney (GMT +10)
Magadan (GMT +11)
Wellington (GMT +12)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Emanuel Gavrilv (eltal@sprint.ca) -->
<!-- Web Site: http://www.angelfire.com/on/eltal -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function GetTime() {
var dt = new Date();
var def = dt.getTimezoneOffset()/60;
var gmt = (dt.getHours() + def);
document.clock.local.value = (IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds()));
var ending = ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds());
var rome =check24(((gmt + 1) > 24) ? ((gmt + 1) - 24) : (gmt + 1));
document.clock.rome.value = (IfZero(rome) + ending);
var isr =check24(((gmt + 2) > 24) ? ((gmt + 2) - 24) : (gmt + 2));
document.clock.Palestine.value = (IfZero(isr) + ending);
var msw =check24(((gmt + 3) > 24) ? ((gmt + 3) - 24) : (gmt + 3));
document.clock.msw.value = (IfZero(msw) + ending);
var baku =check24(((gmt + 4) > 24) ? ((gmt + 4) - 24) : (gmt + 4));
document.clock.baku.value = (IfZero(baku) + ending);
var del =check24(((gmt + 5) > 24) ? ((gmt + 5) - 24) : (gmt + 5));
document.clock.del.value = (IfZero(del) + ending);
var dh =check24(((gmt + 6) > 24) ? ((gmt + 6) - 24) : (gmt + 6));
document.clock.dh.value = (IfZero(dh) + ending);
var kok =check24(((gmt +7 ) > 24) ? ((gmt +7 ) - 24) : (gmt + 7));
document.clock.kok.value = (IfZero(kok) + ending);
var ho =check24(((gmt + 8) > 24) ? ((gmt + 8) - 24) : (gmt + 8));
document.clock.ho.value = (IfZero(ho) + ending);
var tky =check24(((gmt + 9) > 24) ? ((gmt + 9) - 24) : (gmt + 9));
document.clock.tky.value = (IfZero(tky) + ending);
var sdn =check24(((gmt + 10) > 24) ? ((gmt + 10) - 24) : (gmt + 10));
document.clock.sdn.value = (IfZero(sdn) + ending);
var mag =check24(((gmt + 11) > 24) ? ((gmt + 11) - 24) : (gmt + 11));
document.clock.mag.value = (IfZero(mag) + ending);
var wll =check24(((gmt + 12) > 24) ? ((gmt + 12) - 24) : (gmt + 12));
document.clock.wll.value = (IfZero(wll) + ending);

var _GMT =check24(((gmt) > 24) ? ((gmt) - 24) : (gmt));

document.clock._GMT.value = (IfZero(_GMT) + ":" + IfZero(dt.getMinutes()) + ":" + IfZero(dt.getSeconds()));
var eniw =check24(((gmt + (24-12)) > 24) ? ((gmt + (24-12)) - 24) : (gmt + (24-12)));
document.clock.eniw.value = (IfZero(eniw) + ending);
var sam =check24(((gmt + (24-11)) > 24) ? ((gmt + (24-11)) - 24) : (gmt + (24-11)));
document.clock.sam.value = (IfZero(sam) + ending);
var haw =check24(((gmt + (24-10)) > 24) ? ((gmt + (24-10)) - 24) : (gmt + (24-10)));
document.clock.Hawaii.value = (IfZero(haw) + ending);
var ala =check24(((gmt + (24-9)) > 24) ? ((gmt + (24-9)) - 24) : (gmt + (24-9)));
document.clock.alaska.value = (IfZero(ala) + ending);
var pacif =check24(((gmt + (24-8)) >= 24) ? ((gmt + (24-8)) - 24) : (gmt + (24-8)));
document.clock.pacif.value = (IfZero(pacif) + ending);
var mount =check24(((gmt + (24-7)) > 24) ? ((gmt + (24-7)) - 24) : (gmt + (24-7)));
document.clock.mount.value = (IfZero(mount) + ending);
var center =check24(((gmt + (24-6)) > 24) ? ((gmt + (24-6)) - 24) : (gmt + (24-6)));
document.clock.center.value = (IfZero(center) + ending);
var east =check24(((gmt + (24-5)) > 24) ? ((gmt + (24-5)) - 24) : (gmt + (24-5)));
document.clock.east.value = (IfZero(east) + ending);
var atl =check24(((gmt + (24-4)) > 24) ? ((gmt + (24-4)) - 24) : (gmt + (24-4)));
document.clock.atl.value = (IfZero(atl) + ending);
var bra =check24(((gmt + (24-3)) > 24) ? ((gmt + (24-3)) - 24) : (gmt + (24-3)));
bra = (bra >= 24) ? bra - 24 : bra;
document.clock.bra.value = (IfZero(bra) + ending);
var mid =check24(((gmt + (24-2)) > 24) ? ((gmt + (24-2)) - 24) : (gmt + (24-2)));
mid = (mid >= 24) ? mid - 24 : mid;
document.clock.mid.value = (IfZero(mid) + ending);
var azo =check24(((gmt + (24-1)) > 24) ? ((gmt + (24-1)) - 24) : (gmt + (24-1)));
azo = (azo >= 24) ? azo - 24 : azo;
document.clock.azo.value = (IfZero(azo) + ending);
setTimeout("GetTime()", 1000);
}
function IfZero(num) {
return ((num <= 9) ? ("0" + num) : num);
}
function check24(hour) {
return (hour >= 24) ? hour - 24 : hour;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY onLoad="javascript:GetTime();">

<center>
<form name="clock">
<strong>Local Time <input type="text" size="8" name="local"></strong>
<p>
Eniwetok (GMT-12) <input type="text" size="8" name="eniw"><br>
Samoa (GMT-11) <input type="text" size="8" name="sam"><br>
Hawaii (GMT-10) <input type="text" size="8" name="Hawaii">
<p>
Alaska (GMT-9) <input type="text" size="8" name="alaska"><br>
Pacific Time (GMT-8) <input type="text" size="8" name="pacif"><br>
Mountain Time (GMT-7) <input type="text" size="8" name="mount">
<p>
Central Time (GMT-6) <input type="text" size="8" name="center"><br>
Eastern Time (GMT-5) <input type="text" size="8" name="east"><br>
Atlantic Time (GMT-4) <input type="text" size="8" name="atl">
<p>
Brazilia (GMT-3) <input type="text" size="8" name="bra"><br>
Mid-Atlantic (GMT-2) <input type="text" size="8" name="mid"><br>
Azores (GMT-1) <input type="text" size="8" name="azo">
<p>
<strong>Greenwich Mean Time (GMT) <input type="text" size="8" name="_GMT"></strong>
<p>
Rome (GMT +1) <input type="text" size="8" name="rome"><br>
Palestine (GMT +2) <input type="text" size="8" name="Palestine"><br>
Moscow (GMT +3) <input type="text" size="8" name="msw">
<p>
Baku (GMT +4) <input type="text" size="8" name="baku"><br>
New Delhi (GMT +5) <input type="text" size="8" name="del"><br>
Dhakar (GMT +6) <input type="text" size="8" name="dh">
<p>
Bangkok (GMT +7) <input type="text" size="8" name="kok"><br>
Hong Kong (GMT +8) <input type="text" size="8" name="ho"><br>
Tokyo (GMT +9) <input type="text" size="8" name="tky">
<p>
Sydney (GMT +10) <input type="text" size="8" name="sdn"><br>
Magadan (GMT +11) <input type="text" size="8" name="mag"><br>
Wellington (GMT +12) <input type="text" size="8" name="wll">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 6

Мировое время при двойном клике

  • Справка

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<STYLE>
.timestyle {
position:absolute;
left:50px;
top:100px;
font-family:Verdana;
font-size:8pt;
color:000000;
background-color:DDDDFF;
}

.explainstyle {
position:absolute;
left:10px;
top:160px;
font-family:Verdana;
font-size:8pt;
color:000000;

}
</STYLE>
<script language=javaScript>
<!-- Beginning of JavaScript -
var worldtime = new Array()
worldtime[0]="Среднеатлантическое время,-2"
worldtime[1]="Багдад,3"
worldtime[2]="Пекин,8"
worldtime[3]="Берлин,2"
worldtime[4]="Буэнос Айрес,-3"
worldtime[5]="Чикаго,-6"
worldtime[6]="Денвер,-7"
worldtime[7]="Гонконг,8"
worldtime[8]="Гонолулу,-10"
worldtime[9]="Минск,2"
worldtime[10]="Каир,2"
worldtime[11]="Восточное время США,-5"
worldtime[12]="Лондон,0"
worldtime[13]="Мехико,-6"
worldtime[14]="Москва,3"
worldtime[15]="Нью-Йорк,-5"
worldtime[16]="Париж,1"
worldtime[17]="Сингапур,8"
worldtime[18]="Рио де Жанейро,-3"
worldtime[19]="Сан Франциск,-8"
worldtime[20]="Сидней,11"
worldtime[21]="Токио,9"

var dhours
var dshifthours
var dminutes
var dseconds
var dlocalhours
var pause=2000
var dthisplace
var dthisline=""
var showmenu=1

function showtime() {

for (i=0; i<=worldtime.length-1;i++) {
dthisplace=worldtime[i].split(",")
thistime= new Date()
dhours=thistime.getUTCHours()
dhours=eval(dhours)
dshifthours=eval(dthisplace[1])
dlocalhours=eval(dshifthours+dhours)
if (dlocalhours <0) {dlocalhours=24+dlocalhours}
if (dlocalhours >=24) {dlocalhours=dlocalhours-24}

dminutes=thistime.getUTCMinutes()
dseconds=thistime.getUTCSeconds()

if (dthisplace[0]=='Delhi') {
dminutes=eval(dminutes+30)
if (dminutes>=60) {
dminutes=eval(dminutes-60)
dlocalhours=eval(dlocalhours+1)
}
}
if (eval(dminutes) < 10) {dminutes="0"+dminutes}
if (eval(dseconds) < 10) {dseconds="0"+dseconds}
if (eval(dlocalhours) < 10) {dlocalhours="0"+dlocalhours}
dthisline+= dlocalhours+":" +dminutes+":" +dseconds+" "+dthisplace[0]+"<br>"
}
if (document.all) {
timediv.innerHTML=dthisline
dthisline=""
var timer=setTimeout("showtime()",1000)
}
if (document.layers) {
document.timediv.document.write ("<span id='nn' class='timestyle'>")
document.timediv.document.write (dthisline)
document.timediv.document.write ("</span>")
document.timediv.document.close()
dthisline=""
}
}

function dblclick() {
if (document.all && showmenu==1) {
document.all.timediv.style.   visibility= "visible"
document.all.timediv.style.posLeft=x
document.all.timediv.style.posTop=y
showtime()
}
if (document.layers && showmenu==1) {
document.timediv.visibility="visible"
document.timediv.left=x-40
document.timediv.top=y-80
showtime()
}
if (document.all && showmenu!=1) {
document.all.timediv.style. visibility= "hidden"
}
if (document.layers && showmenu!=1) {
document.timediv.visibility="hidden"
}
showmenu=showmenu*-1
}

if (document.layers) {
document.captureEvents (Event.ONDBLCLICK);
}
document.ondblclick=dblclick;

if (document.layers){
document.captureEvents    (Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;

function handlerMM(e){
x = (document.layers) ? e.pageX : event.clientX
y = (document.layers) ? e.pageY : event.clientY
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<div ALIGN="left" style='width: 150; position: absolute; left: 39; top: -25; height: 19' id="timediv" class="timestyle" ></div>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 2

24-часовые JavaScript часы

(military)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function jsClock24hr(){
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var temp = "" + ((hour < 10) ? "0" : "") + hour
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
document.clockForm24hr.digits.value = temp
id = setTimeout("jsClock24hr()",1000)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="jsClock()">

<FORM NAME="clockForm24hr"> <FONT face="Courier New,Courier" size=3><B><INPUT TYPE="text" NAME="digits"
       SIZE="6" VALUE="Loading"></B>
</FONT></FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 3

GMT Часы (в виде кнопки)

(Время по Гринвичскому мередиану)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function jsClockGMT(){

var time = new Date()
var gmtMS = time.getTime() + (time.getTimezoneOffset() * 60000)
var gmtTime = new Date(gmtMS)
var hour = gmtTime.getHours()
var minute = gmtTime.getMinutes()
var second = gmtTime.getSeconds()
var temp = "" + ((hour < 10) ? "0" : "") + hour
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
document.clockFormGMT.digits.value = temp
setTimeout("jsClockGMT()",1000)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="jsClockGMT()">

<FORM NAME="clockFormGMT"> <FONT face="Courier New,Courier" size=34><B><INPUT TYPE="text" NAME="digits"
       SIZE="8" VALUE="Loading"  style="border-style:
       outset; border-width: 2"></B>
</FONT></FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Выделенная белым цветом строка обеспечивает вид кнопки для формы.


Clocks23

Аналоговые, следящие за скроллингом часы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site:  http://website.lineone.net/~kurt.grigg/javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
fCol = '000000'; //Цвет цифр.
sCol = 'ff0000'; //Цвет секундной стрелки.
mCol = '000000'; //Цвет минутной стрелки.
hCol = '000000'; //Цвет часовой стрелки.
H = '....';
H = H.split('');
M = '.....';
M = M.split('');
S = '......';
S = S.split('');
Ypos = 0;
Xpos = 0;
Ybase = 8;
Xbase = 8;
dots = 12;
ns = (document.layers)?1:0;
if (ns) {
dgts = '1 2 3 4 5 6 7 8 9 10 11 12';
dgts = dgts.split(' ');
for (i = 0; i < dots; i++) {
document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>'+dgts[i]+'</font></center></layer>');
}
for (i = 0; i < M.length; i++) {
document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"></layer>');
}
for (i = 0; i < H.length; i++) {
document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"></layer>');
}
for (i = 0; i < S.length; i++) {
document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"></layer>');
}
}
else {
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 1; i < dots+1; i++) {
document.write('<div id="ieDigits" style="position:absolute;top:0px;left:0px;
      width:30px;height:30px;font-family:Arial,Verdana;
      font-size:10px;color:'+fCol+';
      text-align:center;padding-top:10px">'+i+'</div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < M.length; i++) {
document.write('<div id=y style="position:absolute;width:2px;height:2px;font-size:2px;
      background:'+mCol+'"></div>');
}
document.write('</div></div>')
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < H.length; i++) {
document.write('<div id=z style="position:absolute;width:2px;height:2px;
      font-size:2px;background:'+hCol+'"></div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < S.length; i++) {
document.write('<div id=x style="position:absolute;width:2px;height:2px;
      font-size:2px;background:'+sCol+'"></div>');
}
document.write('</div></div>')
}
function clock() {
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360;
if (ns) {
Ypos = window.pageYOffset+window.innerHeight-60;
Xpos = window.pageXOffset+window.innerWidth-80;
}
else {
Ypos = document.body.scrollTop + window.document.body.clientHeight - 60;
Xpos = document.body.scrollLeft + window.document.body.clientWidth - 60;
}
if (ns) {
for (i = 0; i < dots; ++i){
document.layers["nsDigits"+i].top = Ypos - 5 + 40 * Math.sin(-0.49+dots+i/1.9);
document.layers["nsDigits"+i].left = Xpos - 15 + 40 * Math.cos(-0.49+dots+i/1.9);
}
for (i = 0; i < S.length; i++){
document.layers["nx"+i].top = Ypos + i * Ybase * Math.sin(sec);
document.layers["nx"+i].left = Xpos + i * Xbase * Math.cos(sec);
}
for (i = 0; i < M.length; i++){
document.layers["ny"+i].top = Ypos + i * Ybase * Math.sin(min);
document.layers["ny"+i].left = Xpos + i * Xbase * Math.cos(min);
}
for (i = 0; i < H.length; i++){
document.layers["nz"+i].top = Ypos + i * Ybase * Math.sin(hrs);
document.layers["nz"+i].left = Xpos + i * Xbase * Math.cos(hrs);
}
}
else{
for (i=0; i < dots; ++i){
ieDigits[i].style.pixelTop = Ypos - 15 + 40 * Math.sin(-0.49+dots+i/1.9);
ieDigits[i].style.pixelLeft = Xpos - 14 + 40 * Math.cos(-0.49+dots+i/1.9);
}
for (i=0; i < S.length; i++){
x[i].style.pixelTop = Ypos + i * Ybase * Math.sin(sec);
x[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(sec);
}
for (i=0; i < M.length; i++){
y[i].style.pixelTop = Ypos + i * Ybase * Math.sin(min);
y[i].style.pixelLeft = Xpos + i * Xbase * Math.cos(min);
}
for (i=0; i < H.length; i++){
z[i].style.pixelTop = Ypos + i * Ybase*Math.sin(hrs);
z[i].style.pixelLeft = Xpos + i * Xbase*Math.cos(hrs);
}
}
setTimeout('clock()', 50);
}
if (document.layers || document.all) window.onload = clock;
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks35

Часы POP-UP

Код для открытия окна с часами

<input type=button value="ПОКАЗАТЬ ЧАСЫ" onclick="window.open('Clocks35a.htm','','width=150,height=185')">

Полный код страницы с часами Clocks35a.htm

<html>
<head>
<title>Время:</title>
<script language="javascript">

var isNS=(navigator.appName=="Netscape");
var _all=(isNS)? 'outer.document.' : 'all.' ;
var _style=(isNS)? '' : '.style' ;
var cnt=new Array(), radius=6, result, now=new Date();
var ring1_X, ring2_X, ring3_X, ring4_X, ring5_X, ring6_X, ring1_Y, ring2_Y, ring3_Y, ring4_Y, ring5_Y, ring6_Y;
var names='hrs1hrs2hrs3hrs4min1min2min3min4min5sec1sec2sec3sec4sec5sec6';
var dow="SunMonTueWedThuFriSatSun";
var months=new Array('January','Febuary','March','April','May','June','July','August','September','October','November','December');
var timestring=''

function init(){
cnt[0]=0;
for(i=1;i<=60;i++){
cnt[i]=cnt[i-1]+((Math.PI*2)/60);
cnt[i-1]+=Math.PI/180;
}
for(num=1;num<=6;num++){
eval('ring'+num+'_X=new Array()');
eval('ring'+num+'_Y=new Array()');
for(i=1;i<=60;i++){
result=((i-15)<0)? 60+i-15 : i-15;
eval('ring'+num+'_X['+i+']='+Math.floor((num*radius*Math.cos(cnt[result]))+56));
eval('ring'+num+'_Y['+i+']='+Math.floor((num*radius*Math.sin(cnt[result]))+55));
}
eval('ring'+num+'_Y[0]=ring'+num+'_Y[60]');
eval('ring'+num+'_X[0]=ring'+num+'_X[60]');
}
runclock();
}

function runclock(){
timestring=''
now=new Date(); now.hrs=now.getHours(); now.min=now.getMinutes(); now.sec=now.getSeconds();
if (now.hrs<10) timestring+='0'+now.hrs+':'; else timestring+=now.hrs+':'
if (now.min<10) timestring+='0'+now.min+':'; else timestring+=now.min+':'
if (now.sec<10) timestring+='0'+now.sec; else timestring+=now.sec

document.digital.digital2.value=timestring
now.hrs=(now.hrs>=12)? now.hrs-12 : now.hrs;
now.hrs=Math.floor((now.hrs*5)+(now.min/12));
for(n=0;n<names.length;n+=4){
movetick(names.substr(n,4), names.substr(n+3,1), 'now.'+names.substr(n,3) );
}
setTimeout('runclock()',1000);
}

function movetick(obj,ringnum,timestep){
if(isNS){
eval(obj+'.top=ring'+ringnum+'_Y['+timestep+']');
eval(obj+'.left=ring'+ringnum+'_X['+timestep+']');
}else{
eval(obj+'.pixelTop=ring'+ringnum+'_Y['+timestep+']');
eval(obj+'.pixelLeft=ring'+ringnum+'_X['+timestep+']');
}}

//document.title=dow.substr(now.getDay()*3,3)+', '+months[now.getMonth()]+' '+now.getDate()+', '+now.getFullYear()

window.onload=init;

</script>
</head>
<body bgcolor="teal">

<center>

<script language="javascript">

var txt='';
txt+='<table border="0" width="117" height="117" cellspacing="0" cellpadding="0"><tr><td align="center">';
txt+=(isNS)? '<ilayer name="outer" height="117" width="117" z-index="1"><img src="faceclocks.gif">' : '<div id="outer" style="position:relative; width:117px; height:117px; z-index:1"><img src="faceclock.gif">';
txt+=(isNS)? '<layer name="hrs1" top="-3000" left="0" bgcolor="red" width="6" height="6" z-index="19"></layer>' : '<div id="hrs1" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:red; font-size:6px; z-index:19"></div>';
txt+=(isNS)? '<layer name="hrs2" top="-3000" left="0" bgcolor="red" width="6" height="6" z-index="18"></layer>' : '<div id="hrs2" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:red; font-size:6px; z-index:18"></div>';
txt+=(isNS)? '<layer name="hrs3" top="-3000" left="0" bgcolor="red" width="6" height="6" z-index="17"></layer>' : '<div id="hrs3" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:red; font-size:6px; z-index:17"></div>';
txt+=(isNS)? '<layer name="hrs4" top="-3000" left="0" bgcolor="red" width="6" height="6" z-index="16"></layer>' : '<div id="hrs4" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:red; font-size:6px; z-index:16"></div>';
txt+=(isNS)? '<layer name="min1" top="-3000" left="0" bgcolor="blue" width="6" height="6" z-index="15"></layer>' : '<div id="min1" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:blue; font-size:6px; z-index:15"></div>';
txt+=(isNS)? '<layer name="min2" top="-3000" left="0" bgcolor="blue" width="6" height="6" z-index="14"></layer>' : '<div id="min2" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:blue; font-size:6px; z-index:14"></div>';
txt+=(isNS)? '<layer name="min3" top="-3000" left="0" bgcolor="blue" width="6" height="6" z-index="13"></layer>' : '<div id="min3" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:blue; font-size:6px; z-index:13"></div>';
txt+=(isNS)? '<layer name="min4" top="-3000" left="0" bgcolor="blue" width="6" height="6" z-index="12"></layer>' : '<div id="min4" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:blue; font-size:6px; z-index:12"></div>';
txt+=(isNS)? '<layer name="min5" top="-3000" left="0" bgcolor="blue" width="6" height="6" z-index="11"></layer>' : '<div id="min5" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:blue; font-size:6px; z-index:11"></div>';
txt+=(isNS)? '<layer name="sec1" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="10"></layer>' : '<div id="sec1" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:10"></div>';
txt+=(isNS)? '<layer name="sec2" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="9"></layer>' : '<div id="sec2" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:9"></div>';
txt+=(isNS)? '<layer name="sec3" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="8"></layer>' : '<div id="sec3" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:8"></div>';
txt+=(isNS)? '<layer name="sec4" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="7"></layer>' : '<div id="sec4" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:7"></div>';
txt+=(isNS)? '<layer name="sec5" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="6"></layer>' : '<div id="sec5" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:6"></div>';
txt+=(isNS)? '<layer name="sec6" top="-3000" left="0" bgcolor="black" width="6" height="6" z-index="5"></layer>' : '<div id="sec6" style="position:absolute; top:-3000px; left:-3000px; width:6px; height:6px; background-color:black; font-size:6px; z-index:5"></div>';
txt+=(isNS)? '</ilayer>' : '</div>';
txt+='</td></tr></table>';

document.write(txt);

for(n=0;n<names.length;n+=4){
eval('var '+names.substr(n,4)+'=document.'+_all+names.substr(n,4)+_style);
}

</script>
<form name="digital"><input type="button" name="digital2" style="font:12px black Verdana" value="Закрыть" onClick="window.close()"></form>

</center>

</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок, использованный в примере: faceclock.zip


Clocks21

Будущие дата и время

Через дней

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="JavaScript">
<!-- Original: Kevin Myers (kevinmyers@unforgettable.com) -->
<!-- Web Site: http://www.geocities.com/SiliconValley/Bay/7554 -->

<!-- Begin
function AddDays(form) {
DaysToAdd=document.form.DaysToAdd.value;

var now=new Date();
var newdate=new Date();
var newtimems=newdate.getTime()+(DaysToAdd*24*60*60*1000);
newdate.setTime(newtimems);
document.form.display.value=newdate.toLocaleString();
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=form>
Через <input type=text name=DaysToAdd size=5 value=10>
дней <input type=button value="будет" onclick="AddDays(this.form)">
<input type=text name="display" size=16 value="">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks14

Будильник
(только MSIE)

(ну, если вы не выключаете на ночь компьютер, то теперь будильник Вам покупать не надо...)

Вкл. Выкл.
Установка будильника:
Выберите звук:
Повторить:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  John Caranta (caranta@netzero.net) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var alarmTime;
var curTime;
var check = new Date();
var hourNum;
var minNum;
function GetTime() {
var dt = new Date();
document.clock.local.value = IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes());
setTimeout("GetTime()", 1000);
curTime = (IfZero(dt.getHours()) + ":" + IfZero(dt.getMinutes()));
}
function IfZero(num) {
return ((num <= 9) ? ("0" + num) : num);
}
function alarmSet() {
hourNum = document.clock.hourOpt[document. clock.hourOpt.selectedIndex].value;
minNum = document.clock.minOpt[document. clock.minOpt.selectedIndex].value;
alarmTime = hourNum + ":" + minNum;
}
function alarmOn() {
if (alarmTime == curTime) {
document.all.sound.src = document.clock.alarmSound.value;
}
else {
setTimeout("alarmOn()", 1000)
}
}
function alarmOff() {
document.all.sound.src = "";
alarmTime="";
}
function snooze() {
document.all.sound.src = "";
var snoozeL = parseInt(document.clock.snoozeOpt[document.
      clock.snoozeOpt.selectedIndex].value);
var snooze = new Date();
alarmTime = IfZero(snooze.getHours()) + ":" + IfZero(snooze.getMinutes() + snoozeL);
alarmOn();
}
//  End -->
</script>
<bgSound src="" id="sound">

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY onLoad="GetTime()">

<table width=100% border=1>
<tr>
<td align=middle>
<form name="clock">
<input size="8" name="local">
<input type=radio name=alarmOnOff onClick="alarmOn()">On
<input type=radio name=alarmOnOff onClick="alarmOff()" checked>Off
<td align=middle>
Set Alarm:
<br>
<select name=hourOpt onChange="alarmSet()" size=1>
<option value="00">00<option value="01">01<option value="02">02<option value="03">03
<option value="04">04<option value="05">05<option value="06">06<option value="07">07
<option value="08">08<option value="09">09<option value="10">10<option value="11">11
<option selected value="12">12
<option value="13">13<option value="14">14<option value="15">15<option value="16">16
<option value="17">17<option value="18">18<option value="19">19<option value="20">20
<option value="21">21<option value="22">22<option value="23">23
</option>
</select>
<select name=minOpt onChange="alarmSet()" size=1>
<option selected value="00">00<option value="01">01<option value="02">02<option value="03">03
<option value="04">04<option value="05">05<option value="06">06<option value="07">07
<option value="08">08<option value="09">09<option value="10">10<option value="11">11
<option value="12">12<option value="13">13<option value="14">14<option value="15">15
<option value="16">16<option value="17">17<option value="18">18<option value="19">19
<option value="20">20<option value="21">21<option value="22">22<option value="23">23
<option value="24">24<option value="25">25<option value="26">26<option value="27">27
<option value="28">28<option value="29">29<option value="30">30<option value="31">31
<option value="32">32<option value="33">33<option value="34">34<option value="35">35
<option value="36">36<option value="37">37<option value="38">38<option value="39">39
<option value="40">40<option value="41">41<option value="42">42<option value="43">43
<option value="44">44<option value="45">45<option value="46">46<option value="47">47
<option value="48">48<option value="49">49<option value="50">50<option value="51">51
<option value="52">52<option value="53">53<option value="54">54<option value="55">55
<option value="56">56<option value="57">57<option value="58">58<option value="59">59
</option>
</select>
<tr>
<td align=middle>
Select Alarm Sound:
<br>
<input type=file size=4 name=alarmSound>
<td align=middle>
Snooze For:
<br>
<select NAME=snoozeOpt size=1 onChange="snooze()">
<option value="1">1<option value="2">2<option value="3">3<option value="4">4
<option value="5">5<option value="6">6<option value="7">7<option value="8">8
<option value="9" selected>9
</option>
</select>
</form>
</td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks34

Будильник 2 (напоминатель)
Особые комментарии здесь не нужны. Единственное, вместо алерта можно заставить звучать музыку или запустить видеоролик, или ... сами придумайте (format C: недоступен:). Для этого замените выделенную желтым строку на нужную Вам или добавьте что-нибудь сразу после нее. Ну, например document.bgColor="red" и цвет фона страницы станет красным в назначенное Вами время...

Текущее время:
Напомнить в:
Сообщение:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="startclock();">

<SCRIPT NAME="Alert Script" LANGUAGE="JavaScript">
// AUTHOR Evan Zaker
set = null
var timerID = null
var timerRunning = false

function stopclock() {
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function startclock() {
stopclock()
showtime()
}
function showtime(){
var now = new Date()
var hours = now.getHours()
var minutes = now.getMinutes()
var seconds = now.getSeconds()
var timeValue = "" + ((hours > 12) ? hours - 12 : hours)
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
timeValue += (hours >= 12) ? " PM" : " AM"
document.alert.time.value = timeValue
if(timeValue == set){
alert(message);
}
timerID = setTimeout("showtime()",1000)
timerRunning = true
}
function setalert() {
set = prompt("Установка времени напоминания.\nВведите время в формате 0:00:00. Например 11:01:00 AM","");
document.alert.set.value = set
if (document.alert.message.value == "None"){
setmess();
}
if (document.alert.message.value == "null"){
setmess();
}
}
function setmess() {

message = prompt("Установка сообщения для напоминания.\nВведите свое сообщение.","");
document.alert.message.value = message
}
function quit() {
if(confirm("Сбросить все установки?")) {
close()
}
}
</SCRIPT>
</font>
<CENTER>
<FORM NAME="alert">
<TABLE bgcolor="#808080" border="2">
<TR><TD><font size="3" color="#FFFFFF"><b>Текущее время:</b></font> </TD><TD>
<font size="3" color="#FFFFFF">
<b><INPUT TYPE=TEXT NAME="time" VALUE="00:00 ?M" SIZE=10></b>
</font>
</TD></TR>
<TR><TD><font size="3" color="#FFFFFF"><b>Напомнить в:&nbsp;</b></font> </TD><TD>
<font size="3" color="#FFFFFF">
<b><INPUT TYPE=TEXT NAME="set" VALUE="00:00 ?M" SIZE=10></b>
</font>
</TD></TR>
<TR><TD><font size="3" color="#FFFFFF"><b>Сообщение:</b></font> </TD><TD>
<font size="3" color="#FFFFFF">
<b><INPUT TYPE=TEXT NAME="message" VALUE="None" SIZE=30></b>
</font>
</TD></TR>
<TR><TD>
<font size="3" color="#FFFFFF">
<b><INPUT TYPE=BUTTON STYLE="WIDTH:140" VALUE="Установить время" ONCLICK="setalert()"></b>
</font>
</TD><TD>
<font size="3" color="#FFFFFF">
<b><INPUT TYPE=BUTTON STYLE="WIDTH:120" VALUE="Текст ообщения" ONCLICK="setmess()"></b></font><font size="3" color="#FFFFFF"><b>
<INPUT TYPE=BUTTON STYLE="WIDTH:100" VALUE="Сбросить все" ONCLICK="quit()"></b>
</font>
</TD></TR>
</TABLE>
</FORM>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks11

Часы в титульной строке браузера

(только MSIE)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

 <SCRIPT Language="JavaScript">
<!-- Hide

/*
This script was written by Mike Cullen, 1999
Featured on Dynamic Drive (dynamicdrive.com)
For full source code, installation instructions
and many more DHTML scripts
Visit Dynamicdrive.com
*/

var scroller;
var ampm;
var actualtitle=document.title+" "
function antiMilitaryTime()
{
if (hr == "12"){
ampm="P.M."
}
else if (hr == "13"){
hr="1"
ampm="P.M."
}
else if (hr == "14"){
hr="2"
ampm="P.M."
}
else if (hr == "15"){
hr ="3"
ampm="P.M."
}
else if (hr == "16"){
hr = "4"
ampm="P.M."
}
else if (hr == "17"){
hr = "5"
ampm="P.M."
}
else if (hr == "18"){
hr = "6"
ampm="P.M."
}
else if (hr == "19"){
hr = "7"
ampm="P.M."
}
else if (hr == "20"){
hr = "8"
ampm="P.M."
}
else if (hr == "21"){
hr = "9"
ampm="P.M."
}
else if (hr == "22"){
hr = "10"
ampm="P.M."
}
else if (hr == "23"){
hr = "11"
ampm="P.M."
}
else if (hr == "24"){
hr = "12"
}
}
function addZero(){
if (min <= "9"){
min = "0"+min
}
if (sec<= "9"){
sec = "0"+sec
}
if (hr <="9"){
hr = "0"+hr
}
}
function time(){
dt=new Date()
sec=dt.getSeconds()
hr=dt.getHours()
ampm="A.M."
min=dt.getMinutes()
}
function scroll() {
time()
antiMilitaryTime()
addZero()
var scroller="TIME: "+hr+":"+min+":"+sec+"
    "+ampm
var timeout=setTimeout("scroll()", 1000)
document.title=actualtitle+scroller
}
if (document.all)
scroll()
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks22

Включить - выключить

Выключить Включить

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="TOfunc()">

<script language="JavaScript">
var enabled = 0;
function TOfunc() {
TO = window.setTimeout( "TOfunc()", 1000 );
var today = new Date();
document.forms[0].elements[0].value = today.toString();
}
</SCRIPT>

<script language="JavaScript">
function Stopfunc() {
clearTimeout(TO);
var enabled = 0;
}
</SCRIPT>
<CENTER>
<FORM>
<input type="text" name="disp" value="" size=30 onFocus="this.blur()"><br>
<input type="radio" name="rad" value="OFF" onClick="Stopfunc();"> Выключить
<input type="radio" name="rad" value="ON" checked onClick="TOfunc();"> Включить<br>
</center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks36

Часы с паузой

День недели
Месяц, день и год
Текущее время

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT>
<!--  Activate Cloaking Device
//******************************* *****************************
      *******************************
//
// Another Date & Time Display
//
// Developed by Timothy Wallace ,  timothy@essex1.com
//
//******************************* ******************************
      *****************************

// Global variables for timer.
var timerID = null;
var timerRunning = false;

function startclock ()
{
// Make sure the clock is stopped
stopclock();
time();
}

function stopclock ()
{
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}

function time ()
{
var now = new Date();
var yr = now.getYear();
var mName = now.getMonth() + 1;
var dName = now.getDay() + 1;
var dayNr = ((now.getDate()<10) ? "0" : "")+ now.getDate();
var ampm = (now.getHours() >= 12) ? " P.M." : " A.M."
var hours = now.getHours();
hours = ((hours > 12) ? hours - 12 : hours);
var minutes = ((now.getMinutes() < 10) ? ":0" : ":") + now.getMinutes();
var seconds = ((now.getSeconds() < 10) ? ":0" : ":") + now.getSeconds();

if(dName==1) Day = "Воскресенье";
if(dName==2) Day = "Понедельник";
if(dName==3) Day = "Вторник";
if(dName==4) Day = "Среда";
if(dName==5) Day = "Четверг";
if(dName==6) Day = "Пятница";
if(dName==7) Day = "Суббота";

if(mName==1) Month="Январь";
if(mName==2) Month="Февраль";
if(mName==3) Month="Март";
if(mName==4) Month="Апрель";
if(mName==5) Month="Май";
if(mName==6) Month="Июнь";
if(mName==7) Month="Июль";
if(mName==8) Month="Август";
if(mName==9) Month="Сентябрь";
if(mName==10) Month="Октябрь";
if(mName==11) Month="Ноябрь";
if(mName==12) Month="Декабрь";

// String to display current date.
var DayOfWeek =(" "
+ Day
+ " ");
// Displays the current time.
document.forms[0].elements[0].value = DayOfWeek;

// String to display month, day, & year.
var MonthDayYear =(" "
+ Month
+ " "
+ dayNr
+ ", "
+ yr
+ "  ");
// Displays the month, day, & year.
document.forms[0].elements[1].value = MonthDayYear;

// String to display current time.
var TimeValue =(" "
+ hours
+ minutes
+ seconds
+ " "
+ ampm);
// Displays the current time.
document.forms[0].elements[2].value = TimeValue;

timerID = setTimeout("time()",1000);
timerRunning = true;
}
// Deactivate Cloaking -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="startclock ()">

<CENTER>
</p>
</font>
<FORM>
<TABLE BORDER=3 WIDTH=500>
<TR>
<TD align="center"><font color="800000" size="+1"><strong>День недели</strong></font>
<font size="3" color="#000000">
<TD align="center"><INPUT TYPE="text" NAME="local" SIZE=13 VALUE="День нед.">
</TR>
<TR>
<TD align="center"><font color="800000" size="+1"><strong>Месяц, день
и год</strong></font>
<font size="3" color="#000000">
</font>
<TD align="center"><INPUT TYPE="text" NAME="local" SIZE=18 VALUE="Месяц, день и год">
</TR>
<TR>
<TD align="center"><font color="800000" size="+1"><strong>Текущее
время</strong></font>
<font size="3" color="#000000">
<TD align="center"><INPUT TYPE="text" NAME="local" SIZE=16 VALUE="Время">
</TR>
</TABLE>
<BR>
<TABLE BORDER=0 WIDTH=400>
<TR>
<TD align="center"><INPUT TYPE="button" value="Пауза" onClick="stopclock()">
<TD align="center"><INPUT TYPE="button" value="Продолжить" onClick="startclock()">
<TD align="center"><INPUT TYPE="reset" value="Обновить">
</TR>
</TABLE>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks15

Ваш возраст и сколько уже живете

Вы живете уже...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Glub, Un-Inc. -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Begin
var mm = prompt('В каком по счету месяце Вы родилися?','1-12');
var bday = prompt('Какого числа Вы родились?','1-31');
var byear = prompt('В каком году Вы родились?','1962');
var year = new Date();
var year2 = year.getYear();
var year3 = (year < 2000) ? year2 + 1900 : year2;
thedate = new Date();
mm2 = thedate.getMonth() + 1;
dd2 = thedate.getDate();
yy2 = thedate.getYear();
if (yy2 < 100) yy2 += 1900
yourage = yy2 - byear;
if (mm2 < mm) yourage--;
if ((mm2 == mm) && (dd2 < bday)) yourage--;
TMonth = new Array(
'January','February','March',
'April','May','June','July',
'August','September','October',
'November','December'
);
Rusmonth = new Array(
'января','февраля','марта',
'апреля','мая','июня','июля',
'августа','сентября','октября',
'ноября','декабря'
);
CurMonth = mm - 1;
rmonth = Rusmonth[CurMonth];
bmonth = TMonth[CurMonth];
var age2 = yourage + 1;
var timerID;
var timerRunning = false;
var today = new Date();
var startday = new Date();
var enday = new Date();
var secPerDay = 0;
var minPerDay = 0;
var hourPerDay = 0;
var secsLeft = 0;
var secsRound = 0;
var secsRemain = 0;
var minLeft = 0;
var minRound = 0;
var minRemain = 0;
var timeRemain = 0;
function stopclock() {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock() {
stopclock();
showtime();
showtime1();
}
function showtime() {
today = new Date();
enday = new Date(""+bmonth+", "+bday+" "+year3+" 00:00");
enday.setYear(""+year3+"");
secsPerDay = 1000 ;
minPerDay = 60 * 1000 ;
hoursPerDay = 60 * 60 * 1000;
PerDay = 24 * 60 * 60 * 1000;
secsLeft = (enday.getTime() - today.getTime()) / minPerDay;
secsRound = Math.round(secsLeft);
secsRemain = secsLeft - secsRound;
secsRemain = (secsRemain < 0) ? secsRemain = 60 - ((secsRound - secsLeft) * 60) : secsRemain = (secsLeft - secsRound) * 60;
secsRemain = Math.round(secsRemain);
minLeft = ((enday.getTime() - today.getTime()) / hoursPerDay);
minRound = Math.round(minLeft);
minRemain = minLeft - minRound;
minRemain = (minRemain < 0) ? minRemain = 60 - ((minRound - minLeft) * 60) : minRemain = ((minLeft - minRound) * 60);
minRemain = Math.round(minRemain - 0.495);
hoursLeft = ((enday.getTime() - today.getTime()) / PerDay);
hoursRound = Math.round(hoursLeft);
hoursRemain = hoursLeft - hoursRound;
hoursRemain = (hoursRemain < 0) ? hoursRemain = 24 - ((hoursRound - hoursLeft) * 24) : hoursRemain = ((hoursLeft - hoursRound) * 24);
hoursRemain = Math.round(hoursRemain - 0.5);
daysLeft = ((enday.getTime() - today.getTime()) / PerDay);
daysLeft = (daysLeft - 0.5);
daysRound = Math.round(daysLeft);
daysRemain = daysRound;
if (daysRemain == 1) day_rem = " день, "
else day_rem = " дней, "
if (hoursRemain == 1) hour_rem = " час, "
else hour_rem = " часов, "
if (minRemain == 1) min_rem = " минуту, "
else min_rem = " минут, "
if (secsRemain == 1) sec_rem = " секунду"
else sec_rem = " секунд"
timeRemain = daysRemain + day_rem + hoursRemain + hour_rem + minRemain + min_rem + secsRemain + sec_rem;
document.down.face.value = timeRemain;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
if (daysRemain < 0) year3 = year3 + 1
}
function showtime1() {
startday = new Date(""+bmonth+" "+bday+", "+byear+" 00:00 EDT");
startday.setYear(""+byear+"");
today = new Date();
secsPerDay = 1000 ;
minPerDay = 60 * 1000 ;
hoursPerDay = 60 * 60 * 1000;
PerDay = 24 * 60 * 60 * 1000;
secsLeft = (today.getTime() - startday.getTime()) / minPerDay;
secsRound = Math.round(secsLeft);
secsRemain = secsLeft - secsRound;
secsRemain = (secsRemain < 0) ? secsRemain = 60 - ((secsRound - secsLeft) * 60) : secsRemain = (secsLeft - secsRound) * 60;
secsRemain = Math.round(secsRemain);
minLeft = ((today.getTime() - startday.getTime()) / hoursPerDay);
minRound = Math.round(minLeft);
minRemain = minLeft - minRound;
minRemain = (minRemain < 0) ? minRemain = 60 - ((minRound - minLeft) * 60) : minRemain = ((minLeft - minRound) * 60);
minRemain = Math.round(minRemain - 0.495);
hoursLeft = ((today.getTime() - startday.getTime()) / PerDay);
hoursRound = Math.round(hoursLeft);
hoursRemain = hoursLeft - hoursRound;
hoursRemain = (hoursRemain < 0) ? hoursRemain = 24 - ((hoursRound - hoursLeft) * 24) : hoursRemain = ((hoursLeft - hoursRound) * 24);
hoursRemain = Math.round(hoursRemain - 0.5);
daysLeft = ((today.getTime() - startday.getTime()) / PerDay);
daysLeft = (daysLeft - 0.5);
daysRound = Math.round(daysLeft);
daysRemain = daysRound;
if (daysRemain == 1) day_rem = " день, "
else day_rem = " дней, "
if (hoursRemain == 1) hour_rem = " час, "
else hour_rem = " часов, "
if (minRemain == 1) min_rem = " минуту, "
else min_rem = " минут, "
if (secsRemain == 1) sec_rem = " секунду"
else sec_rem = " секунд"
timeRemain = daysRemain + day_rem + hoursRemain + hour_rem + minRemain + min_rem + secsRemain + sec_rem;
document.up.face.value = timeRemain;
timerID = setTimeout("showtime1()",1000);
timerRunning = true;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="startclock()">

<center>
<form name="down" onSubmit="0">
<script Language="JavaScript">
document.write("<b>Вы родились "+bday+" "+bmonth+", "+byear+" года. ("+mm+"/"+bday+"/"+byear+")</b>");
document.write("<br><br>Вам "+yourage+" лет, и исполнится "+age2+" через:");
</script>
<br>
<input type="text" name="face" size="47" value="A browser supporting JavaScript 1.1+ is needed.">
</form>
<p>
<br>
<form name="up" onSubmit="1">
Вы живете уже...<br>
<input type="text" name="face" size="47" value="A browser supporting JavaScript 1.1+ is needed.">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks31

Время при наведении мыши на города на карте

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language=javaScript>
<!--

var x,y,a,b,timer,thisbox,isbox,urlimg
var posleftvorher

var box
var hours
var shifthours
var minutes
var seconds
var localhours
var thisplace
var i_strngth=1

var timer

function fadeinlogo() {
if(document.all) {
if (i_strngth <=100) {
i_strngth=i_strngth+2
var timer=setTimeout("fadeinlogo()",50)
}
else {
clearTimeout(timer)
}
}
}

function showtime(place,shifttime) {
thisplace=place
if (thisplace=='San Francisco') {thisplace="San Francisco<br>Los Angeles<br>San Diego"}
if (thisplace=='New York') {thisplace="New York<br>Santiago<br>Havana"}
if (thisplace=='Rio de Janheiro') {thisplace="Rio de Janheiro<br>Buenos Aires"}
if (thisplace=='Greenland') {thisplace="Greenland"}
if (thisplace=='London') {thisplace="London<br>Lisbon"}
if (thisplace=='Paris') {thisplace="Paris<br>Rom<br>Berlin"}
if (thisplace=='Москва') {thisplace="Москва"}
if (thisplace=='Kairo') {thisplace="Kairo"}
if (thisplace=='Delhi') {thisplace="Delhi"}
if (thisplace=='Beijing') {thisplace="Beijing<br>Shanghai<br>Perth"}
if (thisplace=='Tokyo') {thisplace="Tokyo"}
if (thisplace=='Sydney') {thisplace="Sydney<br>Melbourne"}
thistime= new Date()
hours=thistime.getUTCHours()
hours=eval(hours)
shifthours=eval(shifttime)
localhours=eval(shifthours+hours)
if (localhours <0) {localhours=24+localhours}
if (localhours >=24) {localhours=localhours-24}

minutes=thistime.getUTCMinutes()
seconds=thistime.getUTCSeconds()

if (thisplace=='Delhi') {
minutes=eval(minutes+30)
if (minutes>=60) {
minutes=eval(minutes-60)
localhours=eval(localhours+1)
}

}

if (eval(minutes) < 10) {minutes="0"+minutes}
if (eval(seconds) < 10) {seconds="0"+seconds}
thistime = localhours+":"+minutes+":"+seconds
openbox()
}

if (document.layers) {
var left_pos=".left=";
var top_pos=".top=";
var doc="document.";
var stl="";
}

if (document.all) {
var left_pos=".pixelLeft=";
var top_pos=".pixelTop=";
var doc="";
var stl=".style";
}

function openbox() {
isbox = thisbox
if(document.layers) {
box = document.popupbox
box.visibility="visible"
document.popupbox.document.write("<table width=120><tr><td valign=middle align=center bgcolor=0000AA><font face=Verdana size=2 color=FFFFFF><b>"+thistime+"<br>"+thisplace+"</b>
      </font></td></tr></table>")
document.popupbox.document.close()
document.popupbox.left=x-55
document.popupbox.top=120
timer =setTimeout("showtime(thisplace,shifthours)",1000)
}

if(document.all) {
box = document.all.popupbox.style
box.visibility="visible"
popupbox.innerHTML="<table width=120><tr><td valign=middle align=center bgcolor=000077><font face=Verdana size=2 color=FFFFFF><b>"+thistime+"<br>"+thisplace+"</b>
      </font></td></tr></table>"
eval(doc+"popupbox"+stl+left_pos+(x-55))
eval(doc+"popupbox"+stl+top_pos+(90))
timer =setTimeout("showtime(thisplace,shifthours)",100)
}
}

function closebox(){
if(document.all || document.layers) {
clearTimeout(timer)
}
}

function handlerMM(e){
x = (document.layers) ? e.pageX : event.clientX
y = (document.layers) ? e.pageY : event.clientY
}
if (document.layers){
document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = handlerMM;

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="clock" style="position:absolute; left:10px; top:130px">
<MAP Name="sights.map">
<AREA href="#" shape="rect" Coords="543,43 600,103" onMouseOver="showtime('Sydney','10')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="487,43 539,93" onMouseOver="showtime('Tokyo','9')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="432,36 485,99" onMouseOver="showtime('Beijing','8')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="365,39 426,99" onMouseOver="showtime('Delhi','5')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="309,31 365,100" onMouseOver="showtime('Москва','4')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="245,40 307,102" onMouseOver="showtime('Kairo','3')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="215,25 240,95" onMouseOver="showtime('Paris','2')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="188,25 208,94" onMouseOver="showtime('London','1')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="147,48 186,100" onMouseOver="showtime('Greenland','-2')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="115,27 143,88" onMouseOver="showtime('New York','-4')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="62,38 112,97" onMouseOver="showtime('San Francisco','-7')" onMouseOut="closebox()">
<AREA href="#" shape="rect" Coords="2,38 59,98" onMouseOver="showtime('Rio de Janheiro','-3')" onMouseOut="closebox()">
</MAP><IMG border=0 src="sights279.gif" usemap="#sights.map">
</div>

<div id="popupbox" style="position:absolute;top:360px"></div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clock29

Время существования страницы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function HowLongSince(startmonth, startdate, startyear) {
sdate=startdate;
smonth=startmonth-1;
syear=startyear;
var DaysInMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
today = new Date()
var thisyear = today.getFullYear();
var thismonth = today.getMonth();
var thisdate = today.getDate();
mstart = new Date(syear,(smonth==12?1:smonth+1),1);
days1 = (mstart - new Date(syear,smonth,sdate))/(24*60*60*1000)-1;
mend = new Date(thisyear,thismonth,1);
days2 = (new Date(thisyear,thismonth,thisdate) - mend)/(24*60*60*1000)+1;
dayst = days1 + days2;
if (dayst >= DaysInMonth[smonth]) {
AddOneMonth = 1;
dayst -= DaysInMonth[smonth];
}
else AddOneMonth = 0;
ydiff1 = thisyear-mstart.getFullYear();
mdiff1 = thismonth-mstart.getMonth()+AddOneMonth;
if (mdiff1 >11) { mdiff1=0; ydiff1++; }
if (mdiff1 < 0) { mdiff1 = mdiff1 + 12; ydiff1--; }
temp = (ydiff1==0?"":(ydiff1==1?ydiff1+" год и ":ydiff1 + " года(лет), "));
temp += (mdiff1==0?"0 месяцев, и ":(mdiff1==1?mdiff1+" месяца(ев), и ":mdiff1+" месяца(ев), и "));
temp += (dayst==0?"no days":(dayst==1 ? " 1 день." : dayst + " дней(дня) " ));
return temp;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
document.write("Эта страница создана&nbsp; ");
document.write("<font color=red>");
document.write(HowLongSince(04,14,2001)); // Дата создания страницы вписывается вручную
document.write("</font>");
document.write(" назад.");
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks25

Время прописью
(в английском формате)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Ronnie T. Moore -->
<!-- Web Site: The JavaScript Source -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function doFormalTime() {
var myTime = new Date();
var myHour = myTime.getHours();
var myMinutes = myTime.getMinutes();
var ampm = " in the morning.";

if (myHour >= 12) {
myHour -= 12; // change to PM
ampm = "pm";
}
Hour = new Array(
"One", "Two", "Three", "Four",
"Five", "Six", "Seven", "Eight",
"Nine", "Ten", "Eleven", "Twelve");

// gets nearest 5 minutes
myMin = myMinutes - (myMinutes % 5);
// closer to next 5 minutes, go to next
if (myMinutes % 5 > 2) myMin += 5;

var text = "It is now about ";

switch(myMin) {
case 0 : myHour--; break;
case 5 : text += "five after "; myHour--; break;
case 10 : text += "ten after "; myHour--; break;
case 15 : text += "quarter after "; myHour--; break;
case 20 : text += "twenty after "; myHour--; break;
case 25 : text += "twenty-five after "; myHour--; break;
case 30 : text += "half past "; myHour--; break;
case 35 : text += "twenty-five till "; break;
case 40 : text += "twenty till "; break;
case 45 : text += "quarter till "; break;
case 50 : text += "ten till "; break;
case 55 : text += "five till "; break;
case 60 : break;
}
if (myHour < 1) myHour++; // fix for noon/midnight
if (ampm == "pm") {
ampm = (myHour >= 4) ? " in the evening." : " in the afternoon.";
}
text += Hour[myHour] + ampm;
return text;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<script>
document.write(doFormalTime());
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks24

"Глупые" часы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Kurt Grigg (kurt.grigg@virgin.net) -->
<!-- Web Site:  http://website.lineone.net/~kurt.grigg/javascript -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
colors = new Array('330099','00ff00','ff00ff');  //Clock face colors.
sCol = 'ff00ff';  //seconds colour.
mCol = '00ff00';  //minutes colour.
hCol = '330099';  //hours colour.
//Alter nothing below!
H = 'Hours..';
H = H.split('');
H = H.reverse();
M = 'Minutes..';
M = M.split('');
M = M.reverse();
S = 'Seconds..';
S = S.split('');
S = S.reverse();
dots = 12;
var Ypos = 0,Xpos = 0,Ybase = 0,Xbase = 0;
var ay = 0, ax = 0, Ay = 0, Ax = 0, by = 0, bx = 0, By = 0, Bx = 0, cy = 0, cx = 0, Cy = 0, Cx = 0, dy = 0, dx = 0, Dy = 0, Dx = 0;
count = 0;
count_a = 0;
move = 1;
ns = (document.layers)?1:0;
viz = (document.layers)?'hide':'hidden';
if (ns) {
for (i = 0; i < dots; i++)
document.write('<layer name=nface'+i+' top=0 left=0 bgcolor=#ffffff clip="0,0,3,3"></layer>');
for (i = 0; i < S.length; i++)
document.write('<layer name=nx'+i+' top=0 left=0 width=36 height=36><font face=Verdana size=2 color='+sCol+'><center>'+S[i]+'</center></font></layer>');
for (i = 0; i < M.length; i++)
document.write('<layer name=ny'+i+' top=0 left=0 width=36 height=36><font face=Verdana size=2 color='+mCol+'><center>'+M[i]+'</center></font></layer>');
for (i = 0; i < H.length; i++)
document.write('<layer name=nz'+i+' top=0 left=0 width=36 height=36><font face=Verdana size=2 color='+hCol+'><center>'+H[i]+'</center></font></layer>');
}
else{
document.write('<div id="W" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < dots; i++) {
document.write('<div id="face" style="position:absolute;top:0px;left:0px;width:3px;height:3px;font-size:3px;background:#ffffff"></div>');
}
document.write('</div></div>');
document.write('<div id="X" style="position:absolute;
      top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < S.length; i++) {
document.write('<div id="x" style="position:absolute;
      width:36px;height:36px;font-family:Verdana; font-size:12px;color:'+sCol+';
      text-align:center;padding-top:10px">'+S[i]+'</div>');
}
document.write('</div></div>')
document.write('<div id="Y" style="position:absolute;
      top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < M.length; i++) {
document.write('<div id="y" style="position:absolute;
      width:36px;height:36px; font-family:Verdana;
      font-size:12px;color:'+mCol+';text-align:center;padding-top:10px">'+M[i]+'</div>');
}
document.write('</div></div>')
document.write('<div id="Z" style="position:absolute;
      top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < H.length; i++) {
document.write('<div id="z" style="position:absolute;
      width:36px;height:36px; font-family:Verdana;
      font-size:12px;color:'+hCol+';
      text-align:center;padding-top:10px">'+H[i]+'</div>');
}
document.write('</div></div>');
}
if (ns) {
window.captureEvents(Event.MOUSEMOVE);
function nsMouse(evnt) {
Ypos = evnt.pageY + 100;
Xpos = evnt.pageX + 100;
}
window.onMouseMove = nsMouse;
}
else{
function ieMouse() {
Ypos = event.y + 100;
Xpos = event.x + 100;
}
document.onmousemove = ieMouse;
}
function clock() {
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs / 30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins / 30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr / 6 + Math.PI * parseInt(time.getMinutes()) / 360;
Ybase = 15;
Xbase = 15;
if (ns) {
document.layers["nx"+0].visibility = viz;
document.layers["ny"+0].visibility = viz;
document.layers["nz"+0].visibility = viz;
for (i = 0; i < S.length; i++) {
document.layers["nx"+i].top = ay - 12 + (i * Ybase) * Math.sin(sec);
document.layers["nx"+i].left = ax - 12 + (i * Xbase) * Math.cos(sec);
}
for (i = 0; i < M.length; i++) {
document.layers["ny"+i].top = by - 12 + (i * Ybase) * Math.sin(min);
document.layers["ny"+i].left = bx - 12 + (i * Xbase) * Math.cos(min);
}
for (i = 0; i < H.length; i++) {
document.layers["nz"+i].top = cy - 12 + (i * Ybase) * Math.sin(hrs);
document.layers["nz"+i].left = cx - 12 + (i * Xbase) * Math.cos(hrs);
}
for (i = 0; i < dots; ++i) {
document.layers["nface"+i].top = dy - 2 + (70 * Math.sin(-0.49+dots+i/1.9));
document.layers["nface"+i].left = dx + 4 + (70 * Math.cos(-0.49+dots+i/1.9));
}
}
else {
var scrll = document.body.scrollTop;
W.style.pixelTop = scrll;
X.style.pixelTop = scrll;
Y.style.pixelTop = scrll;
Z.style.pixelTop = scrll;
x[0].style.visibility=viz;
y[0].style.visibility = viz;
z[0].style.visibility = viz;
for (i = 0; i < S.length; i++) {
x[i].style.pixelTop = ay - 12 + (i * Ybase) * Math.sin(sec);
x[i].style.pixelLeft = ax - 12 + (i * Xbase) * Math.cos(sec);
}
for (i = 0; i < M.length; i++) {
y[i].style.pixelTop = by - 12 + (i * Ybase) * Math.sin(min);
y[i].style.pixelLeft = bx - 12 + (i * Xbase) * Math.cos(min);
}
for (i = 0; i < H.length; i++) {
z[i].style.pixelTop = cy - 12 + (i * Ybase) * Math.sin(hrs);
z[i].style.pixelLeft = cx - 12 + (i * Xbase) * Math.cos(hrs);
}
for (i = 0; i < dots; ++i) {
face[i].style.pixelTop = dy + 6 + (70 * Math.sin(-0.49 + dots + i / 1.9));
face[i].style.pixelLeft = dx + 4 + (70 * Math.cos(-0.49 + dots + i / 1.9));
}
}
}
function MouseFollow() {
ay = Math.round(Ay += ((Ypos) - Ay) * 4 / 15);
ax = Math.round(Ax += ((Xpos) - Ax) * 4 / 15);
by = Math.round(By += (ay - By) * 4 / 15);
bx = Math.round(Bx += (ax - Bx) * 4 / 15);
cy = Math.round(Cy += (by - Cy) * 4 / 15);
cx = Math.round(Cx += (bx - Cx) * 4 / 15);
dy = Math.round(Dy += (cy - Dy) * 4 / 15);
dx = Math.round(Dx += (cx - Dx) * 4 / 15);
clock();
setTimeout('MouseFollow()',10);
}
function colorstep() {
count +=move;
if (count >= dots) {count=0;count_a += move}
if (count_a == colors.length) count_a = 0;
if (ns) document.layers["nface"+count].bgColor = colors[count_a];
else face[count].style.background = colors[count_a];
setTimeout('colorstep()',100)
}
function StartAll() {
MouseFollow();
colorstep();
}
if (document.layers || document.all) window.onload = StartAll;
//  End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks17

Двоичные часы

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript">
<!-- Original: Mark Lockwood (sy161e.net@namezero.com) -->
<!-- Web Site: http://www.sy161e.net -->

function syeClock() {
if (!document.layers && !document.all)
return;
timePortion = new Array;
maxLength = new Array;
var runTime = new Date();
timePortion[0] = runTime.getHours();
timePortion[1] = runTime.getMinutes();
timePortion[2] = runTime.getSeconds();
maxLength[0] = 5;
maxLength[1] = 6;
maxLength[2] = 6;
var decValue = 0;
var decMod = 0;
var temp = "";
var hoursBackground = "#7B7BB5";
var minutesBackground = "#4D5487";
var secondsBackground = "#424A63";
var colonBackground = "#000000";
var textColor = "#FFFFFF";
for (var curPor = 0; curPor <= 2; curPor++) {
decValue = timePortion[curPor];
timePortion[curPor] = "";
while (decValue != 0) {
decMod = decValue % 2;
decValue = Math.floor(decValue / 2);
timePortion[curPor] = decMod + timePortion[curPor];
}
if (timePortion[curPor].length < maxLength[curPor]) {
for (var i = 1; i <= maxLength[curPor] - timePortion[curPor].length; i++) {
temp += "0";
}
}
timePortion[curPor] = temp + timePortion[curPor];
temp = "";
}
movingtime = '<table border="0" cellpadding="0" cellspacing="0"><tr><td bgcolor='+ hoursBackground +'><font color='+ textColor +'>' + timePortion[0] + '</font></td><td bgcolor='+ colonBackground +'>:</td><td bgcolor='+ minutesBackground +'><font color='+ textColor +'>' + timePortion[1] + '</font></td><td bgcolor='+ colonBackground +'>:</td><td bgcolor='+ secondsBackground +'><font color='+ textColor +'>' + timePortion[2] + '</font></td></tr></table>';
if (document.layers) {
document.layers.clock.document.write(movingtime);
document.layers.clock.document.close();
}
else if (document.all) {
clock.innerHTML = movingtime;
}
setTimeout("syeClock()", 1000)
}
window.onload = syeClock;
</script>
<span id="clock" style="position:relative;"></span>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks 4

Часы для определенного
часового пояса (без формы)

Восточное время США

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function jsClockTimeZone(){

var TimezoneOffset = -5  // Настройте для Вашего
      Часового пояса
var localTime = new Date()
var ms = localTime.getTime()
+ (localTime.getTimezoneOffset() * 60000)
+ TimezoneOffset * 3600000
var time =  new Date(ms)
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var temp = "" + ((hour > 12) ? hour - 12 : hour)
if(hour==0) temp = "12"
if(temp.length==1) temp = " " + temp
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
temp += (hour >= 12) ? " PM" : " AM"
document.clockFormTimeZone.digits.value = temp
setTimeout("jsClockTimeZone()",1000)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="jsClockTimeZone()">

<FORM NAME="clockFormTimeZone"> <FONT face="Courier New,Courier" size=4>Восточное
       время США<B><INPUT TYPE="text" NAME="digits" SIZE="11" VALUE="Loading"

       style="background-color: #C0C0C0; border-style: solid; border-width: 0"></B>
</FONT></FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Часы для определеного часового пояса в настоящий момент установлены для восточного Часового пояса Соединенных Штатов. Это может быть скорректировано простым изменением величины TimeZoneOffset. Текущая величина этого значения -5 относительно Гринвичского мередиана. Поменяйте это значение на соответствующее Вашему часовому поясу. (Не включайте в значение знак +, если Ваше время опережает GMT. Например, если Ваше время опережает GMT на 3 часа, то значение будет равно 3, а не +3).

Выделеннай белым цветом строка обеспечивает отсутствие каких-либо форм для часов. Следует лишь определите цвет background (подчеркнуто) для формы с учетом цвета фона Вашей страницы.


Clocks18

Кнопка - часы
(с комментарием при нажатии)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- Original: Michael Tartaglia <stonedstan@hotmail.com> -->
<!-- Web Site: http://www.geocities.com/SiliconValley/Horizon/5235 -->

<!-- Begin
day = new Date();
miVisit = day.getTime();
function clock() {
dayTwo = new Date();
hrNow = dayTwo.getHours();
mnNow = dayTwo.getMinutes();
scNow = dayTwo.getSeconds();
miNow = dayTwo.getTime();
if (hrNow == 0) {
hour = 12;
ap = " AM";
} else if(hrNow <= 11) {
ap = " AM";
hour = hrNow;
} else if(hrNow == 12) {
ap = " PM";
hour = 12;
} else if (hrNow >= 13) {
hour = (hrNow - 12);
ap = " PM";
}
if (hrNow >= 13) {
hour = hrNow - 12;
}
if (mnNow <= 9) {
min = "0" + mnNow;
}
else (min = mnNow)
if (scNow <= 9) {
secs = "0" + scNow;
} else {
secs = scNow;
}
time = hour + ":" + min + ":" + secs + ap;
document.form.button.value = time;
self.status = time;
setTimeout('clock()', 1000);
}
function timeInfo() {
milliSince = miNow;
milliNow = miNow - miVisit;
secsVisit = Math.round(milliNow / 1000);
minsVisit = Math.round((milliNow / 1000) / 60);
alert("" + milliSince + " миллисекунд прошло с полуночи, 1 января, 1970. "
+ "Из них " + milliNow + " миллисекунд Вы провели на этой странице. "
+ ".... Это около " + minsVisit + " минут, и "
+ secsVisit + " секунд.");
}
document.write("<form name=\"form\">"
+ "<input type=button value=\"\""
+ " name=button onClick=\"timeInfo()\"></form>");
onError = null;
clock();
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks32

НАРУЧНЫЕ ЧАСЫ

Показывают
также
день
недели
и
число

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language=JavaScript>

var clipTop=0
var clipBottom=clipTop+60
var clipLeft
var clipRight
var isNS

if (document.layers) { (isNS=true) }
var HIDDEN = (isNS) ? 'hide' : 'hidden';
var VISIBLE = (isNS) ? 'show' : 'visible';

var imgSeconds
var imgMinutes
var imgHours
var imgClock
var textDate
var textDay
var textLink

var clipHours=""
var clipMinutes=""
var clipSeconds=""

var startLeft=-5
var startTop=85

var tunePosHour =-2

function initObjects() {

if (document.all) {
imgSeconds = document.all.imgSeconds.style
imgMinutes = document.all.imgMinutes.style
imgHours = document.all.imgHours.style
imgClock = document.all.imgClock.style
textDate = document.all.textDate.style
textDay = document.all.textDay.style
textLink = document.all.textLink.style

startLeft=-3
startTop=135

imgHours.posTop=startTop
imgMinutes.posTop=startTop
imgSeconds.posTop=startTop

textDate.posTop = 157
textDate.posLeft =75

textDay.posTop = 157
textDay.posLeft = 41

textLink.posTop = 40
textLink.posLeft = 170

imgSeconds.visibility=VISIBLE
imgMinutes.visibility=VISIBLE
imgHours.visibility=VISIBLE
imgClock.visibility=VISIBLE
textDate.visibility=VISIBLE
textDay.visibility=VISIBLE
textLink.visibility=VISIBLE

tickIE()
}

if (document.layers) {
imgSeconds = document.imgSeconds
imgMinutes = document.imgMinutes
imgHours = document.imgHours
imgClock = document.imgClock
textDate = document.textDate
textDay = document.textDay
textLink = document.textLink

startLeft=-1
startTop=80

imgHours.top=startTop
imgMinutes.top=startTop
imgSeconds.top=startTop

textDate.top = 104
textDate.left = 75

textDay.top = 104
textDay.left = 40

textLink.top = 220
textLink.left = -10

imgSeconds.visibility=VISIBLE
imgMinutes.visibility=VISIBLE
imgHours.visibility=VISIBLE
imgClock.visibility=VISIBLE
textDate.visibility=VISIBLE
textDay.visibility=VISIBLE
textLink.visibility=VISIBLE

tickNS()
}

}

function tickIE() {
var now = new Date()
var nowHours = now.getHours()
var nowMinutes = now.getMinutes()
var nowSeconds = now.getSeconds()

if (nowHours >= 12) {nowHours=nowHours-12}
imgHours.posLeft=-(nowHours*60*5+((Math.round(nowMinutes/12))*60)+startLeft+tunePosHour)
clipLeft = -(imgHours.posLeft)+30
clipRight= clipLeft+56
clipHours ="rect("+clipTop+" "+clipRight+" "+clipBottom+" "+clipLeft+")"
imgHours.clip=clipHours

imgMinutes.posLeft=-((nowMinutes)*60+startLeft)
clipLeft = -(imgMinutes.posLeft)+30
clipRight= clipLeft+56
clipMinutes ="rect("+clipTop+" "+clipRight+" "+clipBottom+" "+clipLeft+")"
imgMinutes.clip=clipMinutes

imgSeconds.posLeft=-((nowSeconds)*60+startLeft)
clipLeft = -(imgSeconds.posLeft)+35
clipRight= clipLeft+56
clipSeconds ="rect("+clipTop+" "+clipRight+" "+clipBottom+" "+clipLeft+")"
imgSeconds.clip=clipSeconds

var runClock = setTimeout("tickIE()", 100);
}

function tickNS() {

var now = new Date()
var nowHours = now.getHours()
var nowMinutes = now.getMinutes()
var nowSeconds = now.getSeconds()

if (nowHours >= 12) {nowHours=nowHours-12}
imgHours.left=-(nowHours*60*5+((Math.round(nowMinutes/12))*60)+startLeft+tunePosHour+2)
clipLeft = -(imgHours.left)+30
clipRight= clipLeft+56
imgHours.clip.left = clipLeft
imgHours.clip.right = clipRight
imgHours.clip.top = clipTop
imgHours.clip.bottom = clipBottom

imgMinutes.left=-((nowMinutes)*60+startLeft)
clipLeft = -(imgMinutes.left)+30
clipRight= clipLeft+56
imgMinutes.clip.left = clipLeft
imgMinutes.clip.right = clipRight
imgMinutes.clip.top = clipTop
imgMinutes.clip.bottom = clipBottom

imgSeconds.left=-((nowSeconds)*60+startLeft)
clipLeft = -(imgSeconds.left)+35
clipRight= clipLeft+56
imgSeconds.clip.left = clipLeft
imgSeconds.clip.right = clipRight
imgSeconds.clip.top = clipTop
imgSeconds.clip.bottom = clipBottom

var runClock = setTimeout("tickNS()", 100);
}

</SCRIPT>

<STYLE>.imgall { POSITION: absolute; VISIBILITY: hidden}</STYLE>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload=initObjects()>

<DIV class=imgall id=imgClock><IMG src="clock2.jpg" width="110" height="208"></DIV>

<SCRIPT language=JavaScript>
var heute = new Date()
var wochentag = heute.getDay()
var heuteDatum = heute.getDate()

if (wochentag==0) { wochentag = "вс." }
else if (wochentag==1) { wochentag = "пн." }
else if (wochentag==2) { wochentag = "вт." }
else if (wochentag==3) { wochentag = "ср." }
else if (wochentag==4) { wochentag = "чт." }
else if (wochentag==5) { wochentag = "пт." }
else if (wochentag==6) { wochentag = "сб." }

document.write('<DIV ID = "textDate" CLASS = "imgall"><font size=1>'+heuteDatum+'</font></DIV>')
document.write('<DIV ID = "textDay" CLASS = "imgall"><font size=1>'+wochentag+'</font></DIV>')
</SCRIPT>

<DIV class=imgall id=imgHours><IMG src="hours2.gif" width="3620" height="60"></DIV>
<DIV class=imgall id=imgMinutes><IMG src="minutes2.gif" width="3620" height="60"></DIV>
<DIV class=imgall id=imgSeconds><IMG src="seconds2.gif" width="3620" height="60"></DIV>

<DIV ID = "textLink" CLASS = "imgall">
<table cellspacing="2" cellpadding="2" border="0" width=160><tr><td align=center><font face=Helvetica size=4><b><br><br>Показывают <br>также<br> день <br>недели <br> и <br>число</b><br><br></td><td></td></tr></tr></table>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере wrclock.zip


Clocks27

Начало и конец текущей недели

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jonathan Hurshman (jhurshman@rocketmail.com) -->
<!-- Web Site: http://www.pilgrim.f2s.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function formatDate(date) {
var mymonth = date.getMonth()+1;
var myweekday = date.getDate();
return (myweekday + "/" + mymonth);
}
function printWeek() {
var now = new Date();
var nowDayOfWeek = now.getDay();
var nowDay = now.getDate();
var nowMonth = now.getMonth();
var nowYear = now.getYear();
nowYear += (nowYear < 2000) ? 1900 : 0;
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
document.write("Текушая неделя: с " + formatDate(weekStartDate) + " по " + formatDate(weekEndDate));
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
printWeek();
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks 7

Настенные часы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--

var now

var rsecond
var rminute
var rhour

var degreeSecond
var degreeMinute
var degreeHour

var rtimer
var stepDegree=6
var stepDegreeHour=30

function checkTime() {
if (document.all) {
now=new Date()
rsecond=now.getSeconds()
rminute=now.getMinutes()
rhour=now.getHours()
if (rhour>=12) {rhour=rhour-12}
spinIt()
rtimer=setTimeout("checkTime()",200)
}
}

function spinIt() {
window.status=rhour
secondObj.SetIdentity()
minuteObj.SetIdentity()
hourObj.SetIdentity()

degreeSecond= 180+stepDegree*rsecond
degreeMinute= 180+stepDegree*rminute
degreeHour= 180+stepDegreeHour*rhour+ (Math.floor(stepDegree*rminute/12))

secondObj.Rotate(0,0,degreeSecond)
minuteObj.Rotate(0,0,degreeMinute)
hourObj.Rotate(0,0,degreeHour)
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="checkTime()">

 <DIV style="position:absolute;top:100px;left:140px">

<DIV style="position:absolute;top:0px;left:5px">
<img src="Clocks.gif" tppabs="http://webg.agava.ru/js/img01/bgclock.gif" width="224" height="226">
</DIV>

<DIV style="position:absolute;top:0px;left:0px">
<OBJECT ID="secondObj" STYLE="width:100px;height:102px" CLASSID=
 "CLSID:369303C2-D7AC-11D0-89D5-00A0C90833E6" width="14" height="14">
<PARAM NAME="HighQuality" VALUE="1">
<PARAM NAME="Line0001" VALUE="SetFillStyle(1)">
<PARAM NAME="Line0002" VALUE="SetLineColor(80,00,00)">
<PARAM NAME="Line0003" VALUE="SetFillColor(80,00,00)">
<PARAM NAME="Line0004" VALUE="Rect(0,0,1,55)">
</OBJECT>
</DIV>

<DIV style="position:absolute;top:0px;left:0px">
<OBJECT ID="minuteObj" STYLE="width:100px;height:102px" CLASSID=
 "CLSID:369303C2-D7AC-11D0-89D5-00A0C90833E6" width="14" height="14">
<PARAM NAME="HighQuality" VALUE="1">
<PARAM NAME="Line0001" VALUE="SetFillStyle(1)">
<PARAM NAME="Line0002" VALUE="SetLineColor(50,50,50)">
<PARAM NAME="Line0003" VALUE="SetFillColor(50,50,50)">
<PARAM NAME="Line0004" VALUE="Rect(0,0,2,52)">
</OBJECT>
</DIV>

<DIV style="position:absolute;top:0px;left:0px">
<OBJECT ID="hourObj" STYLE="width:100px;height:102px" CLASSID=
 "CLSID:369303C2-D7AC-11D0-89D5-00A0C90833E6" width="14" height="14">
<PARAM NAME="HighQuality" VALUE="1">
<PARAM NAME="Line0001" VALUE="SetFillStyle(1)">
<PARAM NAME="Line0002" VALUE="SetLineColor(50,50,50)">
<PARAM NAME="Line0003" VALUE="SetFillColor(50,50,50)">
<PARAM NAME="Line0004" VALUE="Rect(0,0,4,40)">
</OBJECT>
</DIV>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым отмечены данные, определяющие положение часов на странице.

Безусловно, Вы можете использовать для часов любой рисунок. Однако, почти наверняка, Вам придется сориентировать его относительно "стрелок". Чтобы сделать это, измените данные, выделенные желтым цветом.

Нажмите кнопку и скопируйте рисунок(рисунки) обычным способом. Название рисунка, тем ни менее, придется вписывать самостоятельно. Кроме того, формат рисунка окажется BMP, а не GIF, что не приемлемо для веб. Лучший способ - это скопировать рисунок в буфер обмена прямо из окна файла справки и затем создать из него GIF (JPG) с нужным нажванием в программе Photoshop или подобной. Не забывайте, что применяя любые другие рисунки, отличные от используемых в скрипте, следует обязательно изменить названия рисунков в скрипте, указать реальную директорию их расположения и размеры (последнее не столь важно, но желательно). Всегда помните, что файл справки - это программа, а не HTML документ!


Clocks26

Настенные часы
(без рисунков)

1
2
3
4
5
6
7
8
9
10
11
12
.
.
.
.
.
.
.
.
.
.
.
.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Randy Bennett (rbennett@thezone.net) -->
<!-- Web Site: http://home.thezone.net/~rbennett/utility/sitemap.htm -->

<!-- Begin
pX = 100;
pY = 100;
obs = new Array(13);
function ob() {
for (i = 0; i < 13; i++) {
if (document.all) obs[i] = new Array (eval('ob'+i).style,-100,-100);
else obs[i] = new Array (eval('document.ob'+i),-100,-100);
}
}
function cl(a, b, c) {
if (document.all) {
if (a != 0) b += -1;
eval('c'+a+'.style.pixelTop='+(pY+(c)));
eval('c'+a+'.style.pixelLeft='+(pX+(b)));
}
else {
if (a != 0) b += 10;
eval('document.c'+a+'.top='+(pY+(c)));
eval('document.c'+a+'.left='+(pX+(b)));
}
}
function runClock() {
for (i = 0; i < 13; i++) {
obs[i][0].left=obs[i][1]+pX;
obs[i][0].top=obs[i][2]+pY;
}
}
var lastsec;
function timer() {
time = new Date ();
sec = time.getSeconds();
if (sec != lastsec) {
lastsec = sec;
sec = Math.PI * sec / 30;
min = Math.PI * time.getMinutes() / 30;
hr = Math.PI * time.getHours() / 6 + Math.PI * parseInt(time.getMinutes()) / 360;
for (i = 1; i < 6; i++) {
obs[i][1] = Math.sin(sec) * (44 - (i-1) * 11) - 16;
if (document.layers)obs[i][1] += 10;
obs[i][2] = -Math.cos(sec) * (44 - (i-1) * 11) - 27;
}
for (i = 6;i < 10; i++) {
obs[i][1] = Math.sin(min) * (40 - (i-6) * 10) - 16;
if (document.layers)obs[i][1] += 10;
obs[i][2] = -Math.cos(min) * (40 - (i-6) * 10) - 27;
}
for (i = 10; i < 13; i++) {
obs[i][1] = Math.sin(hr) * (37 - (i-10) * 11) - 16;
if (document.layers)obs[i][1] += 10;
obs[i][2] = -Math.cos(hr) * (37 - (i-10) * 11) - 27;
}
}
}
function setNum() {
cl (0, -67, -65);
cl (1, 10, -51);
cl (2, 28, -33);
cl (3, 35, -8);
cl (4, 28, 17);
cl (5, 10, 35);
cl (6, -15, 42);
cl (7, -40, 35);
cl (8, -58, 17);
cl (9, -65, -8);
cl (10, -58, -33);
cl (11, -40, -51);
cl (12, -16, -56);
}
function startClock() {
ob();
setNum();
setInterval('timer()', 100);
setInterval('runClock()', 100);
}
// End -->
</script>
<style>
..num {color:white;width:30px;text-align:center; }
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="startClock()">

<Span  style="position: absolute; left: 88; top:
 94;"> <!--Положение
 на странице--->
<div id="c0" style="position: absolute; width: 130; height: 124">
<table border="1">
<tr>
<td bgcolor=#B5B5B5 width=120 height=120>
</td>
</tr>
</table>
</div>
<div id="c1" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>1</b></div>
<div id="c2" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>2</b></div>
<div id="c3" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>3</b></div>
<div id="c4" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>4</b></div>
<div id="c5" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>5</b></div>
<div id="c6" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>6</b></div>
<div id="c7" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>7</b></div>
<div id="c8" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>8</b></div>
<div id="c9" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>9</b></div>
<div id="c10" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>10</b></div>
<div id="c11" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>11</b></div>
<div id="c12" class="num" style="position:absolute;left:20;top:-20; z-index:5;font-size:11px;"><b>12</b></div>

<div id="ob0" class="num" style="position:absolute;left:-20;top:-20;z-index:1">
</div>
<div id="ob1" class="num" style="position:absolute;left:-20;top:-20;z-index:8">
<font size="+3" color="#0000ff"><b>.</b></font></div>
<div id="ob2" class="num" style="position:absolute;left:-20;top:-20;z-index:8">
<font size="+3" color="#0000ff"><b>.</b></font></div>
<div id="ob3" class="num" style="position:absolute;left:-20;top:-20;z-index:8">
<font size="+3" color="#0000ff"><b>.</b></font></div>
<div id="ob4" class="num" style="position:absolute;left:-20;top:-20;z-index:8">
<font size="+3" color="#0000ff"><b>.</b></font></div>
<div id="ob5" class="num" style="position:absolute;left:-20;top:-20;z-index:8">
<font size="+3" color="#0000ff"><b>.</b></font></div>
<div id="ob6" class="num" style="position:absolute;left:-20;top:-20;z-index:7">
<font size="+3" color="#00ffff"><b>.</b></font></div>
<div id="ob7" class="num" style="position:absolute;left:-20;top:-20;z-index:7">
<font size="+3" color="#00ffff"><b>.</b></font></div>
<div id="ob8" class="num" style="position:absolute;left:-20;top:-20;z-index:7">
<font size="+3" color="#00ffff"><b>.</b></font></div>
<div id="ob9" class="num" style="position:absolute;left:-20;top:-20;z-index:7">
<font size="+3" color="#00ffff"><b>.</b></font></div>
<div id="ob10" class="num" style="position:absolute;left:-20;top:-20;z-index:6">
<font size="+3" color="#ffff00"><b>.</b></font></div>
<div id="ob11" class="num" style="position:absolute;left:-20;top:-20;z-index:6">
<font size="+3" color="#ffff00"><b>.</b></font></div>
<div id="ob12" class="num" style="position:absolute;left:-20;top:-20;z-index:6">
<font size="+3" color="#ffff00"><b>.</b></font></div></Span>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks33

Обычные часы, не в форме.

Просто поместите код там, где Вы хотите, чтобы часы появились.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<span id=tick2>
</span>

<script>
<!--

/*By Website Abstraction
http://wsabstract.com
Credit MUST stay intact for use
*/

function show2(){
if (!document.all&&!document.getElementById)
return
thelement=document.getElementById? document.getElementById("tick2"): document.all.tick2
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn="PM"
if (hours<12)
dn="AM"
if (hours>12)
hours=hours-12
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
var ctime=hours+":"+minutes+":"+seconds+" "+dn
thelement.innerHTML="<b style='font-size:14;color:blue;'>"+ctime+"</b>"
setTimeout("show2()",1000)
}
window.onload=show2
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks19

С переключением форматов

24-часовой формат
12-часовой формат

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function showMilitaryTime() {
if (document.form.showMilitary[0].checked) {
return true;
}
return false;
}
function showTheHours(theHour) {
if (showMilitaryTime() || (theHour > 0 && theHour < 13)) {
if (theHour == "0") theHour = 12;
return (theHour);
}
if (theHour == 0) {
return (12);
}
return (theHour-12);
}
function showZeroFilled(inValue) {
if (inValue > 9) {
return "" + inValue;
}
return "0" + inValue;
}
function showAmPm() {
if (showMilitaryTime()) {
return ("");
}
if (now.getHours() < 12) {
return (" am");
}
return (" pm");
}
function showTheTime() {
now = new Date
document.form.showTime.value = showTheHours(now.getHours()) + ":" + showZeroFilled(now.getMinutes()) + ":" + showZeroFilled(now.getSeconds()) + showAmPm()
setTimeout("showTheTime()",1000)
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="showTheTime()">

<center><form name=form>
<input type=text name=showTime size=11 style="border:0"><p>
<input type=radio name=showMilitary checked>24-часовой формат<br>
<input type=radio name=showMilitary>12-часовой формат<br>
</form></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks 1

Простые JavaScript часы
(в форме)

(европейский вид)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
function jsClock(){
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var temp = "" + ((hour > 12) ? hour - 12 : hour)
if(hour==0) temp = "12"
if(temp.length==1) temp = " " + temp
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
temp += (hour >= 12) ? " PM" : " AM"
document.clockForm.digits.value = temp
id = setTimeout("jsClock()",1000)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="jsClock()">

<FORM NAME="clockForm"> <FONT face="Courier New,Courier" size=3><B><INPUT TYPE="text" NAME="digits"
       SIZE="9" VALUE="Loading"></B>
</FONT></FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks 5

JavaScript часы

(с использованием Images)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var imgArray = new Array()
var setTime24 = 1

function ImgClock(){
var i = 0
for(i=0; i<10; i++){
imgArray[i] = new Image(20,25)
}
imgArray[0].src = "0gold.gif"
imgArray[1].src = "1gold.gif"
imgArray[2].src = "2gold.gif"
imgArray[3].src = "3gold.gif"
imgArray[4].src = "4gold.gif"
imgArray[5].src = "5gold.gif"
imgArray[6].src = "6gold.gif"
imgArray[7].src = "7gold.gif"
imgArray[8].src = "8gold.gif"
imgArray[9].src = "9gold.gif"
jsImgClock24hr()
}

function jsImgClock24hr(){

var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var sec = 0
var sec10 = 0
var min = 0
var min10 = 0
var hr = 0
var hr10 = 0

sec10 = Math.floor(second/10)
sec = second - sec10 * 10
document.img24Sec.src = imgArray[sec].src
if (sec==0 || setTime24==1){
document.img24Sec10.src = imgArray[sec10].src
min10 = Math.floor(minute/10)
min = minute - min10 * 10
document.img24Min.src = imgArray[min].src
if (min==0 || setTime24==1){
document.img24Min10.src = imgArray[min10].src
hr10 = Math.floor(hour/10)
hr = hour - hr10 * 10
document.img24Hr.src = imgArray[hr].src
document.img24Hr10.src = imgArray[hr10].src
setTime24 = 0
}
}
id = setTimeout("jsImgClock24hr()",1000)
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY ONLOAD="ImgClock()">

 <TABLE bgcolor="#CCCCCC" BORDER=10 cellpadding=3 cellspacing=3><TR><TD>
<IMG SRC="0gold.gif" width=20 height=30 name="img24Hr10"><IMG
SRC="0gold.gif" width=20 height=30 name="img24Hr"><IMG
SRC="Bd10264.gif" width=57 height=7 name="imgSpacer1"><IMG
SRC="0gold.gif" width=20 height=30 name="img24Min10"><IMG
SRC="0gold.gif" width=20 height=30 name="img24Min"><IMG
SRC="Bd10264.gif" width=57 height=7 name="imgSpacer2"><IMG
SRC="0gold.gif" width=20 height=30 name="img24Sec10"><IMG
SRC="0gold.gif" width=20 height=30 name="img24Sec">
</TD></TR></TABLE>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Часы с использованием Images потребуют от Вас картинок, изображающих цифры. Ниже приведены Gif-ы использованные в часах в примере. Просто скопируйте их и сохраните на диске и затем на сервере. Но, безусловно, Вы можете использовать собственные изображения, только не забудьте изменить название Images в скрипте (белым цветом отмечены названия рисунков).


Clocks12

Еще одни часы в форме....

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <BODY onload="stardate()">

<script language="JavaScript">
var timerID = 0;
function stardate() {
now = new Date();
nowMonth = now.getMonth();
nowDate = now.getDate();
nowYear = now.getYear() + 1900;
nowHour = now.getHours();
nowMinute = now.getMinutes();
nowSecond = now.getSeconds();
now = null;
var Elapsed = nowSecond + 60 * (nowMinute) + 3600 * (nowHour) +86400 * (nowDate - 1)
if (nowMonth>10) {var Elapsed = Elapsed + (86400*334)}
else if (nowMonth>9) {var Elapsed = Elapsed + (86400*304)}
else if (nowMonth>8) {var Elapsed = Elapsed + (86400*273)}
else if (nowMonth>7) {var Elapsed = Elapsed + (86400*243)}
else if (nowMonth>6) {var Elapsed = Elapsed + (86400*212)}
else if (nowMonth>5) {var Elapsed = Elapsed + (86400*181)}
else if (nowMonth>4) {var Elapsed = Elapsed + (86400*151)}
else if (nowMonth>3) {var Elapsed = Elapsed + (86400*120)}
else if (nowMonth>2) {var Elapsed = Elapsed + (86400*90)}
else if (nowMonth>1) {var Elapsed = Elapsed + (86400*59)}
else if (nowMonth>0) {var Elapsed = Elapsed + (86400*31)}
if (nowYear>2100) {var nowYear = nowYear-1900}
var thisyear = Math.round(Elapsed / 315.36) / 100
var lpyra= Math.round(nowYear/400)
var lpyrb= nowYear/400
if (lpyra=lpyrb) {
if (nowMonth>2) {var Elapsed = Elapsed + (86400)}
}
var issue = Math.round(((nowYear-2323)/100)-.5);
var yearspast = (nowYear - (2323+(issue * 100))) * 1000
var total = thisyear+yearspast
if (nowMinute<10) {var mns="0"} else {var mns=""}
if (nowSecond<10) {var scs="0"} else {var scs=""}
var Temp2= '['+issue+'] '+total+' '+nowHour+':'+mns+nowMinute+':'+scs+nowSecond
document.stardate.stardate.value = Temp2
timerID = setTimeout("stardate()",1000);
}
</script>

<form name="stardate">
<input face="Terminal" size=35 name="stardate" scrolling="no" scrollable="no"></form>

<p align="center"><font face="arial" size="-2">This free script provided by</font><br>
<font face="arial, helvetica" size="-2"><a href="http://wsabstract.com">Website
Abstraction</a></font></p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

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


Clocks16

Строчные часы

Часы:
Минуты:
Секунды:
Время:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Abraham I. (abraham_824@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function clock() {
var t = new Date();
var h = t.getHours();
var m = t.getMinutes();
var s = t.getSeconds();
var units = new String("");
var hours = t.getHours();
var min = t.getMinutes();
var sec = t.getSeconds();
document.clock.hours.value = units.substring(0, hours);
document.clock.minutes.value = units.substring(0, min);
document.clock.seconds.value = units.substring(0, sec);
var status = "AM";
if (hours > 11)
status = "PM";
if (hours < 11)

if (min < 10)
min = "0" + min;
if (sec < 10)
sec = "0" + sec;
document.clock.h.value = hours;
document.clock.m.value = min;
document.clock.s.value = sec;
document.clock.time.value = hours + ":" + min + ":" + sec + " " + status;
window.setTimeout("clock()", 900);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="clock();">

<form name="clock">
<table>
<tr>
<td>
Часы:
</td>
<td>
<input type="text" name="h" size="10" style="border: 0">
</td>
</tr>
<tr>
<td colspan=2>
<input type=text name="hours" size="13" style="color: navy">
</td>
</tr>
<tr>
<td>
Минуты:
</td>
<td>
<input type="text" name="m" size="10" style="border: 0">
</td>
</tr>
<tr>
<td colspan=2>
<input type=text name="minutes" size="33" style="color: navy">
</td>
</tr>
<tr>
<td>
Секунды:
</td>
<td>
<input type="text" name="s" size="10" style="border: 0">
</td>
</tr>
<tr>
<td colspan=2>
<input type=text name="seconds" size="33" style="color: navy">
</td>
</tr>
<tr>
<td>
Время: <input type=text name="time" size="20" style="border: 0">
</td>
</tr>
</table>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clocks20

Секундомер + отсчет

Секундомер
Остановить через:

Отсчет

Начать отсчет с:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var up,down;var min1,sec1;var cmin1,csec1,cmin2,csec2;
function Minutes(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(0,i));
}
function Seconds(data) {
for(var i=0;i<data.length;i++)
if(data.substring(i,i+1)==":")
break;
return(data.substring(i+1,data.length));
}
function Display(min,sec) {
var disp;
if(min<=9) disp=" 0";
else disp=" ";
disp+=min+":";
if(sec<=9) disp+="0"+sec;
else disp+=sec;
return(disp);
}
function Up() {
cmin1=0;
csec1=0;
min1=0+Minutes(document.sw.beg1.value);
sec1=0+Seconds(document.sw.beg1.value);
UpRepeat();
}
function UpRepeat() {
csec1++;
if(csec1==60) {
csec1=0; cmin1++;
}
document.sw.disp1.value=Display(cmin1,csec1);
if((cmin1==min1)&&(csec1==sec1))
alert("Секундомер остановлен");
else up=setTimeout("UpRepeat()",1000);
}
function Down() {
cmin2=1*Minutes(document.sw.beg2.value);
csec2=0+Seconds(document.sw.beg2.value);
DownRepeat();
}
function DownRepeat() {
csec2--;
if(csec2==-1) {
csec2=59; cmin2--;
}
document.sw.disp2.value=Display(cmin2,csec2);
if((cmin2==0)&&(csec2==0))
alert("Отсчет закончен");
else down=setTimeout("DownRepeat()",1000);
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM name="sw">
<TABLE border="0" width="100%">
<tr align="center">
<td><table border="0" width="100%" bgcolor="#CCCCCC"><tr>
<th colspan="2">Секундомер</th></tr>
<tr align="center">
<td>Остановить через:<br>
<input type="text" name="beg1" size="7" value="0:10"></td>
<td><input type="button" value="Старт" onclick="Up()"></td>
</tr>
<tr align="center"><td colspan="2">
<input type="text" name="disp1" size="7"></td></tr></table></td>
<td>
<input type="button" value="Старт для всех" onclick="Up();Down()">
</td>
</CENTER>
<td>
<table border="0" width="100%" bgcolor="#CCCCCC">
<tr align="center">
<td>
<p align="right"><b>Отсчет</b></td>
<CENTER>
<td>&nbsp;</td>
</tr>
<tr align="center">
<td>Начать отсчет с:<br><input type="text" name="beg2" size="7" value="0:10"></td>
<td><input type="button" value="Старт" onclick="Down()"></td>
</tr>
<tr align="center"><td colspan="2">
<input type="text" name="disp2" size="7"></td></tr></table></center></td></tr>
</TABLE>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


Clock28

Секундомер 2

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var ms = 0;
var state = 0;
function startstop() {
if (state == 0) {
state = 1;
then = new Date();
then.setTime(then.getTime() - ms);
} else {
state = 0;
now = new Date();
ms = now.getTime() - then.getTime();
document.stpw.time.value = ms;
}
}
function swreset() {
state = 0;
ms = 0;
document.stpw.time.value = ms;
}
function display() {
setTimeout("display();", 50);
if (state == 1) {now = new Date();
ms = now.getTime() - then.getTime();
document.stpw.time.value = ms;
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onLoad="display()">

<FORM NAME="stpw">
<table align=center>
<tr>
<td>
<p align="center"><INPUT TYPE="text" Name="time" size="8" value=0 readonly style="background-color: #C0C0C0; font-family: Arial; font-size: 60pt; border-style: solid; border-width: 0">
&nbsp;
<p align="left">
<INPUT TYPE="BUTTON" Name="ssbutton" VALUE="Старт/Стоп" onClick="startstop()">
<INPUT TYPE="BUTTON" NAME="reset" VALUE="Сброс" onClick="swreset()">
</p>
</td>
</tr>
</table>
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Clocks9

Угловые JavaScript часы

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <body onload="show5()">

<span id="liveclock" style="position:absolute;left:0;top:0;">
</span>

<script language="JavaScript">
<!--

/*
Upper Left Corner Live Clock Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

function show5(){
if (!document.layers&&!document.all)
return
var Digital=new Date()
var hours=Digital.getHours()
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
var dn="AM"
if (hours>12){
dn="PM"
hours=hours-12
}
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
//Измените шрифт здесь по своему желанию
myclock="<font size='5' face='Arial' ><b><font size='1'>Текущее время:</font></br>"+hours+":"+minutes+":"
+seconds+" "+dn+"</b></font>"
if (document.layers){
document.layers.liveclock.document.write(myclock)
document.layers.liveclock.document.close()
}
else if (document.all)
liveclock.innerHTML=myclock
setTimeout("show5()",1000)
}

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Хоть часы и "Угловые", но измените выделенные белым цветом цифры, и часики "уедут" куда пожелаете...


Clocks30

Часы - водяной знак
В таблицах Вы видите несколько цифровых значений - поэксперементируйте с ними - это размеры шрифта, положение на странице и т.д.

ЭТО ПРИМЕР
ИСПОЛЬЗОВАНИЯ!
СКРИПТА!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language=javaScript>
<!--

function clockon() {
thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
thistime = hours+":"+minutes+":"+seconds

if(document.all) {
bgclocknoshade.innerHTML=thistime
bgclockshade.innerHTML=thistime
}

if(document.layers) {
document.bgclockshade.document.write('<div id="bgclockshade" style="position:absolute;visibility:visible;
      font-family:Verdana;color:FFAAAAA; font-size:80px;top:10px;left:12px">'+thistime+'</div>')
document.bgclocknoshade.document.write('<div id="bgclocknoshade" style="position:absolute;visibility:visible;
      font-family:Verdana;color:DDDDDD; font-size:80px;top:10px;left:10px">'+thistime+'</div>')
document.close()
}
var timer=setTimeout("clockon()",200)
}

// - End of JavaScript - -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="clockon()">

<div id="bgclockshade" style="position:absolute; visibility:visible;font-family:Verdana; color:gray;font-size:90px;top:87px; left:22px"></div>

<div id="bgclocknoshade" style="position:absolute;visibility:visible;font-family:Verdana; color:CCCCCC;font-size:90px;top:85px;left:20px"></div>

<div id="mainbody" style="position: absolute; visibility: visible; font-family: Verdana; color: 000000; font-size: 20px; left: 78; top: 83; width: 256; height: 75">ЭТО ПРИМЕР<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ИСПОЛЬЗОВАНИЯ!<br> &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; СКРИПТА!</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC85

404 (File not found)
ошибка 404 (Файл не найден)

Форма выше содержит URL страницы с которой Вы пришли. Вы можете поместить скрипт на Вашу пользователскую страницу 404(File not found) и даже совместить его с формой для почтовой программы, чтобы получать сообщения о неработающих ссылках. Кроме того, форму можно сделать скрытой, заменив type=text на type=hidden.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=404form>
<script language="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var from = document.referrer;
document.write("<input type=text name=referrer value='" + from + "'>");
// End -->
</script>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC87

DOM браузер (Document Object Model).
Удобен для сравнения Netscape и Internet Explorer, их интерпретации элементов документа.

К сожалению, из файла справки продемонстрировать корректную работу скрипта невозможно. И хоть, исключительно из эстетических соображений и дабы не пугать Вас, функция сообщения об ошибках на странице отключена, тем не менее ошибок слишком много, чтобы демонстрировать более или менее прилично работающий DOM браузер. Вставьте код на реальную страницу и получите удовольствие!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Cyanide_7 (leo7278@hotmail.com) -->
<!-- Web Site: http://www7.ewebcity.com/cyanide7 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var objects = new Array(), browser = null, expanded = null;

// begin objects array with the document
objects[0] = new Array(document, "_document", false);

function openDOMBrowser(activeElement){
// finds index of incoming object by its key
activeIndex = arrayIndexOf(objects, activeElement, 1);
// toggles its expanded boolean
objects[activeIndex][2] = !objects[activeIndex][2];
// opens/reopens the window
args = "width=500,height=600,left=20,top=20,scrollbars,resizable,top=0,left=0";
browser = window.open('',"DOMBrowser",args);
browser.focus();
// clears the expanded array (to avoid infinate loops in the DOM)
expanded = new Array();
// document is about to be expanded
expanded["_document"] = true;
// writes HTML to the window
browser.document.open("text/html","replace");
browser.document.writeln("<HTML><HEAD><TITLE>DOM Browser</TITLE>");
browser.document.writeln("<style>a:link, a:visited, a:active { text-decoration: none; color: navy;}");
browser.document.writeln("a:hover \{ text-decoration: none; color: yellow; \}</style></HEAD>");
browser.document.writeln("<BODY BGCOLOR=C0C0C0 text=000000>");
browser.document.writeln("<h3>document:</h3><ul>");
// calls recurrsive property writing function
getProps(document);
// finishes writing HTML and closes
browser.document.writeln("</ul></BODY></HTML>");
browser.document.close();
// returns false for event handlers
return false;
}
// recurrsive function to get properties of objects
function getProps(obj){
// for loop to run through properties of incoming object
for(var prop in obj){
browser.document.writeln("<li>");
// if the property is an object itself, but not null...
if(typeof(obj[prop])=="object" && obj[prop]!=null){
// get index of object in objects array
valIndex = arrayIndexOf(objects, obj[prop], 0);
// if not in index array, add it and create its key
if(valIndex==-1){
valIndex = objects.length;
key = ((new Date()).getTime()%10000) + "_" + (Math.floor(Math.random()*10000));
objects[valIndex] = new Array(obj[prop], key, false);
}
// write link for this object to call openDOMBrowser with its key
browser.document.writeln("<b>"+prop+"</b> : <a href=\"javascript:void(0)\" onClick=\"window.opener.openDOMBrowser('"+objects[valIndex][1]+"');return false;\">"+(new String(obj[prop])).replace(/</g,"<")+"</a>");
// determine whether object should be expanded/was already expanded
if(objects[valIndex][2] && !expanded[objects[valIndex][1]]){
// if it needs to be expanded, add to expanded array
expanded[objects[valIndex][1]] = true;
// write nested list tag and recurrsive call to getProps
browser.document.writeln("<ul>");
getProps(obj[prop]);
browser.document.writeln("</ul>");
}
} else
// if not an object, just write property, value pair
browser.document.writeln("<b>"+prop+"</b> : " + (new String(obj[prop])).replace(/</g,"<"));
browser.document.writeln("</li>");
}
}
// function to find object in an array by field value
function arrayIndexOf(array, value, field){
var found = false;
var index = 0;
while(!found && index < array.length){
// field may be object reference or key
if(array[index][field]==value)
found = true;
else
index++;
}
return (found)?index:-1;
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=button value="Открыть DOM браузер" onClick="openDOMBrowser('_document');">
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 19

HTML РЕДАКТОР.

Введите код

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--

window.name = "source"
function launchEditor() {
editor = window.open("x01/x01.htm", "editor", "height=330,width=250")
}

function viewPage() {
view = window.open("", "view")
view.document.open()
view.document.write(document.forms[0].elements[0].value) // value of text area
view.document.write("<BR>") // solves a bug
view.document.close()
}

// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<TABLE align=center WIDTH="500" cellpadding=0 cellspacing=0 border=1 bordercolor="#0000FF" bordercolordark="#FFFFFF" width="100%">

<TD valign="top">
<p align="center">&nbsp;
</font>
<div>
<p align="center">
<font size="4" color="#FF0000">
<b>HTML РЕДАКТОР.</b>
</font>
</div>
<font size="4" color="#FF0000">
<BR>
<HR COLOR="BLUE" WIDTH="100%" SIZE="1">

</font>

<div>
<FORM ACTION="yourdomain/email" METHOD="post">
<CENTER>
<TABLE BORDER=0 CELLPADDING=2>
<TR><TD BGCOLOR="#ffffcc">
<p align="center"><font size="+2" color="#000000">Введите код</font></p>
</TD></TR>
<font size="4" color="#FF0000">
<TR><TD>
<TEXTAREA COLS=50 ROWS=15 NAME="body"></TEXTAREA>
</TD></TR>
<TR><TD BGCOLOR="#ffffcc">
<CENTER>
<INPUT TYPE="button" VALUE="Запустить редактор" onClick="launchEditor()" style="font-size: 8pt; font-family: Arial">
<INPUT TYPE="button" VALUE="Просмотр страницы" onClick="viewPage()" style="font-size: 8pt; font-family: Arial">
<INPUT TYPE="submit" VALUE="Отправить документ" style="font-size: 8pt; font-family: Arial">
</CENTER>
</TD></TR>
</TABLE>
</CENTER>
</FORM>
</div>

</font>

</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC103

HTML и WORD редактор 2
Это не Cold Fusion, и не FrontPage, и не Word, но довольно симпатичный маленький редактор, обслуживаeмый очень оригинальным скриптом. Имейте ввиду, что тэги <HTML></HTML>, <HEAD></HEAD> и <BODY></BODY> он пишет сам. Вам только предоставлена возможность набирать текст самого документа (скрипт в HEAD здесь вы не вставите), да плюс некоторые настройки (см. ниже).

Border PreFormatted

Название:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript">
<!--

function init() {
c = new colours(
"#c0c0c0","#f0f8ff","#f0ffff","#ade8e6","#ffffff","#fff8dc",
"#90ee90","#f5deb3","#ffe4e1","#fff0f5","#C0C0C0")
colour = 0;
}
function colours() {
this.length = colours.arguments.length;
number = this.length-2;
for(var i = 0; i < this.length; i++)
this[i] = colours.arguments[i];
}
function cls() {
init(); document.word.screen.value="";
document.word.screen.focus();
}
function source(s) {
nt = "";
for(var i = 0; i < s.length; i++) {
sch = s.charAt(i);
if(sch == "<") sch = "&lt;";
if(sch == ">") sch = "&gt;";
if(sch == "&") sch = "&#38";
if(sch == '"') sch = "&#34";
nt = nt + sch;
}
return nt;
}
function view(sourc) {
ver = document.word.title.value;
edge = document.word.border.value;
if(edge == "") {
edge = 0; document.word.border.value = 0;
}
colour = document.word.bgcol.selectedIndex;
src="&lt;html&gt;\n&lt;head&gt;\n&lt;title&gt;"+ver+"&lt;/title";
src=src+"&gt;\n&lt;/head&gt;\n&lt;body bgcolor='"+c[colour];
src=src+"'&gt;\n";
hd = "\r\n<html>\r\n<head>\r\n<title>"+ver+"</title>";
hd = hd+"\r\n</head>\r\n<body ";
hd = hd + "bgcolor='"+c[colour]+"'>\r\n";

f = ""; f1 = ""; ft = ""; ft1 = "";
if((sourc) ||(document.word.pref.checked)) {
f = "\r\n<pre>"; f1 = "\r\n</pre>";
}
srth = ""; srtf = ""; srcpre=""; srcpref="";
if(edge > 0) {
if(!(sourc)) {
ft = "<table width='95%' border='"+edge+"'>\r\n<tr><td>";
ft1 = "\r\n</table>\r\n";
} else {
srth = "&lt;table width='95%' border='"+edge+"'&gt;\n";
srth = srth+"&lt;tr&gt;&lt;td&gt;\n";
srtf = "\n&lt;/table&gt;";
}
}
if((document.word.pref.checked) && (sourc)) {
srcpre="&lt;pre&gt;"; srcpref="\n&lt;/pre&gt;";
}
var foot = "</body>\r\n</h"+"tml>";
if(sourc) {
app = 0; if(navigator.appName == "Netscape") app = 1;
txt = source(document.word.screen.value);
txt1 = "";
if(app) txt1 = "<b>";
txt1 = txt1 + src+srth+srcpre;
if(app) txt1 = txt1 + "</b>";
txt1 = txt1+txt+"\r\n";
if(app) txt1 = txt1 + "<b>"
txt1=txt1+srcpref+srtf+"\n&lt;/body&gt;\n&lt;/html&gt;\n";
if(app) txt1 = txt1+"</b>";
menu = ""; ht= "370";
} else {
txt1 = document.word.screen.value;
menu = "menubar,"; ht = "350"
}
msg = open("","",menu+"scrollbars,width=590,height="+ht);
msg.document.writeln(hd+ft+f+txt1+"\r\n"+f1+ft1+foot);
msg.document.close();
}
//-->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="init()">

<center>
</font>
<form name="word">
<table bgcolor="#808080" border="2"><tr><td>
<font size="3" color="#FFFFFF">
<b>
<textarea name="screen" rows="12" cols="70" wrap="physical">
&lt;h1&gt;&nbsp;&nbsp;&nbsp;&nbsp; Привет!&nbsp; &lt;/h1&gt;

&lt;h2&gt;&nbsp;&nbsp;&nbsp;&nbsp; Мини HTML процессор II&nbsp;&nbsp;&nbsp; &lt;/h2&gt;
&lt;b&gt;
Перед тем, как Вы нажмете кнопку 'Сброс', понажимайте другие
кнопки и меню, чтобы посмотреть что они делают!

Похоже, это лучше работает с <i>Netscape</i>, но в MSIE
поздних версий также не должно быть проблем.

&lt;font color='blue'&gt;&nbsp;&nbsp; 73 from John G4VWL&nbsp;&nbsp;&nbsp; &lt;/font&gt;
&lt;/b&gt;
</textarea><br>
&nbsp;
<input type="button" value="<< Цвет фона =" style="width:120" OnClick="document.bgColor=bgcol.value">
<select name="bgcol">
<option value=lightgrey> lightgrey
<option value=aliceblue> aliceblue
<option value=azure> azure
<option value=lightblue> lightblue
<option value=white> white
<option value=cornsilk> cornsilk
<option value=palegreen> palegreen
<option value=wheat> wheat
<option value=mistyrose> mistyrose
<option value=lavenderblush> lavenderblush
<option value=silver selected> silver
</select>
Border<input type="text" name="border" size="2" value="6">&nbsp;&nbsp;
PreFormatted<input type="checkbox" name="pref" checked>
<input type="button" value="Сброс" OnClick="cls()"></b>
</font>
<p>
<font size="3" color="#FFFFFF">
<b>
Название:<input type="text" name="title" size="20" value="Мини процессор MkII">
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Посмотреть источник" style="width:160" OnClick="view(1)">
<input type="button" value="Посмотреть документ" style="width:160" OnClick="view(0)">
</b>
</font>
</td></tr></table>
</form>
</center>
<hr><p>
<center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC50

Быстрая проверка "Online on ICQ ?"

ICQ #:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function icqCheck() {
var number = document.ICQ.number.value;

text = "<html><body><center><br>"
+ number + " is: <img src=http://wwp.icq.com/"
+ "scripts/online.dll?ICQ=" + number + "&img=5> "
+ "</body></html>";

windowprops = "toolbar=no,width=150,height=25,"
+ "directories=no,status=no,scrollbars=no,resize=no,"
+ "menubar=no";

icqWindow=window.open("","displayWindow",windowprops)
icqWindow.document.write(text);
icqWindow.document.close();
icqWindow.focus();
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=ICQ>
<div center>ICQ #:
<input type=text name=number size=10 value="666"><br>
<input type=button name=check value="Проверить № ICQ !" onClick="icqCheck()">
</div>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC120

Сообщение на ICQ без ICQ

ICQ

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <center><font size="7" color="#0000FF"><B>ICQ</B></font>
<script language="JavaScript">
s=prompt('Введите номер пользователя ICQ','1234567')
document.write('<P>Заполните форму и нажмите "Отправить".<p>Ваше сообщение отправить по адресу -')
document.write(s)
document.write('<p><form name=form action="http://wwp.icq.com/scripts/WWPMsg.dll" method="post" target="_blank">')
document.write('<table border="2" cellpadding="1" cellspacing="1"><tr><td>')
document.write('<table cellpadding="0" cellspacing="0" border="0" bgcolor="silver"<tr>')
document.write('<td align="center" nowrap colspan="2" bgcolor="#0000a0">')
document.write('<font  color="White"><b>Сбросить сообщение на ICQ </font><br><font size="-2"')
document.write('color="White">если есть что сказать...</font></b></td><tr>')
document.write('<td align="center"><font size="-2" color="navy"><b>Ваше Имя</b>')
document.write('(optional):</font><br><input type="text" name="from" value="Guest" size=15 maxlength=40')
document.write(' onmouseover="select()"></td>')
document.write('<td align="center"><font size="-2" color="navy"><b>Ваш EMail</b>')
document.write('(optional):</font><br><input type="text" name="fromemail"')
document.write('value="email@mail.com" size=15 maxlength=40 onmouseover="select()">')
document.write('<input type="hidden" name="subject" value="From Your Web Page"></td></tr><tr>')
document.write('<td align="center" colspan="2"><font size="-1" color="navy">Сообщение:</font><br>')
document.write('<textarea name="bod" rows="3" cols="50" wrap="Virtual" onmouseover="select()">')
document.write('Hello ! I love you !</textarea><br></td></tr><tr><td colspan="2" align="center">')
document.write('<input type="hidden" name="to" value="')
document.write(s)
document.write('">')
document.write('<input type="submit" name="Send" value="Отправить">&nbsp;&nbsp;')
document.write('<input type="button" value="Очистить" OnClick="Javascript:(form.bod.value=\'
 \')"></td></tr><tr><td align="center" nowrap colspan="2">')
document.write('</form>')
document.write('</table></table>')
</script></center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC51

JavaScript вирус

(не по-настоящему!)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function confirmClose() {
alert("Error: 107x has occurred. A virus has begun to infect your hard drive. Please erase all infected files.")
if (confirm("Please inform the the hardware vendor of this error."))
alert('The virus has been contained but the browser will shutdown to check for and prevent further internal damages.');
else
alert('The problem has not been fixed, the browser must be shut downtown to prevent further contamination.');
{
parent.close();
}
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
<FORM>
<input type="button" value ="JavaScript Virus (шутка...)" onClick="confirmClose()">
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 18

Переход на другой URL со страницы
(в ероятно, не самый необходимый скрипт...)

http://

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--start stealth
function GoToURL(j) {
window.status=('Connecting....')

var URLis;
URLis = document.URLframe.Dest.value

if (URLis == "" || URLis.length <= 8)
{
j.value = "Try Again"
alert('\nOops!\n\nYou must enter a valid URL');
window.status=('Missing data or Invalid. Try again?.')
}
else
{
j.value = "Connecting to: http:\\" + URLis
var location=("http://" + URLis);
this.location.href = location;
window.status=('Connecting to ' + URLis + ' Please wait........');
}
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div>
<FORM NAME="URLframe">
<TABLE BORDER="0" ALIGN="CENTER">
<TR>
<TD VALIGN="MIDDLE" ALIGN="CENTER">
<p align="center">
<FONT SIZE="3" COLOR="#FF0000" FACE="VERANDA,ARIAL,HELVETICA"><B>http://</B></FONT>
<INPUT TYPE="TEXT" NAME="Dest" SIZE="30" MAXLENGTH="50">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
</TD></TR>
<TR>
<TD ALIGN="CENTER">
<INPUT TYPE="BUTTON" VALUE=" Go to.. " ONCLICK="GoToURL(this)" WIDTH="50"></TD></TR></TABLE></FORM>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC49

В какой день недели Вы родились.

Когда Вы родились?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function calculate() {
month = document.form.month.selectedIndex;
month = document.form.month.options[month].value;
day = document.form.day.selectedIndex;
day = document.form.day.options[day].value;
year = document.form.year.value;

var oyear=year

var dob = " "+ year +", "+month + ", "+day;
var thenx = new Date(dob);

var year=thenx.getYear();
if (year<100) year="19" + thenx.getYear();
else year=thenx.getYear();

if (year > 1969) wyear=year;
else {
if (oyear<1900) {
if (oyear>1800) {
wrelyear= (eval(oyear)-1801)%(28);
wyear = wrelyear+1981;
}
else wyear = 1970
}
else
if (oyear>1900) {wrelyear= (eval(oyear)-1901)%(28);
wyear= wrelyear+1985
}
else
if (oyear==1900) {wyear= 1990;
}
}
var dob = " "+ wyear +", "+month + ", "+day;
var thenx = new Date(dob);

var theday = thenx.getDay()+1;
var date=thenx.getDate();

var weekday = new Array(6);
weekday[1]="воскресенье";
weekday[2]="понедельник";
weekday[3]="вторник";
weekday[4]="среду";
weekday[5]="четверг";
weekday[6]="пятницу";
weekday[7]="субботу";
if (day != date) alert("Извините! Но Вы ввели некорректные данные "+day+" ..."+date+"::"+oyear+"..."+year+" "+dob+"=="+wyear+".-.-"+thenx+" "+day+" "+month);
else {
dayborn = weekday[theday];
dob = dayborn;
alert("Этот радостный момент случился в " + dob);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=form>
<center>
<table border=2 cellspacing=0 cellpadding=0 bgcolor=white>
<tr><td colspan=3 align=center><font face="verdana, arial" size="-1">Когда Вы родились?</font></td></tr>
<tr><td align=center>
<select name="month">
<option value="" selected>Месяц
<option value="January">Jan
<option value="February">Feb
<option value="March">Mar
<option value="April">Apr
<option value="May">May
<option value="June">Jun
<option value="July">Jul
<option value="August">Aug
<option value="September">Sep
<option value="October">Oct
<option value="November">Nov
<option value="December">Dec
</select>
</td>
<td align=center>
<select name="day">
<option value="" selected>День
<option value="1">01
<option value="2">02
<option value="3">03
<option value="4">04
<option value="5">05
<option value="6">06
<option value="7">07
<option value="8">08
<option value="9">09
<option value="10">10
<option value="11">11
<option value="12">12
<option value="13">13
<option value="14">14
<option value="15">15
<option value="16">16
<option value="17">17
<option value="18">18
<option value="19">19
<option value="20">20
<option value="21">21
<option value="22">22
<option value="23">23
<option value="24">24
<option value="25">25
<option value="26">26
<option value="27">27
<option value="28">28
<option value="29">29
<option value="30">30
<option value="31">31
</select>
</td>
<td align=center>
<input type=text name=year value="19" size=4 maxlength=4>
</td></tr>
</table><p>
<input type=button value="Считать" onClick="calculate()">
</center>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC40

Время, проведенное на странице

Вы находитесь на этой странице уже

секунд!

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <table border="0">
<tr>
<td align="center"><font face="Arial"><strong>Вы находитесь на
этой странице уже</strong></font></td>
<td align="center"><form name="d">
<p><input type="text" size="8" name="d2"></p>
</form>
</td>
<td align="center"><font face="Arial"><strong>секунд!</strong>
 </font></td>
</tr>
</table>
<script>
<!--
/*By George Chiang. (WA's ultimate JavaScript tutorial and free JavaScripts site!)
http://www.wsabstract.com
Credit MUST stay intact for use*/
var milisec=0
var seconds=0
document.d.d2.value='0'
function display(){
if (milisec>=9){
milisec=0
seconds+=1
}
else
milisec+=1
document.d.d2.value=seconds+"."+milisec
setTimeout("display()",100)
}
display()
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC117

Выделить и скопировать!
ТОЛЬКО MSIE 4+

Выделить и скопировать

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>

<script language="Javascript">
<!--

/*
Highlight and Copy form element script- By Dynamicdrive.com
For full source, Terms of service, and 100s DTHML scripts
Visit http://www.dynamicdrive.com
*/

//Определите, следует ли одновременно с выделением копировать контент в память
//Применимо только для IE 4+
//0=нет, 1=да
var copytoclip=1

function HighlightAll(theField) {
var tempval=eval("document."+theField)
tempval.focus()
tempval.select()
if (document.all&&copytoclip==1){
therange=tempval.createTextRange()
therange.execCommand("Copy")
window.status="Контент выделен и скопирован в память"
setTimeout("window.status=''",1800)
}
}
//-->
</script>

</head>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name="test">
<a class="highlighttext" href="javascript:HighlightAll('test.select1')">Выделить и скопировать</a><br>
<textarea name="select1" rows=10 cols=35 >Просто текст. Просто текст. Просто текст. Просто текст.</textarea>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC78

"Горячие" клавиши
В этом примере обязательна английская раскладка клавиатуры. Впишите в код буквы кириллицы и скрипт будет работать с ними. См. также раздел "Генераторы" этой справки.

(Кликните где-нибудь по странице для ее активации - при переключении страниц в файле справки активным остается левое окно с папками)

Эта страница снабжена "горячими" клавишами!

Использованы следующие ключи:

Нажмите клавишу 'h' для страницы Home
Нажмите клавишу 'f' для страницы Другая страница
Нажмите клавишу 'n' для страницы Линки
Нажмите клавишу 's' для Демо страницы

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var key = new Array(); // Определите "горячие" клавиши
key['h'] = "home.htm";
key['f'] = "anoter.htm";
key['n'] = "Link.htm";
key['s'] = "popdemo.htm";

function getKey(keyStroke) {
isNetscape=(document.layers);
// Cross-browser key capture routine couresty
// of Randy Bennett (rbennett@thezone.net)
eventChooser = (isNetscape) ? keyStroke.which : event.keyCode;
which = String.fromCharCode(eventChooser).toLowerCase();
for (var i in key) if (which == i) window.location = key[i];
}
document.onkeypress = getKey;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<table border=0><tr><td>
Эта страница снабжена &quot;горячими&quot; клавишами!<BR><BR>
Использованы следующие ключи:<BR><BR>
Нажмите клавишу 'h' для: страницы Home<BR>
Нажмите клавишу 'f' для: страницы Другая страница<BR>
Нажмите клавишу 'n' для: страницы Линки<BR>
Нажмите клавишу 's' для: Демо страницы<BR>
</td></tr></table>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC118

Градиентный бар
Полоса полностью "нарисована" Javascript. Попробуйте выделить и Вы увидите, что она состоит из прямоугольников. Разноцветных прямоугольников, цвет которых изменяется по вполне определенным правилам... Все полностью настраиваемо. От ширины и высоты полосы, цветовой гаммы, до мягкости перехода. См. комментарии в таблице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="JavaScript1.2">
<!--

/*
Gradient Bar Script (By Alex Szorkovszky alex@wmresources.com)
Permission granted to Dynamicdrive.com to feature script in archive
For full source code and installation instructions to this script, visit http://dynamicdrive.com
*/

if (document.all){
one=new Array();
two=new Array();
var a=10;var b=11;var c=12;var d=13;var e=14;var f=15;

//configure gradient

//width and height of gradient
var width = 350; // ДЛИНА ГРАДИЕНТНОЙ ПОЛОСЫ
var height = 20; // ШИРИНА ГРАДИЕНТНОЙ ПОЛОСЫ

//ширина одноцветного прямоугольника
var gap = 5;

//0 - градиент по горизонтали, 1 - по вертикали
var direction = 0;

//цвет номер 1 - введите 1-ю, 3-ю и 5-ю цифру (букву) цвета, то есть, например!!!, FcFc0c (выделены заглавными)
one[0]=f;
one[1]=f;
one[2]=0;

//цвет номер 2 - введите 2-ю, 4-ю и 6-ю цифру (букву) цвета, то есть, например!!!, c0cCc0 (выделены заглавными)
two[0]=0;
two[1]=c;
two[2]=0;

//end configuration

if(direction==0) var num = width / gap;
if(direction==1) var num = height / gap;
color2=new Array();
color1=new Array();
diff=new Array();
for(i=0;i<3;i++) {
diff[i] = two[i] - one[i];
diff[i] = diff[i] / num;
}
for(i=0;i<3;i++){
color1[i] = Math.round(diff[i] * Math.pow(10, 0));
if(color1[i] > diff[i])color1[i] = color1[i] - 1;
color2[i] = diff[i] - color1[i];
color2[i] = color2[i] * 15;
color2[i] = Math.round(color2[i] * Math.pow(10, 0));
}
x=new Array();
two[0]=0;
two[1]=0;
two[2]=0;
document.write('<table border="0" cellpadding="0" cellspacing="0" width="'+width+'" height="'+height+'">');
if(direction==0) document.write('<tr>');
for(i=0;i<=num;i++) {
if(direction==1) document.write('<tr>');
document.write('<td bgcolor="#');
for(j=0;j<3;j++) {
if(one[j]==a)document.write("a");
if(one[j]==b)document.write("b");
if(one[j]==c)document.write("c");
if(one[j]==d)document.write("d");
if(one[j]==e)document.write("e");
if(one[j]==f)document.write("f");
if(one[j]<10)document.write(one[j]);
if(two[j]==a)document.write("a");
if(two[j]==b)document.write("b");
if(two[j]==c)document.write("c");
if(two[j]==d)document.write("d");
if(two[j]==e)document.write("e");
if(two[j]==f)document.write("f");
if(two[j]<10)document.write(two[j]);
one[j] = one[j] + color1[j];
two[j] = two[j] + color2[j];
if(two[j]>15) {
two[j] = two[j] - 15;
one[j]++;
}
}
if(direction==0) document.write('" width="'+gap+'" height="'+height+'">&nbsp;</td>');
if(direction==1) document.write('" width="'+width+'" height="'+gap+'">&nbsp;</td></tr>');
}
document.write('</table>');
}
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC77

Дискриминация...

Включите предложенный код в страницу и пользователи Netscape с включенной поддержкой JavaScript никогда на эту страницу не попадут... Спрашивается, а кому это надо?..

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onload="wh()">

<SCRIPT LANGUAGE="JavaScript">
function wh(){
if (document.layers)
window.home();
else
alert("Вам повезло, что пользуетесь IE!");
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC37

Добавить страницу в Избранное

(после клика по линку страница выделенная белым цветом будет добавлена в "избранное")

  • Добавить в избранное

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="javascript:window. external.AddFavorite ('http://javashelp.cjb.net', 'JavaScrips Free Help site!');"> Добавить в избранное</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC86

Добавить в избранное 2
(из файла справки скрипт не работает)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {

var url="http://javashelp.cjb.net";
var title="The JavaScript Help";

document.write('<A HREF="javascript:window.ext');
document.write('ernal.AddFavorite(url,title);" ');
document.write('onMouseOver=" window.status=');
document.write("'Добавьте наш сайт в Избранное!'; return true ");
document.write('"onMouseOut=" window.status=');
document.write("' '; return true ");
document.write('">Добавьте наш сайт в Избранное!</a>');
}
else {
var msg = "Не забудьте добавить нас в избранное!";
if(navigator.appName == "Netscape") msg += " (CTRL-D)";
document.write(msg);
}

// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC60

Ежедневно меняемое сообщение
Сообщение меняется ежедневно; это может быть шутка, анекдот или любое другое, неограниченное по длине сообщение

Прикол дня:

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Mike W. (mikew@dvol.com) -->
<!-- Web Site: http://www.dvol.com/~users/mikew -->

<!-- Begin
var msg = new Array();
Stamp = new Date();
today = Stamp.getDate();
msg[1] = "шутка 1";
msg[2] = "шутка 2";
msg[3] = "шутка 3";
msg[4] = "шутка 4";
msg[5] = "шутка 5";
msg[6] = "шутка 6";
msg[7] = "шутка 7";
msg[8] = "шутка 8";
msg[9] = "шутка 9";
msg[10] = "шутка 10";
msg[11] = "шутка 11";
msg[12] = "шутка 12";
msg[13] = "шутка 13";
msg[14] = "шутка 14";
msg[15] = "шутка 15";
msg[16] = "шутка 16";
msg[17] = "шутка 17";
msg[18] = "шутка 18";
msg[19] = "шутка 19";
msg[20] = "шутка 20";
msg[21] = "шутка 21";
msg[22] = "шутка 22";
msg[23] = "шутка 23";
msg[24] = "шутка 24";
msg[25] = "шутка 25";
msg[26] = "шутка 26";
msg[27] = "шутка 27";
msg[28] = "шутка 28";
msg[29] = "шутка 29";
msg[30] = "шутка 30";
msg[31] = "шутка 31";

function writeTip() {
document.write(msg[today]);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<span style="background-color: #000000"><font face="MS Sans Serif" size="2" color="#00FF00"><strong>Прикол дня: </font>
<font face="MS Sans Serif" size="2" color="yellow"><script>
writeTip();
</script></strong></font></span>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC54

Загрузка только обновленной страницы
 (Netscape и IE5+)

ОЧЕНЬ!!! полезная вещь для вебмастеров. Поместите этот тэг среди тэгов <HEAD> и Ваша страница всегда будет загружаться обновленной. Никакого КЭША!!!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 15

Запрет на правый клик мышью

Правый клик мышью приводит лишь к появлению pop-up с сообщением о запрете на правый клик...или что Вы сами пожелаете сообщить!
Попробуйте.

Внимание! ПРОЧИТАЙТЕ

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

 <script language=JavaScript>
<!--
var mes="Низзяяяяяяяяя......!!!!";
function click(e) {
if (document.all) {
if (event.button == 2) { //  Чтобы отключить левую кнопку поставьте цифру
       1

alert(mes);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC56

Запрет на правый клик 3
(без Pop-up меню; тестировано только в MSIE)

Для выделения и копирования воспользуйтесь советом внизу страницы.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script>
function click() {
event.cancelBubble = true;
event.returnValue = false;
}
document.oncontextmenu = click;
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC72

Запрет на ответ "НЕТ"

Считаете ли Вы, что JS Library самая крутая библиотекой JavaScript кодов?

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var flag = 1;
function t() {
if(flag == 1) {
N.style.top = "75px";
N.style.left = "300px";
}
if(flag == 2) {
N.style.top = "115px";
N.style.left = "100px";
}
if(flag == 3) {
N.style.top = "300px";
N.style.left = "150px";
}
flag = flag + 1;
if(flag == 4) {
flag = 1;
}
}
function al() {
alert("Правильно!");
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Считаете ли Вы, что JS Library самая крутая библиотекой JavaScript кодов?
</center>
<DIV ID="N" STYLE="position:absolute; left:180px; top:150px; width:50px; height:50px;">
<form>
<input type=button value="Нет" style="width:40" onMouseover="t()">
</form>
</DIV>
<DIV ID="Y" STYLE="position:absolute; left:130px; top:150px; width:50px; height:50px;">
<form>
<input type=button value="Да" style="width:40" onClick="al()">
</form>
</DIV>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC108

Запрет на ответ "НЕТ" 2 (шутка)
Эта версия скрипта использует вычисление местоположения кнопки, используя случайностные величины, в отличии от предыдущей, перемещающей кнопку в определенное заранее положение.

Вам нравится JS Library?

 Если кнопка "сбежит" за пределы видимой части страницы, просто кликните где-нибудь на странице.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="changeIt();" onClick="moveIt();">

<p align="center">
Вам нравится JS Library?<br>
<input type=button value="ДА" style="width:50" onClick="Javascript:alert('ПРАВИЛЬНЫЙ ОТВЕТ!!!')">
<span id="button1" style="position:relative;z-index:10"></span>

<script>

/*
Uncatchable button script by Craig Casey (craig_c_11@hotmail.com)
Featured on Website Abstraction (http://wsabstract.com)
For this and over 400+ free scripts, visit http://wsabstract.com
*/

var btnbgcol="silver"
var fntcol="black"
var ok=(document.getElementById||document.all)?1:0
if (ok)
var cross_el=document.getElementById? document.getElementById("button1"):button1

message = 'НЕТ'

// No need to edit below this line

function changeIt(){
if (!ok)
return
cross_el.innerHTML='<button style="width:50;background-color:'+btnbgcol+'" onmouseDown="moveIt();" onmouseOver="moveIt()"><font color="'+fntcol+'">'+message+'</font></button>'
}

function setRandom(){
random1=Math.floor(Math.random()*301)
random2=Math.floor(Math.random()*401)

}

function moveIt(){
if (!ok)
return
setRandom()
cross_el.style.top=random1
cross_el.style.left=random2

if (document.all){
if (cross_el.offsetTop-document.body.scrollTop>document.body.clientHeight)
cross_el.style.top=random1*(-2/3)
}
else{
if (cross_el.offsetTop-window.pageYOffset>window.innerHeight)
cross_el.style.top=random1*(-2/3)
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC106

Запрет на вход с сайта (страницы)

Полная противоположность скрипту "Обязательный вход только с определенной стораницы". Здесь Вы запрещаете вход на Ваш сайт (страницу) с определенных (нежелательных) сайтов (страниц).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
/*Referrer Checker 2- By Website Abstraction
(http://www.wsabstract.com) Over 400+ free JavaScripts here!
*/

//добавьте любые нежелательные сайты или страницы
var invalidreferrals=new Array()
invalidreferrals[0]="сволочной.вебмастер.com"
invalidreferrals[1]="гадкий.сайт.com"
invalidreferrals[2]="паршивая.htm"

var failed=0

for (r=0;r<invalidreferrals.length;r++){
if (document.referrer.indexOf(invalidreferrals[r])!=-1){
failed=1
break
}
}

if (failed>0){
alert("Доступ на страницу запрещен!")
history.go(-1)
}

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC109

Запрет на вход с определенного IP адреса
Прочитайте комментарии внутри таблицы и содержание ALERT-ов и, я думаю, все станет ясным.

Конечно, если это серьезно настроенные ребята, и им непременно надо проникнуть на Ваш сайт для очередной пакости, то сменить IP - плевое дело! Для этого существуют ПРОКСИ! Кстати, о птичках, на сайте http://javashelp.cjb.net Вы найдете списки адресов 34000 (тридцати четырех тысяч!) прокси-серверов. Н-да, так себе реклама получилась...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="javascript">
var ip = '<!--#echo var="REMOTE_ADDR"-->'
if (ip == '206.186.23.178') {
    //  НЕНАВИСТНЫЙ IP  АДРЕС
alert("STOP!  Вы пытаетесь зайти на сайт с запрещенного IP адреса!");
alert("Почему бы Вам, ребята, не оставить наш сайт в
    покое?!!");
if (confirm("Вы сами уберетесь? Или вам помочь?"))
{location.href="http://www.yahoo.com" } else { ("OK! Вы сами выбрали! Бай-бай! И не возвращайтесь!"); {location.href="http://www.yahoo.com" }} }
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 10

Изменение картинки при наведении мыши на линк

Пример:

Вспышка Камера

Дополнительно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript"><!--
// preload images:
if (document.images) {
camera_off = new Image(42,44); camera_off.src="camera_off.jpg";
camera_on = new Image(42,44); camera_on.src= "camera_on.jpg";
}
function hiLite(imgName,imgObjName) {
if (document.images) {
document.images[imgName].src = eval(imgObjName + ".src");
}}
//--></SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<A HREF="home.htm"
onMouseOver="hiLite('img11','camera_on')"
onMouseOut="hiLite('img11','camera_off')">Вспышка</A>
<IMG SRC="camera_off.gif" WIDTH="42" HEIGHT="44" BORDER="0"
ALT="Камера" NAME="img11">

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Нажмите кнопку и скопируйте рисунок(рисунки) обычным способом.


RC92

Название файла открытой страницы
Честно говоря, это не самый необходимый скрипт... Тем не менее, подумав, и ему можно найти применение... Смысл скрипта заключается в сообщении Вам имени файла открытой страницы вместо обычного в таком случае полного адреса, в котором это имя оказывается в конце строки после последнего флэша.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var dir = location.href.substring(0,location.href.lastIndexOf('/')+1);
var url = location.href.substring(dir.length,location.href.length+1);
document.write("<center>" + url + "</center>");
// End -->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC104

Кто ВЫ по китайскому календарю

Введите год своего рождения:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script LANGUAGE="JavaScript">
<!--

/*
Submitted by David Gardner (davidgardner7@yahoo.com)
Featured on Website Abstraction (http://wsabstract.com)
For this and over 400+ free scripts, visit http://wsabstract.com
*/

function getpet () {

var toyear = 1997;
var birthyear = document.frm.inyear.value;
var birthpet="Ox"

x = (toyear - birthyear) % 12
if ((x == 1) || (x == -11)) {
birthpet="Вы родились в год МЫШИ" }
else {
if (x == 0) {
birthpet="Вы родились в год БЫКА" }
else {
if ((x == 11) || (x == -1)) {
birthpet="Вы родились в год ТИГРА" }
else {
if ((x == 10) || (x == -2)) {
birthpet="Вы родились в год КРОЛИКА" }
else {
if ((x == 9) || (x == -3)) {
birthpet="Вы родились в год ДРАКОНА" }
else {
if ((x == 8) || (x == -4)) {
birthpet="Вы родились в год ЗМЕИ" }
else {
if ((x == 7) || (x == -5)) {
birthpet="Вы родились в год ЛОШАДИ" }
else {
if ((x == 6) || (x == -6)) {
birthpet="Вы родились в год ОВЦЫ" }
else {
if ((x == 5) || (x == -7)) {
birthpet="Вы родились в год ОБЕЗЬЯНЫ" }
else {
if ((x == 4) || (x == -8)) {
birthpet="Вы родились в год ЦЫПЛЕНКА" }
else {
if ((x == 3) || (x == -9)) {
birthpet="Вы родились в год СОБАКИ" }
else {
if ((x == 2) || (x == -10)) {
birthpet="Вы родились в год СВИНЬИ" }
}
}
}
}
}
}
}
}
}
}
}
document.frm.birth.value = birthpet;

}
// -->
</script>

<p>Введите год своего рождения: </p>
<form NAME="frm">
<p><input TYPE="text" SIZE="4" NAME="inyear" value="1969"> <input TYPE="button" VALUE="Какое мое животное?"
onClick="getpet()"> <br>
</p>
<p><input TYPE="text" readonly SIZE="30" NAME="birth" style="background-color: #C0C0C0; color: #800000; font-size: 14pt; font-family: Verdana; font-weight: bold; border-style: solid; border-width: 0"> </font></p>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 5

Метод document.write()

( просто, немного основ...)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
document.write("Данная строка была помещена на страницу пользуясь методом document.write()")
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Misc 6

Более сложный document.write()

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT Language="JavaScript">
<!-- hide from old browsers
var msg = "document.write() один из наиболее употребляемых JavaScripts методов.<BR>"
+ "Эта информация сначала была помещена в variable, а затем прописана на<BR>"
+ "странице используя метод document.write(). Вы найдете эту технику полезной."
document.write(msg)
//-->
</SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC96

Назначение горячих клавиш
(выделенную синим цветом часть скрипта можно удалить - это кнопка определения номера горячей клавиши)

Нажмите клавишу N (Т)

Введите любую букву, цифру или знак и нажмите кнопку. Скрипт сообщит Вам № клавиши, который вы сможете ввести в скрипт "Горячие клавиши".

Если Вы видите этот документ в файле справки JS Library, то для демонстрации эффекта кликните где-нибудь по документу для его активизации

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="Javascript1.2">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var quickkey =  110 //
 Номер ГОРЯЧЕЙ КЛАВИШИ
var url = "http://www.ваш_сайт.com"
 //Адрес перехода после нажатия ГОРЯЧЕЙ
 КЛАВИШИ

if(navigator.appName == "Netscape") {
document.captureEvents(Event.KEYPRESS);
}

function qk(keyp){
if(navigator.appName == "Netscape") {
if (keyp.which == quickkey) window.location = url;
}
if (navigator.appVersion.indexOf("MSIE") != -1){
if (event.keyCode == quickkey) window.location = url;
}
}

document.onkeypress = qk
//-->
</script>
<form name="mykeys">
Введите любую букву или знак и нажмите кнопку. Скрипт сообщит Вам № клавиши, который вы сможете ввести в скрипт "Горячие клавиши".<br>
<input type="text" name="key" size="5" maxlength="1"> <input type="button" value="Показать номер" onclick="cvtcode()">
</form>
<script language="Javascript1.2">
function cvtcode() {
alert("Вы ввели клавишу под номером: \n\n " + document.mykeys.key.value.charCodeAt(0));
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC53

Нервная кнопка
(жмите на кнопку сколько захотите)

Пожалуйста, нажмите кнопку ТОЛЬКО ОДИН РАЗ!!!!

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!-- language="Javascript"

// This script was found at the JavaScript Place. http://www.javaplace.co.uk
var alerted_already;
var remark;

function theytyped(form) {
for ( j = 1;
j<=remark.length && remark[j]!=form.myoutxt.value;
j++){}
if (j>remark.length)
form.myoutxt.value = "Do not type here!";
return false;
}

function touched_frog() {
if (!alerted_already) {
alert(""+
""+
""+
""+
""+
"");
alerted_already = true;
}
return alerted_already;
}

function compute(form) {
for (var i = 1;
i<=remark.length && remark[i]!=form.myoutxt.value ;
i++){}
if (i==remark.length)
history.back();
if (i==remark.length-1)
alert("Dear Sir or Madam:"+
"\n\n It has come to our attention that you have been harassing"+
"\none of the buttons on the web. Although most buttons are"+
"\nunderstanding about this type of thing (being repeatedly pressed),"+
"\nsome rogue buttons have decided to form a support group and have"+
"\npetitioned me, the webmaster for funds to provide a secure place for"+
"\nrest and relaxation. Due to the large number of requests, this"+
"\nwarning has been installed:"+
"\n IF YOU PERSIST PRESSING THIS BUTTON,"+
"\nYOU WILL BE EJECTED FROM THIS SCREEN."+
"\n\n Thank you for your cooperation,"+
"\n\n The Federation for Oppressed and Abused Buttons"+
"\n\nenclosure: Message from oppressed complaintant"+
"\n\n\n\nDear Federation for Oppressed and Abused Buttons"+
"\n\n As I have been able to secure your assistance before,"+
"\nI beg your help in stopping the on going abuse I am once again"+
"\nforced to endure. THIS FREAKIN' NUT CASE WILL NOT STOP!"+
"\n\n Sincerely"+
"\n\n Push Me"+
"\n\np.s. I will definitely attend the annual meeting next July");

if (i<remark.length)
form.myoutxt.value = remark[i+1];
else
form.myoutxt.value = remark[1];
}

function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++)
this[i+1] = initArray.arguments[i];
}

remark = new initArray( "Thanks!",
"Once is enough!",
"Are you deaf?",
"Go Away!!..Quite bothering me!!",
"SOMEBODY STOP THIS CRAZY PERSON!",
"I give up. Please stop.",
"I SAID PLEASE, WHAT'S WRONG WITH YOU!",
"I understand your need to push buttons, but please stop!",
"This is NOT funny!",
"I give up.",
"This is now a back button!");

alerted_already = false;

// end hiding contents -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<table WIDTH="96%" BORDER="0" CELLSPACING="5" CELLPADDING="5">
<tr>
<td WIDTH="100%"><font
FACE="ARIEL,HELVETICA" SIZE="-1"><form name="buttons" method="post"
onSubmit="return false">
<div align="center"><center><p><input type="button" name="pushme" value="Push Me"
onClick="compute(this.form)"
onMouseOver="window.status='Leave Me Along!'; return touched_frog()"> <input type="text"
value=" " name="myoutxt" onBlur="theytyped(this.form)" onFocus="theytyped(this.form)"
onChange="theytyped(this.form)" size="40"> </p>
</center></div>
</form>
<p align="center">Пожалуйста, нажмите кнопку ТОЛЬКО ОДИН РАЗ!!!! </font></td>
</tr>
</table>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


index

Вход на закрытую страницу


RC107

Обязательный заход с определенной страницы 2

Тоже, что и в скрипте первом. Немного другое оформление, но принцип тот же. Плюс, есть возможность установить не один, и не два или три, а пять тысяч четыреста двадцать семь страниц, с которых только и можно попасть на Вашу тайную страницу. (Последнюю цифру можете умножить на десять миллионов:).

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script>
<!--
/*Referrer Checker- By Website Abstraction
(www.wsabstract.com) Over 200+ free JavaScripts here!
*/

//ДОБАВЬТЕ СТРАНИЦЫ (САЙТЫ) С
      КОТОРЫХ ТОЛЬКО И МОЖНО ПОПАСТЬ НА ВАШУ
      ТАЙНУЮ СТРАНИЦУ (неограниченное
      количество)
var validreferrals=new Array()
validreferrals[0]="хороший.вебмастер.com"
validreferrals[1]="прекрасная_страница.htm"

var passed=0

for (r=0;r<validreferrals.length;r++){
if (document.referrer.indexOf(validreferrals[r])!=-1){
passed=1
break
}
}

if (passed==0){
alert("Access to the page denied!")
history.go(-1)
}

//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC70

Орел или решка

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Hanz Broden (webmeister@v-wave.com) -->
<!-- Web Site: http://plaza.v-wave.com/dotcom -->
<!-- Modified By: Ronnie T. Moore, Editor -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function flipCoin() {
var x = parseInt(Math.random() * 2, 10);
coinsrc = (!x) ? "heads.gif" : "tails.gif";
document.coinform.coinbutton.value = 'Вращение';
ID = window.setTimeout("changeCoin();", 750);
}
function changeCoin() {
document['coin'].src = coinsrc;
document.coinform.coinbutton.value = 'Подбросить монетку';
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form name=coinform>
<table border=0 height=200>
<tr valign=top>
<td><input type=button style="width:190" name=coinbutton value="Подбросить монетку" onClick="flipCoin();"><br><br>
<img name=coin src="heads.gif" width=190 height=190>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

Рисунки, использованные в примере: coin.zip


RC44

Определение типа файла
(Определяет расширение файла в котором прописан...можно добавить свои расширения)

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
URL = window.location.href;
ishtm = (URL.indexOf('.htm') > -1); // true if URL contains .htm
ishtml = (URL.indexOf('.html') > -1);
isshtml = (URL.indexOf('.shtml') > -1);
isphtml = (URL.indexOf('.phtml') > -1);
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<SCRIPT LANGUAGE="JavaScript">
if (isphtml) {
document.write("Это .phtml файл!");
}
else if (isshtml) {
document.write("Это .shtml файл!");
}
else if (ishtml) {
document.write("Это .html файл!");
}
else if (ishtm) {

document.write("Это .htm файл!");
// Include the generic .htm last because if tested
// first, it would be true for all the file types above

}
else { // It is something else....
document.write("Тип этого файла неопределен.");
}
</script>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC119

Перетаскиваемость для любого Layer-a
Только Netscape

Поместите в тэг любого layer-a onMouseover="drag_drop(this)" . То есть весь тэг будет выглядеть так:
<layer onMouseover="drag_drop(this)">
ЛЮБОЙ КОНТЕНТ
</layer>
И layer станет перетаскиваемым.

LAYER 1

LAYER 2

LAYER 3

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<script language="JavaScript1.2">

/*Generic Drag layer
By Jim Silver @ jimsilver47@yahoo.com 1998
You may use this script on your web page as long
as this credit remains intact
Exlusive permission granted to Dynamic Drive (http://dynamicdrive.com) to include this script
in their DHTML archive.
Visit my homepage at http://members.tripod.com/~dynamicboy!
*/

var nsx
var nsy
var nstemp

function drag_drop(name){
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=go
temp.onmousemove=drag
temp.onmouseup=stop
}

function go(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function drag(e){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}

function stop(){
temp.releaseEvents(Event.MOUSEMOVE)
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 22

ПОКАЗАТЬ ВАШ ДИСК С
(не JavaScript, конечно, но бывает полезным...)

Содержимое этой таблицы поместите между <BODY> и </BODY>

ПОКАЗАТЬ ВАШ ДИСК С</b>
<div>
<FORM>
<INPUT TYPE="button" Value=" Показать диск C " onClick="window.open('file:///C|/', 'display', 'scrollbars=1')">
</FORM>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC48

Показать диски: A, C, D и др.
(количество не ограничено, отредактируйте по аналогии)

Содержимое этой таблицы поместите между <BODY> и </BODY>

<p align="center">
<!-- Found at the JavaScript Place. http://www.javaplace.co.uk -->
<form action="file:///a|/"><input type="submit" value="a:\ drive"></form>
<p align="center">
<form action="file:///c|/"><input type="submit" value="c:\ drive"></form>
<p align="center">
<form action="file:///d|/"><input type="submit" value="d:\ drive"></form>
<p>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC111

Под каким Созвездием Вы родились

Введите Дату рождения. Формат даты: "January 1, 1997"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!--
function getsign () {

var today = new Date();
var psj=0;

var birth = new Date(document.frm.indate.value);
birth.setYear(today.getYear());
var astrosign="Capricornus"

var birthsecs = birth.getTime()

astro = new Date("January 20,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Aquarius"

astro = new Date("February 19,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Piscus"

var astro = new Date("March 21,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Aries"

astro = new Date("April 20,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Taurus"

astro = new Date("May 21,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Gemini"

astro = new Date("June 22,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Cancer"

astro = new Date("July 23,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Leo"

astro = new Date("August 23,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Virgo"

astro = new Date("September 23,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Libra"

astro = new Date("October 23,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Scorpius"

astro = new Date("November 23,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Sagittarius"

astro = new Date("December 22,1997");
astro.setYear(today.getYear());
if (birthsecs > astro.getTime()) astrosign="Capricornus"

document.frm.astro.value = astrosign;

}
// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

Введите Дату рождения. Формат даты: "January 1,
1997&quot;
<FORM NAME="frm">
<input TYPE="text" SIZE="30" NAME="indate">
<INPUT TYPE="button" VALUE="Показать" onClick="getsign()">
<br>
<hr>
<input TYPE="text" readonly SIZE="30" NAME="astro" style="background-color: #C0C0C0; color: #800000; font-size: 14pt; font-family: Verdana; font-weight: bold; border-style: solid; border-width: 0">
</FORM>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC97

Подтверждение выхода со страницы
При выходе со страницы появится alert c требованием подтвердить выход. В случае отрицательного ответа произойдет перезагрузка этой же страницы. Просто отказаться от выполнения команды выхода браузер не может. Фактически, выход происходит так или иначе, однако целью оказывается эта же страница. Это важно, так как, например, при заполненой, но не отправленной форме все данные будут потеряны.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onunload="onul()">

<script language="Javascript">
<!--
// please keep these lines on when you copy the source
// made by: Nicolas - http://www.javascript-page.com

var your_message = "Вы действительно хотите перейти на другую страницу?";
var times = 0;

function onul() {
if (times == 0) {
var leave = confirm(your_message);
if (!leave) location = self.location;
times++;
}
}

//-->
</script>

<!--ПРЕДЛОЖЕННЫЙ ВЫШЕ АВТОРСКИЙ КОД НЕ РАБОТАЕТ! ПОПРОБУЙТЕ ЭТОТ (т.н. "альтер")-->

<body onunload="onul()">

<script language="Javascript">
function onul() {
if (confirm('Может быть, Вы еще задержитесь на этой странице?')){
window.location = self.location
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 13

Предварительная загрузка страницы

Во время загрузке Вашей страницы в браузере, последняя не появляется до тех пор, пока не загрузятся все рисунки. При этом выводится сообщение:"Идет загрузка... Пожалуйста, подождите" или любое другое на Ваш вкус...

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Gilbert Davis -->
<!-- Begin
function loadImages() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('hidepage').style.visibility = 'hidden';
}
else {
if (document.layers) { // Netscape 4
document.hidepage.visibility = 'hidden';
}
else { // IE 4
document.all.hidepage.style.visibility = 'hidden';
}
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<BODY OnLoad="loadImages()">

<div id="hidepage" style="position: absolute; left:5px; top:5px; background-color: #FFFFCC; layer-background-color: #FFFFCC; height: 100%; width: 100%;">
<table width=100%><tr><td>Page loading ... Please wait.</td></tr></table></div>

<!-- Остальное содержание страницы расположите ниже этой строки -->

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 12

Посмотреть источник неоткрытой страницы

(Для просмотра источника страницы не открывая ее в браузере)

Впечатайте полный URL страницы и нажмите "Посмотреть источник"

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Alfie Pugh (alfiep@lineone.net) -->
<!-- Begin
function viewSource() {
document.getSource.view.value= "Пожалуйста, подождите!";
setTimeout ("document.getSource.view.value= 'Посмотреть
      источник!'",6000);
window.location.href= "view-source:" + document.getSource.url.value;
return false;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
Type in a full URL and click "View Source"
<br>
<br>
<form name=getSource onSubmit="return viewSource();">
<input type=text name=url value="http://">
<br>
<br>
<input type=submit name=view value="Посмотреть источник">
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC 24

Распечатка страницы

С помощью этого скрипта можно сделать на странице ссылку в виде
текста или в виде кнопки, при нажатии на которую текущая
страница будет распечатана.

Содержимое этой таблицы поместите между <BODY> и </BODY>

<script language="Javascript1.2">
<!--
//http://www.javaplace.co.uk

var message = "Print this Page";

function printpage() {
window.print();
}

document.write("<form><input type=button "
+"value=\""+message+"\" onClick=\"printpage()\"></form>");
document.write("<a href=\"#\" onClick=\"printpage()\">"+message+"</a>");
//-->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Белым цветом выделена строка для ссылки, желтым - для кнопки. Удалите то, что Вам не надо.


RC66

Распечатка страницы 2
(с сообщением при загрузке)

Распечатать страницу

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- JS Help! http://javashelp.cjb.net -->

<!-- Begin
function printPage() {
if (window.print) {
agree = confirm('Эта страница содержит важную информацию, которую \nмы рекомендуем сохранить не в электронном виде. \n\nРаспечатать страницу сейчас?');
if (agree) window.print();
}
}
function printNow() {
if (window.print) {
agree = confirm('Распечатать страницу сейчас?');
if (agree) window.print();
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body OnLoad="printPage()">

<a href="Javascript:printNow()">Распечатать страницу</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC67

Ротатор в выпадающем меню
Cообщения меняются последовательно, при этом Вы всегда можете прочитать их всех словно в выпадающем меню/

Содержимое этой таблицы поместите между <BODY> и </BODY>

<!-- Original: Dion (yobo42@hotmail.com) -->
<!-- Web Site: http://www.iinet.net.au/~biab/ -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<form name=menuform>
<select size=1 name="msg">
<option>Тяжело в ученье, легко в бою.
<option>Сколько волка не корми, он все равно в
лес смотрит.
<option>Работа не волк, в лес не убежит.
<option>Своя рубашка ближе к телу.
</select></form>
<script language="javascript">
<!-- Begin
function rotate() {
menu = document.menuform.msg;
chosen = menu.selectedIndex;
menu.selectedIndex= (chosen == (menu.length-1)) ? 0 : chosen + 1;
setTimeout("rotate()",5000);
}
rotate();
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC36

Сделать страницу стартовой
(при клике по линку данная страница становиться домашней страницей для эксплорера)

Сделать страницу стартовой

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a class="chlnk" href
onclick="this.style.behavior= 'url(#default#homepage)'; this.setHomePage('http://javashelp.cjb.net');"
style="CURSOR: hand"> Сделать страницу стартовой</a>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC91

Скроллер страницы
Наведите курсор на стрелку "вниз" или "вверх" и страница прокрутится в соответственном направлении. Кликать по рисункам не надо, но если очень хочется, то можно...:) Скриптом не предусмотрено никаких наглядных функций, исполняемых при клике по рисункам. Тем не менее, вместо выделенных белым цветом JavaScript:void(0) впишите #top и #bottom сответственно рисункам upRC.gif и downRC.gif (для #bottom сделайте bookmark внизу страницы - вставьте перед самым тэгом </BODY> такой тэг: <a name="bottom">). В результате этих манипуляций клик становится рабочим, перемещая страницу сразу к началу или к концу соответственно.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<style type="text/css">
#item {position:absolute; visibility:hidden; left:0px}
</style>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Brian Gosselin (bgaudiodr@aol.com) -->
<!-- Web Site: http://www.bgaudiodr.iwarp.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var isNS=(document.layers);
var _all=(isNS)? '' : 'all.' ;
var _style=(isNS)? '' : '.style' ;
var _visible=(isNS)? 'show' : 'visible';
var w_x, w_y, item, okscroll=false, godown;
function init(){
item=eval('document.'+_all+'item'+_style);
getwindowsize();
item.visibility=_visible;
scrollpage();
}
function getwindowsize() {
w_x=(isNS)? window.innerWidth-5 : document.body.clientWidth;
w_y=(isNS)? window.innerHeight : document.body.clientHeight;
(isNS)? item.clip.width=42: item.width=42;
(isNS)? item.clip.height=20 : item.height=20;
moveitem();
}
function resizeNS() {
setTimeout('document.location.reload()',400);
}
function moveitem() {
if (isNS) {
item.moveTo((pageXOffset+w_x-70),(w_y+pageYOffset-50))
}else{
item.pixelLeft=document.body.scrollLeft+w_x-70;
item.pixelTop=w_y+document.body.scrollTop-50;
}
}
window.onload=init;
(isNS) ? window.onresize=resizeNS : window.onresize=getwindowsize ;
function scrollpage() {
status = '';
if (okscroll) {
if (godown) {
(isNS)? window.scrollBy(0,4) : window.scrollBy(0,4) ;
} else {
(isNS)? window.scrollBy(0,-4) : window.scrollBy(0,-4) ;
}
}
moveitem();
setTimeout('scrollpage()', 40);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div id="item">
<a href="javascript:void(0)" onMouseover="okscroll=true; godown=false" onMouseout="okscroll=false"><img src="upRC.gif" border="0"></a>
<a href="javascript:void(0)" onMouseover="okscroll=true; godown=true" onMouseout="okscroll=false"><img src="downRC.gif" border="0"></a>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: updown.zip


RC101

Смена рисунков при наведении мыши 2

Главная страница

Линки

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT language="Javascript">
<!-- //

browser_name = navigator.appName;
browser_version = parseFloat(navigator.appVersion);

if (browser_name == "Netscape" && browser_version >= 3.0) { roll = 'true'; }
else if (browser_name == "Microsoft Internet Explorer" && browser_version >= 3.0) { roll = 'true'; }
else { roll = 'false'; }

function load(location){
return image;
}

if (roll == 'true'){
tr=new Image();
tr.src="fcsmile2.gif";
}

function show(where){
if (roll == 'true'){
stored=where;
storedLocation=document.images[where].src;
document.images[where].src="fcsmile2.gif";
}

}

function hide(){
if (roll == 'true') document.images[stored].src=storedLocation;
}

// -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<div class=text3>
<IMG SRC="fcfrown.gif" NAME="im1" BORDER=0 >&nbsp;&nbsp;<A HREF="#top" onMouseOver="show('im1')" onMouseOut="hide()" >Главная страница</A><BR> <BR>
<IMG SRC="fcfrown.gif" NAME="im2" BORDER=0 >&nbsp;&nbsp;<A HREF="#top" onMouseOver="show('im2')" onMouseOut="hide()" >Линки</A>
</div>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

fcfrown.gif [image] fcsmile2.gif


RC68

Сообщение об ошибке на странице
(в форме, а не POP-UP !!!)

При нажатии кнопки совершается ошибка: требуется выполнение функции, которой на странице нет. Кликните по кнопке и посмотрите на результат.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function reportError(msg,url,line) {
var str = "Err: " + msg + " on line: "
+ line + "\nURL: " + url + "\nWeb: "
+ navigator.appName + " " + navigator.appName
+ " " + navigator.appVersion;
document.errform.error.value = str;
return true;
}
window.onerror = reportError;
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>При нажатии кнопки совершается ошибка:
требуется выполнение фукции, которой на
странице нет. Кликните по кнопке и
посмотрите на результат.
<form name=err>
<input type=button value="Ошибка" onClick="brokenScript()">
</form><p>
<form name=errform>
<textarea name=error rows=5 cols=40></textarea>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC71

Телефонный справочник
Скрипт, конечно же, может быть использован для работы с любыми подходящими базами данных.

Фамилия | А | Б | В | Г | Д
 | Е | Ж | З | И | К
Инструкция Выберите букву, | Л | М | Н | О | П
с которой начинается фамилия. | Р | С | Т | У | Ф
Затем нажмите "Найти" | Х | Ц | Ч | Ш | Щ
 | Э | Ю | Я
Результат поиска

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var rcrd = new initArray("4b","5b","8b","8b");
rcrd[0] ="Запись на букву А ";
rcrd[1] ="Запись на букву Б ";
rcrd[2] ="Запись на букву В ";
rcrd[3] ="Запись на букву Г ";
rcrd[4] ="Запись на букву Д ";
rcrd[5] ="Запись на букву Е ";
rcrd[6] ="Запись на букву Ж ";
rcrd[7] ="Запись на букву З ";
rcrd[8] ="Запись на букву И ";
rcrd[9] ="Запись на букву К ";
rcrd[10] ="Запись на букву Л ";
rcrd[11] ="Запись на букву М ";
rcrd[12] ="Запись на букву Н ";
rcrd[13] ="Запись на букву О ";
rcrd[14] ="Запись на букву П ";
rcrd[15] ="Запись на букву Р ";
rcrd[16] ="Запись на букву С ";
rcrd[17] ="Запись на букву Т ";
rcrd[18] ="Запись на букву У ";
rcrd[19] ="Запись на букву Ф ";
rcrd[20] ="Запись на букву Х ";
rcrd[21] ="Запись на букву Ц ";
function dataBase(isnform) {
for (var i = 0; i < 28; i++) {
if (isnform.alpha[i].checked) {
recnum = isnform.alpha[i].value;
}
}
if (rcrd[recnum] != null) {
document.isnform.display.value = rcrd[recnum];
}
else document.isnform.display.value = "Извините, но фамилий, начинающихся на эту букву, в справочнике нет.";
}
// End -->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM NAME="isnform">
<table bgcolor="gray" border=1 width="352">
<td width="471">
<TABLE BORDER=0 WIDTH=370>
<TR><TD width="252">
<b>
<font size="3" color="#FFFFFF">
Фамилия</font></b></TD>
<TD width="37">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="0" CHECKED>А
</font>
</TD>
<TD width="43">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="1">Б
</font>
</TD>
<TD width="36">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="2">В
</font>
</TD>
<TD width="40">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="3">Г
</font>
</TD>
<TD width="64">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="4">Д
</font>
</TD></TR>
<font size="3" color="#000000">
<TR><TD width="252"></TD>
</font>
<TD width="37">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="5">Е
</font>
</TD>
<TD width="43">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="6">Ж
</font>
</TD>
<TD width="36">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="7">З
</font>
</TD>
<TD width="40">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="8">И
</font>
</TD>
<TD width="64">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="9">К
</font>
</TD></TR>
<TR><TD width="252"><font color="#FFFFFF"><b><font size="1">Инструкция<font size="3" color="#000000">:
</font>
</font></b> <font size="1" color="#000000">Выберите букву,&nbsp;</font></font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="10">Л
</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="11">М
</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="12">Н
</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="13">О
</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="14">П
</font>
</TD></TR>
<TR><TD width="252"><font size="1" color="#FFFFFF"> с
которой начинается &nbsp;фамилия.</font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="15">Р
</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="16">С
</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="17">Т
</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="18">У
</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="19">Ф
</font>
</TD></TR>
<TR><TD width="252"><font size="1" color="#FFFFFF">Затем нажмите &quot;Найти&quot;</font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="20">Х
</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="21">Ц
</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="22">Ч
</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="23">Ш
</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="24">Щ
</font>
</TD></TR>
<TR><TD ALIGN=CENTER width="252"><font size="3" color="#FFFFFF"><INPUT TYPE="button" NAME="but" VALUE="Найти" onClick="dataBase(this.form)">
</font>
</TD>
<TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="25">Э
</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="26">Ю
</font>
</TD>
<td width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="27">Я
</font>
</td>
</TR></TABLE>
<TABLE BORDER=0 WIDTH=339>
<TR><TD ALIGN=CENTER width="366"><font size="3" color="#FFFFFF">Результат поиска
</font>
<font size="3" color="#000000"><BR>
<TEXTAREA NAME="display" ROWS=4 COLS=43 WRAP=yes>
</TEXTAREA></TD></TR>
</TABLE>
</font>
</table>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC102

Условные обозначения доменов (для стран)

Страна (домен) | A | B | C | D | E
 | F | G | H | I | G
Инструкция: Выберите букву, с которой начи- | K | L | M | N | O
нается страна (домен) | P | Q | R | S | T
Затем нажмите "Найти" | U | V | W | X | Y
 | Z
Результат

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
}
}
var urlcn = new initArray("4b","5b","8b","8b");
urlcn[0]="af*Afghanistan\ral*Albania\rdz*Algeria\ras*"
+ "American Samoa\rad*Andorra\rao*Angola\rai*Anguill"
+ "a\raq*Antarctica\rag*Antigua and Barbuda\rar*Arge"
+ "ntina\ram*Armenia\raw*Aruba\rau*Australia\rat*Aus"
+ "tria\raz*Azerbaijan\rac*Educational (UK)\ran*Neth"
+ "erlands Antilles\rae*United Arab Emirates";
urlcn[1]="bs*Bahamas\rbh*Bahrain\rbd*Bangladesh\rbb*B"
+ "arbados\rby*Belarus\rbe*Belgium\rbz*Belize\rbj*Be"
+ "nin\rbm*Bermuda\rbt*Bhutan\rbo*Bolivia\rba*Bosnia"
+ " Hercegovina\rbw*Botswana\rbv*Bouvet Island\rbr*B"
+ "razil\rio*British Indian Ocean Territory\rbn*Brun"
+ "ei Darussalam\rbg*Bulgaria\rbf*Burkina Faso\rbi*B"
+ "urundi\rby*Byelorussia";
urlcn[2]="kh*Cambodia\rcm*Cameroon\rca*Canada\rcv*Cap"
+ "e Verde\rky*Cayman Islands\rcf*Central African Re"
+ "public\rtd*Chad\rcl*Chile\rcn*China\rcx*Christmas"
+ " Island\rcc*Cocos Islands\rco*Colombia\rcom*Comme"
+ "rcial\rkm*Comoros\rcg*Congo\rck*Cook Islands\rcr*"
+ "Costa Rica\rhr*Croatia\rcu*Cuba\rcy*Cyprus\rcs*Cz"
+ "echoslovakia\rci*Ivory Coast\rch*Switzerland";
urlcn[3]="dz*Algeria\rdj*Djibouti\rdm*Dominica\rdo*Do"
+ "minican Republic\rde*Germany";
urlcn[4]="tp*East Timor\rec*Ecuador\rac*Educational ("
+ "UK)\redu*Educational Institution\reg*Egypt\rsv*El"
+ " Salvador\rgq*Equatorial Guinea\ree*Estonia\ret*E"
+ "thiopia\res*Spain\reh*Western Sahara";
urlcn[5]="fk*Falkland Islands\rfo*Faroe Islands\rfj*F"
+ "iji\rfi*Finland\rfr*France\rgf*French Guiana\rpf*"
+ "French Polynesia\rtf*French Southern Territories"
+ "\rfm*Micronesia";
urlcn[6]="gq*Equatorial Guinea\rgf*French Guiana\rga*"
+ "Gabon\rgm*Gambia\rge*Georgia\rde*Germany\rgh*Ghan"
+ "a\rgi*Gibraltar\rgov*Government\rgr*Greece\rgl*Gr"
+ "eenland\rgd*Grenada\rgp*Guadeloupe\rgu*Guam\rgt*G"
+ "uatemala\rgn*Guinea\rgw*Guinea-bissau\rgy*Guyana";
urlcn[7]="hr*Croatia\rht*Haiti\rhm*Heard and Mc Donal"
+ "d Islands\rhn*Honduras\rhk*Hong Kong\rhu*Hungary";
urlcn[8]="io*British Indian Ocean Territory\ris*Icela"
+ "nd\rin*India\rid*Indonesia\rir*Iran\riq*Iraq\rie*"
+ "Ireland\ril*Israel\rit*Italy\rci*Ivory Coast";
urlcn[9]="jm*Jamaica\rjp*Japan\rjo*Jordan";
urlcn[10]="kh*Cambodia\rky*Cayman Islands\rkm*Comoros"
+ "\rkz*Kazakhstan\rke*Kenya\rki*Kiribati\rkw*Kuwait"
+ "\rkg*Kyrgyzstan\rkp*North Korea\rkn*Saint Kitts a"
+ "nd Nevis\rkr*South Korea";
urlcn[11]="la*Laos\rlv*Latvia\rlb*Lebanon\rls*Lesotho"
+ "\rlr*Liberia\rly*Libya\rli*Lichtenstein\rlt*Lithu"
+ "ania\rlu*Luxembourg\rlc*Saint Lucia\rlk*Sri Lanka";
urlcn[12]="mo*Macau\rmg*Madagascar\rmw*Malawi\rmy*Mal"
+ "aysia\rmv*Maldives\rml*Mali\rmt*Malta\rmh*Marshal"
+ "l Islands\rmq*Martinique\rmr*Mauritania\rmu*Mauri"
+ "tius\rmx*Mexico\rfm*Micronesia\rmil*Military\rmd*"
+ "Moldova Republic\rmc*Monaco\rmn*Mongolia\rms*Mont"
+ "serrat\rma*Morocco\rmz*Mozambique\rmm*Myanmar\rmp"
+ "*Northern Mariana Islands";
urlcn[13]="na*Namibia\rnr*Nauru\rnp*Nepal\ran*Netherl"
+ "ands Antilles\rnl*Netherlands\rnt*Neutral Zone\rn"
+ "c*New Caledonia\rnz*New Zealand\rni*Nicaragua\rne"
+ "*Niger\rng*Nigeria\rnu*Niue\rnf*Norfolk Island\rk"
+ "p*North Korea\rmp*Northern Mariana Islands\rno*No"
+ "rway\rno 2 ltr*United States of America";
urlcn[14]="om*Oman\rorg*Organization";
urlcn[15]="pf*French Polynesia\rpk*Pakistan\rpw*Palau"
+ "\rpa*Panama\rpg*Papua New Guinea\rpy*Paraguay\rpe"
+ "*Peru\rph*Philippines\rpn*Pitcairn\rpl*Poland\rpt"
+ "*Portugal\rpr*Puerto Rico\rpm*St. Pierre and Miqu"
+ "elon";
urlcn[17]="re*Reunion\rro*Romania\rru*Russia\rrw*Rwanda";
urlcn[18]="sv*El Salvador\rkn*Saint Kitts and Nevis\r"
+ "lc*Saint Lucia\rvc*Saint Vincent, Grenadines\rws*"
+ "Samoa\rsm*San Marino\rst*Sao Tome and Principe\rs"
+ "a*Saudi Arabia\rsn*Senegal\rsc*Seychelles\rsl*Sie"
+ "rra Leone\rsg*Singapore\rsi*Slovenia\rsb*Solomon "
+ "Islands\rso*Somalia\rza*South Africa\rkr*South Ko"
+ "rea\res*Spain\rlk*Sri Lanka\rsh*St. Helena\rpm*St"
+ ". Pierre and Miquelon\rsd*Sudan\rsr*Suriname\rsj*"
+ "Svalbard and Jan Mayen Islands\rsz*Swaziland\rse*"
+ "Sweden\rch*Switzerland\rsy*Syria";
urlcn[19]="td*Chad\rtp*East Timor\rtf*French Southern"
+ " Territories\rtw*Taiwan\rtj*Tajikistan\rtz*Tanzan"
+ "ia\rth*Thailand\rtg*Togo\rtk*Tokelau\rto*Tonga\rt"
+ "t*Trinidad, Tobago\rtn*Tunisia\rtr*Turkey\rtm*Tur"
+ "kmenistan\rtc*Turks and Caicos Islands\rtv*Tuvalu";
urlcn[20]="ug*Uganda\rua*Ukraine\rae*United Arab Emir"
+ "ates\ruk*United Kingdom\rum*United States Minor I"
+ "slands\rus*United States of America\ruy*Uruguay\r"
+ "uz*Uzbekistan";
urlcn[21]="vc*Saint Vincent, Grenadines\rvu*Vanuatu\r"
+ "va*Vatican City\rve*Venezuela\rvn*Viet Nam\rvg*Vi"
+ "rgin Islands (British)\rvi*Virgin Islands (USA)";
urlcn[22]="ws*Samoa\reh*Western Sahara";
urlcn[24]="yu*Yugoslavia";
urlcn[25]="za*South Africa\rzr*Zaire\rzm*Zambia\rzw*Z"
+ "imbabwe";
function dataBase(isnform) {
for (var i = 0; i < 26; i++) {
if (isnform.alpha[i].checked) {
recnum = isnform.alpha[i].value;
}
}
if (urlcn[recnum] != null) {
document.isnform.display.value = urlcn[recnum];
}
else document.isnform.display.value = "Извините, но данных на эту букву, в справочнике нет.";
}
// End -->
// End Hiding Script -->

Содержимое этой таблицы поместите между <BODY> и </BODY>

<CENTER>
</font>
<FORM NAME="isnform">
<table bgcolor="gray" border=1 width="352">
<td width="471">
<TABLE BORDER=0 WIDTH=370>
<TR><TD width="252">
<b><font size="3" color="#FFFFFF">Страна (домен)</font></b></TD>
<TD width="37">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="0" CHECKED>A</font>
</TD>
<TD width="43">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="1">B</font>
</TD>
<TD width="36">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="2">C</font>
</TD>
<TD width="40">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="3">D</font>
</TD>
<TD width="64">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="4">E</font>
</TD></TR>
<font size="3" color="#000000">
<TR><TD width="252"></TD>
</font>
<TD width="37">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="5">F</font>
</TD>
<TD width="43">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="6">G</font>
</TD>
<TD width="36">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="7">H</font>
</TD>
<TD width="40">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="8">I</font>
</TD>
<TD width="64">
<font size="3" color="#FFFFFF">
<INPUT TYPE="radio" NAME="alpha" VALUE="9">G</font>
</TD></TR>
<TR><TD width="252"><b><font size="1"><font face=verdana color="#FFFFFF">Инструкция:
</font></font></b><font face=verdana color="#FFFFFF">Выберите букву,&nbsp;
с которой начи-</font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="10">K</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="11">L</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="12">M</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="13">N</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="14">O</font>
</TD></TR>
<TR><TD width="252"><font face=verdana size="1" color="#FFFFFF"> нается &nbsp;страна
(домен)</font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="15">P</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="16">Q</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="17">R</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="18">S</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="19">T</font>
</TD></TR>
<TR><TD width="252"><font size="1" color="#FFFFFF">Затем нажмите &quot;Найти&quot;</font></TD><TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="20">U</font>
</TD>
<TD width="43"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="21">V</font>
</TD>
<TD width="36"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="22">W</font>
</TD>
<TD width="40"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="23">X</font>
</TD>
<TD width="64"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="24">Y</font>
</TD></TR>
<TR><TD ALIGN=CENTER width="252"><font size="3" color="#FFFFFF"><INPUT TYPE="button" NAME="but" VALUE="Показать" onClick="dataBase(this.form)">
</font>
</TD>
<TD width="37"><font size="3" color="#FFFFFF"><INPUT TYPE="radio" NAME="alpha" VALUE="25">Z</font>
</TD>
</TR></TABLE>
<TABLE BORDER=0 WIDTH=339>
<TR><TD ALIGN=CENTER width="366"><font size="3" color="#FFFFFF">Результат&nbsp;</font>
<font size="3" color="#000000"><BR>
<TEXTAREA NAME="display" ROWS=10 COLS=43 WRAP=yes>
</TEXTAREA></font></TD></TR>
</TABLE>
</table>
</FORM>
</CENTER>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC64

Фазы Луны

Содержимое этой таблицы поместите между <BODY> и </BODY>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: James Thiele (mailto:jet@eskimo.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

// Save the two necessary images from our example page at:
// http://messages.javascriptsource.com/moon-phases.html

var black = "black.gif";
var white = "white.gif";

var height=1;
var size = 50;
var i;
var currentDate = new Date();
var x = currentDate;
currentDate.setTime(currentDate.getTime() + (currentDate.getTimezoneOffset()*60000));
var blueMoonDate = new Date(96, 1, 3, 16, 15, 0);
var lunarPeriod = 29*(24*3600*1000) + 12*(3600*1000) + 44.05*(60*1000);
var moonPhaseTime = (currentDate.getTime() - blueMoonDate.getTime()) % lunarPeriod;
var percentRaw = (moonPhaseTime / lunarPeriod);
var percent = Math.round(100*percentRaw) / 100;
var percentBy2 = Math.round(200*percentRaw);
var left = (percentRaw >= 0.5) ? black : white;
var right = (percentRaw >= 0.5) ? white : black;
var time = Math.round((lunarPeriod-moonPhaseTime)/(24*3600*1000));

document.write("<center>");

if (percentBy2 > 100) {
percentBy2 = percentBy2 - 100;
}
for (i = -(size-1); i < size; ++i) {
var wid=2*parseFloat(Math.sqrt((size*size)-(i*i)));
if (percentBy2 != 100)
document.write ("<img src="+left +" height=1 width="+(wid*((100-percentBy2)/100))+">");
if (percentBy2 != 0)
document.write("<img src="+right+" height=1 width="+(wid*((percentBy2)/100))+">");
document.write("<br>");
}
document.write("<BR><FONT SIZE=4>Следующее полнолуние через ",time," ");
if (time == 1) document.write("день");
if (time == 2) document.write("дня");
if (time == 3) document.write("дня");
if (time == 4) document.write("дня");
if (time == 5) document.write("дней");
if (time == 6) document.write("дней");
if (time == 7) document.write("дней");
if (time == 8) document.write("дней");
if (time == 9) document.write("дней");
if (time == 10) document.write("дней");
if (time == 11) document.write("дней");
if (time == 12) document.write("дней");
if (time == 13) document.write("дней");
if (time == 14) document.write("дней");
if (time == 15) document.write("дней");
if (time == 16) document.write("дней");
if (time == 17) document.write("дней");
if (time == 18) document.write("дней");
if (time == 19) document.write("дней");
if (time == 20) document.write("дней");
if (time == 21) document.write("день");
if (time == 22) document.write("дня");
if (time == 23) document.write("дня");
if (time == 24) document.write("дня");
if (time == 25) document.write("дней");
if (time == 26) document.write("дней");
if (time == 27) document.write("дней");
if (time == 28) document.write("дней");
if (time == 29) document.write("дней");
if (time == 30) document.write("дней");
if (time == 31) document.write("день");
document.write("</font>");
// End -->
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: moon.zip


Вы попали на секретную страницу.

Здесь сложены все тайны Мира.

Страшные секреты Партии.

Наполеона

Гитлера.

И т.д.


another

ДРУГАЯ

СТРАНИЦА

  • Справка


Пожалуйста, навестите нашего спонсора!

ЭТО БАННЕР СПОНСОРА


JavaScript Flash !

Выберите эффект

Если Вы выберите следующий эффект без остановки предыдущего, то Вы получите смешение двух эффектов или трех или четырех и т.д.

© 1996 João Aires de Sousa

Создайте три новых документа (фреймсет - открываемая страница) и сохраните их в одной директории. В таблицах приведены полные коды страниц.

Создайте новый документ (фреймсет) Color32.htm (загружаемая страница)

<html>
<title>JS Flash - Color</title>

<FRAMESET rows="5%,90%,5%">
<FRAMESET cols="33%,33%,33%">
<FRAME NAME="a1" SRC="Color322.htm" scrolling=no>
<FRAME NAME="a2" SRC="Color322.htm" scrolling=no >
<FRAME NAME="a3" SRC="Color322.htm" scrolling=no>
</FRAMESET>
<FRAMESET COLS="5%,90%,5%">
<FRAME NAME="b1" SRC="Color322.htm" scrolling=no>
<FRAME NAME="b2" SRC="Color321.htm" target="_self" >
<FRAME NAME="b3" SRC="Color322.htm" scrolling=no>
</FRAMESET>
<FRAMESET COLS="33%,33%,33%">
<FRAME NAME="c1" SRC="Color322.htm" scrolling=no>
<FRAME NAME="c2" SRC="Color322.htm" scrolling=no>
<FRAME NAME="c3" SRC="Color322.htm" scrolling=no>
</FRAMESET>
</FRAMESET>

</html>

Создайте новый документ (фрейм) Color321.htm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!-- Copyright (C) 1996 Joao Aires de Sousa
All Rights Reserved
This code can be used provided that the origin is mentioned
and I am informed. email: jas@mail.fct.unl.pt
-->
<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>

<script>
function stoperror(){
return true;
}
window.onerror=stoperror;
</script>
<script>

function MakeArray(n){
this.length = n;
for (var i= 1; i<=n; i++){
this[i] = 0}

return this
}

var p=0;
colors = new MakeArray(10);
colors [0]='black';

colors [1]='brown';

colors [2]='#20FF9F';

colors [3]='orange';

colors [4]='red';

colors [5]='violet';

colors [6]='purple';

colors [7]='bordeaux';

colors [8]='blue';

colors [9]='green';

colors [10]='white';

function surprise1 (){

parent.a2.document.bgColor= 'yellow' ;parent.b1.document.bgColor='black';

parent.a3.document.bgColor= 'yellow';parent.a1.document.bgColor='black';

parent.b3.document.bgColor='yellow';

parent.a2.document.bgColor= 'black';parent.c3.document.bgColor='yellow';

parent.a3.document.bgColor= 'black';parent.c2.document.bgColor='yellow' ;
parent.b3.document.bgColor= 'black'; parent.c1.document.bgColor='yellow';

parent.c3.document.bgColor= 'black';parent.b1.document.bgColor='yellow' ;
parent.c2.document.bgColor= 'black'; parent.a1.document.bgColor='yellow';

parent.c1.document.bgColor= 'black';parent.b1.document.bgColor='black';

parent.a1.document.bgColor= 'black';

timerID=setTimeout("surprise1()",50);

}

function surprise2(){
var m=0;

parent.a1.document.bgColor='black'; parent.a2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.b3.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.a3.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.b3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.a2.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.c3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a1.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.c2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.a1.document.bgColor='black'; parent.b1.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.c1.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.b1.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.c2.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.a1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c3.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0}

parent.a1.document.bgColor='black'; parent.c3.document.bgColor='black';

timerID=setTimeout("surprise2()",5);

}

function surprise3(){

parent.a1.document.bgColor=colors [Math.abs(p-1)] ;
parent.a2.document.bgColor=colors [Math.abs(p-2)] ;
parent.a3.document.bgColor=colors [Math.abs(p-3)] ;
parent.b3.document.bgColor=colors [Math.abs(p-4)] ;
parent.c3.document.bgColor=colors [Math.abs(p-5)] ;
parent.c2.document.bgColor=colors [Math.abs(p-6)] ;
parent.c1.document.bgColor=colors [Math.abs(p-7)] ;
parent.b1.document.bgColor=colors [Math.abs(p-8)] ;

++p;if (p==9){p=0};

timerID=setTimeout("surprise3()",10);

}

function surprise4(){

var m=0;
parent.a1.document.bgColor='black'; parent.a2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.b3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.c3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.c2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.b1.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.a1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0}

parent.a1.document.bgColor='black';

timerID=setTimeout("surprise4()",10);

}

</script>

<title></title>
<base target="_self">

</head>

<body BGCOLOR="#C0C0C0" onLoad="surprise3()">
<center>

</center>

<center>

<h2 ><b><i> <font color="#FF0000"> JavaScript Flash !</font></i></b></h2>
<b>Выберите эффект</b>

<font color="orange">

<form>
<INPUT TYPE="button" VALUE="Flash 1" OnClick="surprise2()">

<INPUT TYPE="button" VALUE="Flash 2" OnClick="surprise1()">

<INPUT TYPE="button" VALUE="Flash 3" OnClick="p=0;surprise3()">

<INPUT TYPE="button" VALUE="Flash 4" OnClick="p=0;surprise4()">
</form>

<form>
<INPUT TYPE="button" VALUE="СТОП" OnClick="clearTimeout(timerID)">
</form></font><p><font size="-1" color="#800000">Если Вы выберите
следующий эффект без остановки предыдущего,
то Вы получите смешение двух эффектов или
трех или четырех и т.д.</font>
<FONT COLOR="red">
<p>

<FONT COLOR="red">
&copy; 1996 <a href="mailto:jas@mail.fct.unl.pt"> Jo&atilde;o Aires de
Sousa</a><br>
</FONT>

</center>

</body>
</HTML>

Создайте новый документ (фрейм) Color322.htm

<html>
<head>
</head>
<body>
</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


Form8a

Текст удаляется только из меню после клика правой кнопкой мыши


Form75

Запрет на знаки
 Используя этот скрипт, Вы можете запретить ввод любых символов, знаков или букв. Просто, добавьте, по аналогии, или удалите элементы в скрипте в выделенной белым цветом строке.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Mikhail Esteves (miks80@yahoo.com) -->
<!-- Web Site:  http://www.freebox.com/jackol -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|]/;
function dodacheck(val) {
var strPass = val.value;
var strLength = strPass.length;
var lchar = val.value.charAt((strLength) - 1);
if(lchar.search(mikExp) != -1) {
var tst = val.value.substring(0, (strLength) - 1);
val.value = tst;
}
}
function doanothercheck(form) {
if(form.value.length < 1) {
alert("Please enter something.");
return false;
}
if(form.value.search(mikExp) == -1) {
alert("Correct Input");
return false;
}
else {
alert("Извините, но следующие элементы\n\r\n\r@ $ % ^ & * # ( ) [ ] \\ { + } ` ~ =  |
      \n\r\n\rне разрешены!\n");
form.select();
form.focus();
return false;
}
alert("Данные введены корректно");
return false;
}
//  End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form name=xyz onSubmit="return doanothercheck(this.txtTerm);">
<input type="text" name="txtTerm" size="35" maxlength="50" value="" onKeyUp="javascript:dodacheck(xyz.txtTerm);">
<br>
<input type=submit value=Проверить>
</form>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


side

ГЛАВНОЕ МЕНЮ

Кликните по любому линку для остановки прокрутки.

Главная страница
Страница Линки
Другая страница

(кликните для продолжения прокрутки)

Продолжить прокрутку


main

НАЧАЛЬНАЯ
СТРАНИЦА
СКРОЛЛИНГА


Навигационное окно

 Любое навигационное окно


frame7b

Убийца фреймов
Прямо, Голливудское название... Короче, нажимаете кнопку и левого окна как небывало. Нажмете снова - и все вернется к прежнему состоянию. Так что никто никого не убивал!

В таблицах даны полные коды для трех страниц. Одна из них, первая - это фреймсет, - его и следует запускать. Остальные файлы должны находиться в той же директории. Чтобы не запутаться, сохраните предложенные названия файлов. Но если очень уж они Вас коробят - замените на свои, но только везде (в кодах тоже!)

Файл frame7.htm (frameset)

<HTML>
<HEAD>
<TITLE>Frame Breaker</TITLE>
</HEAD>
<FRAMESET cols="150,*">
<FRAME SRC="frame7a.htm" NAME="nav">
<FRAME SRC="frame7b.htm" NAME="main">
</FRAMESET>
</HTML>

Файл frame7a.htm

<HTML>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>Навигационное окно</TITLE>

</head>
<BODY BGCOLOR="#FFFFFF">

Любое навигационное окно

</BODY>
</HTML>

Файл frame7b.htm

<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<SCRIPT>
<!--
//--------------------------------------------//
// By mattias.sjoberg@swipnet.se 25/7-97 //
// The JavaScript Planet //
// http://www.geocities.com/SiliconValley/7116 /
// You're welcome to use/edit this script, //
// just keep the comments and drop me a note. //
//--------------------------------------------//

function check()
{
if (top.location != location)
{
document.frm.button.value="Убрать фреймы"
}
else
{
document.frm.button.value="Вернуть фреймы"
}
}

function frame_noframe()
{
if (top.location != location)
{
top.location.href = window.location.href
}
else
{
top.location="frame7.htm"
}
}
//-->
</SCRIPT>

</head>
<body onLoad="check()">

<FORM NAME="frm">
<INPUT TYPE="button" VALUE="Убрать фреймы" NAME="button" onClick="frame_noframe()">
</FORM>
<BR>

ЭТО ГЛАВНЫЙ ФРЕЙМ (центральный)

</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


JavaScript Flash !

Выберите эффект

Если Вы выберите следующий эффект без остановки предыдущего, то Вы получите смешение двух эффектов или трех или четырех и т.д.

© 1996 João Aires de Sousa

Создайте три новых документа (фреймсет - открываемая страница) и сохраните их в одной директории. В таблицах приведены полные коды страниц.

Создайте новый документ (фреймсет) flash4.htm (загружаемая страница)

<html>
<title>JS Flash (frameset)</title>
<FRAMESET rows="5%,90%,5%">
<FRAMESET cols="33%,33%,33%">
<FRAME NAME="a1" SRC="frame42.htm" scrolling=no>
<FRAME NAME="a2" SRC="frame42.htm" scrolling=no >
<FRAME NAME="a3" SRC="frame42.htm" scrolling=no>
</FRAMESET>
<FRAMESET COLS="5%,90%,5%">
<FRAME NAME="b1" SRC="frame42.htm" scrolling=no>
<FRAME NAME="b2" SRC="frame41.htm" target="_self">
<FRAME NAME="b3" SRC="frame42.htm" scrolling=no>
</FRAMESET>
<FRAMESET COLS="33%,33%,33%">
<FRAME NAME="c1" SRC="frame42.htm" scrolling=no>
<FRAME NAME="c2" SRC="frame42.htm" scrolling=no>
<FRAME NAME="c3" SRC="frame42.htm" scrolling=no>
</FRAMESET>
</FRAMESET>
</html>

Создайте новый документ (фрейм) flash41.htm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!-- Copyright (C) 1996 Joao Aires de Sousa
All Rights Reserved
This code can be used provided that the origin is mentioned
and I am informed. email: jas@mail.fct.unl.pt
-->
<style>
a:link, a:visited, a:active { text-decoration: none; color: navy;}
a:hover { text-decoration: none; color: yellow; }
</style>

<script>
function stoperror(){
return true;
}
window.onerror=stoperror;
</script>
<script>

function MakeArray(n){
this.length = n;
for (var i= 1; i<=n; i++){
this[i] = 0}

return this
}

var p=0;
colors = new MakeArray(10);
colors [0]='black';

colors [1]='brown';

colors [2]='#20FF9F';

colors [3]='orange';

colors [4]='red';

colors [5]='violet';

colors [6]='purple';

colors [7]='bordeaux';

colors [8]='blue';

colors [9]='green';

colors [10]='white';

function surprise1 (){

parent.a2.document.bgColor= 'yellow' ;parent.b1.document.bgColor='black';

parent.a3.document.bgColor= 'yellow';parent.a1.document.bgColor='black';

parent.b3.document.bgColor='yellow';

parent.a2.document.bgColor= 'black';parent.c3.document.bgColor='yellow';

parent.a3.document.bgColor= 'black';parent.c2.document.bgColor='yellow' ;
parent.b3.document.bgColor= 'black'; parent.c1.document.bgColor='yellow';

parent.c3.document.bgColor= 'black';parent.b1.document.bgColor='yellow' ;
parent.c2.document.bgColor= 'black'; parent.a1.document.bgColor='yellow';

parent.c1.document.bgColor= 'black';parent.b1.document.bgColor='black';

parent.a1.document.bgColor= 'black';

timerID=setTimeout("surprise1()",50);

}

function surprise2(){
var m=0;

parent.a1.document.bgColor='black'; parent.a2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.b3.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.a3.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.b3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.a2.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.c3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a1.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.c2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.a1.document.bgColor='black'; parent.b1.document.bgColor='red' ;for (var n=
1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.c1.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.b1.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.c2.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.a1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c3.document.bgColor='red';for (var n=
1; n<150; n++){m++;m=0}

parent.a1.document.bgColor='black'; parent.c3.document.bgColor='black';

timerID=setTimeout("surprise2()",5);

}

function surprise3(){

parent.a1.document.bgColor=colors [Math.abs(p-1)] ;
parent.a2.document.bgColor=colors [Math.abs(p-2)] ;
parent.a3.document.bgColor=colors [Math.abs(p-3)] ;
parent.b3.document.bgColor=colors [Math.abs(p-4)] ;
parent.c3.document.bgColor=colors [Math.abs(p-5)] ;
parent.c2.document.bgColor=colors [Math.abs(p-6)] ;
parent.c1.document.bgColor=colors [Math.abs(p-7)] ;
parent.b1.document.bgColor=colors [Math.abs(p-8)] ;

++p;if (p==9){p=0};

timerID=setTimeout("surprise3()",10);

}

function surprise4(){

var m=0;
parent.a1.document.bgColor='black'; parent.a2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.a2.document.bgColor='black'; parent.a3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.a3.document.bgColor='black'; parent.b3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.b3.document.bgColor='black'; parent.c3.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c3.document.bgColor='black'; parent.c2.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.c2.document.bgColor='black'; parent.c1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0};

parent.c1.document.bgColor='black'; parent.b1.document.bgColor='yellow' ;for (var
n= 1; n<150; n++){m++;m=0};

parent.b1.document.bgColor='black'; parent.a1.document.bgColor='yellow';for (var
n= 1; n<150; n++){m++;m=0}

parent.a1.document.bgColor='black';

timerID=setTimeout("surprise4()",10);

}

</script>

<title></title>
<base target="_self">

</head>

<body BGCOLOR="#C0C0C0" onLoad="surprise3()">
<center>

</center>

<center>

<h2 ><b><i> <font color="#FF0000"> JavaScript Flash !</font></i></b></h2>
<b>Выберите эффект</b>

<font color="orange">

<form>
<INPUT TYPE="button" VALUE="Flash 1" OnClick="surprise2()">

<INPUT TYPE="button" VALUE="Flash 2" OnClick="surprise1()">

<INPUT TYPE="button" VALUE="Flash 3" OnClick="p=0;surprise3()">

<INPUT TYPE="button" VALUE="Flash 4" OnClick="p=0;surprise4()">
</form>

<form>
<INPUT TYPE="button" VALUE="СТОП" OnClick="clearTimeout(timerID)">
</form></font><p><font size="-1" color="#800000">Если Вы выберите
следующий эффект без остановки предыдущего,
то Вы получите смешение двух эффектов или
трех или четырех и т.д.</font>
<FONT COLOR="red">
<p>

<FONT COLOR="red">
&copy; 1996 <a href="mailto:jas@mail.fct.unl.pt"> Jo&atilde;o Aires de
Sousa</a><br>
</FONT>

</center>

</body>
</HTML>

Создайте новый документ (фрейм) flash42.htm

<html>
<head>
<title>empty</title>
</head>
<body>
</body>
</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame51

Вам не нравится цвет страницы?

Кликните по любому цветному квадратику!


frame52

Это правый верхний фрейм


frame53

Изменение цвета фона (для фреймов)
ВНИМАНИЕ! Скрип не работает в файле справки. Но он достаточно интересен, чтобы быть представленным Вашему вниманию. Здесь Вы сможете увидеть лишь внешний вид фреймсета, который получится, если Вы последуете советам ниже.

Создайте HTML документы с кодами, предложенными в таблицах. В таблицах даны полные коды страниц. В заглавии таблиц указаны имена файлов. Все эти документы, а также рисунок scb1.gif (в zip архиве внизу страницы) следует сохранить в одной директории. "Запускным" является файл frame5.htm

frame5.htm

<HTML>
<HEAD><TITLE>Changing Frames Background Color</TITLE></HEAD>
<script language="JavaScript">
<!--
lit="";
flg="0";
fil="frame53.htm";
// -->
</script>
<FRAMESET rows="87,*">
<FRAMESET COLS="25%,75%">
<FRAME SRC="frame51.htm" SCROLLING="no" NAME="tplft" MARGINWIDTH="3" MARGINHEIGHT="1" NORESIZE>
<FRAME SRC="frame52.htm" SCROLLING="no" NAME="tprgt" MARGINWIDTH="3" MARGINHEIGHT="5" NORESIZE>
</FRAMESET>
<FRAME SRC="frame53.htm" SCROLLING="yes" NAME="page">
</FRAMESET>
</HTML>

frame51.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>frame51</title>

<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
locnm=location.href;
locnm1=locnm.substring(0,(locnm.indexOf("frame51.htm")));
function getCol() {
posx = locnm.indexOf(".x=");
if (posx<1) {
color="white";
parent.lit=color;
}
else {
reWrtcol();
}
}
function reWrtcol() {
posx = locnm.indexOf(".x=");
coord = locnm.substring(posx +3,locnm.length);
posx = coord.indexOf("&")
xcoord = coord.substring(0,posx);
coord = coord.substring(posx + 1,coord.length);
posx = coord.indexOf(".y=")
ycoord = coord.substring(posx + 3,coord.length);
if (xcoord < 8) { color = "#FFFF00";}
else if (xcoord < 16) { color = "#00FF00";}
else if (xcoord < 24) { color = "#00FFFF";}
else if (xcoord < 32) { color = "#FF00FF";}
else if (xcoord < 40) { color = "#FF0000";}
else if (xcoord < 48) { color = "#009FDD";}
else if (xcoord < 56) { color = "#B2B2B2";}
else if (xcoord < 64) { color = "#FFD25D";}
else if (xcoord < 72) { color = "#56AB6B";}
else if (xcoord < 80) { color = "#C70065";}
else if (xcoord < 88) { color = "#A25C92";}
else if (xcoord < 96) { color = "#E36970";}
else if (xcoord < 104) { color = "#C79E6B";}
else if (xcoord < 112) { color = "#90BE00";}
else if (xcoord < 120) { color = "#E16A96";}
else {
color = "white";
}
parent.lit=color
flg=1
// location.href="frame51.htm";
}
// End Hiding Script -->
</SCRIPT>
</head>
<body bgcolor="#C0C0C0">
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
flg=0;
getCol();
document.bgColor=color;
// End Hiding -->
</SCRIPT>
<CENTER>
<FORM NAME='isnform' METHOD=GET ACTION="frame51.htm">
<TABLE BORDER=0>
<TR><TD ALIGN=CENTER><FONT Face=Helvetica SIZE=1>
<B>Вам не нравится цвет страницы?
<BR><INPUT TYPE='image' SRC='scb1.gif' NAME='color' BORDER=0 HEIGHT=8 WIDTH=128>
<BR>Кликните по любому цветному квадратику!</B></TD></TR>
</TABLE>
</FORM>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
if (flg!=0) {
parent.flg="1";
parent.tprgt.location.href="frame52.htm";
}
else parent.flg="0";

// End Hiding -->
</SCRIPT>
</body>

</html>

frame52.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>frame52</title>
</head>

<body bgcolor="white">
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
color=parent.lit;
document.bgColor=color;
// End Hiding -->
</SCRIPT>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD VALIGN=TOP><IMG SRC="scb1.gif" BORDER=0 HEIGHT=72 WIDTH=142></TD>
<TD ALIGN=CENTER><b> Это правый
верхний фрейм </b></TD></TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from JavaScript-Impaired Browsers
if (parent.flg!="0") {
flnm=parent.fil;
parent.page.location.href=flnm;
}
// End Hiding -->
</SCRIPT>
</body>

</html>

frame53.htm

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>frame53</title>
<!-- Cut-N-Paste JavaScript from ISN Toolbox
Copyright 1996, Infohiway, Inc. Restricted use is hereby
granted (commercial and personal OK) so long as this code
is not *directly* sold and the copyright notice is buried
somewhere deep in your HTML document. A link to our site
http://www.infohiway.com is always appreciated of course,
but is absolutely and positively not necessary. ;-) -->
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide JavaScript from Java-Impaired Browsers
function getCol() {
color=parent.lit;
}
// End Hiding Script -->
</SCRIPT>
</head>

<body bgcolor="#C0C0C0">
<script>
<!-- Hide JavaScript from Java-Impaired Browsers
getCol();
document.bgColor=color;
// End Hiding -->
</SCRIPT>
<p align="center"><font color="#FF0000" size="5">Изменение цвета
фона (для фреймов)</font>
</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок scb1.gif


frame81

Левое навигационное меню
Создайте документы, полные коды которых предложены в таблицах. Открывать следует frame8.htm Не меняйте название файлов!

frame8.htm

frame81.htm

frame82.htm

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


frame92

Левое навигационное меню 2
Создайте HTML документы, полные коды которых приведены в таблицах и сохраните в одной директории. Открывается файл frame9.htm, его название можно изменить. Название файлов остальных документов следует менять умеючи. Необходимые рисунки здесь.

frame9.htm

frame91.htm

frame92.htm (для вашего контента)

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


- З м е й к а

Выберите уровень

Игра закончена
Загрузка...
Вы выиграли !
http://crash.to/PLAY --!>


Game4a

Разбивалка
Мячи: Время:


Game10a

 Удачной игры в
JS FALCON!
                          - ИНСТРУКЦИЯ -
                 Движение: 2,4,6,8 или K,J,L,I
                 Стрельба (пули): ПРОБЕЛ или Z
                 Стрельба (ракеты): 0 или X
          Бах! Вы убиты!    ИГРА ЗАКОНЧЕНА!
        Чтобы начать игру снова нажмите S!

           Измените уровни сложности:
     клавиша 'E'- легкий, клавиша 'N'- обычный


Размер: Уровень: Нажатий:


Простой тетрис

Нажмите любую клавишу для начала игры

UP - вращать, DOWN - вниз, LEFT - влево
RIGHT - вправо, SPACE - пауза


Простой тетрис 2

Введите скорость (от 1 до 9):
Скорость: 1 Общий счет: 0 Всего линий: 0


Game45b

Размер:


ТЕТРИС

Загрузка рисунков ...


Отелло

A B C D E F G H
Счет:
Белые
 Синие

Место занято:

Белые Ваши
Синие Ваши
2 игрока
8 | 8
7 | 7
6 | 6
5 | 5
4 | 4
3 | 3
2 | 2
1 | 1
A | B | C | D | E | F | G | H


Брикс

Автор скрипта Овсянников Антон


"Пятнашки".

Автор: Овсянников Антон.


Выберите :
Колонок :
Рядов:
Мин:


Marionette 2

У вас должен быть Netscape4.0 или IE4.0 или выше.


P-MAN

Для игры требуется Netscape 3.0 или выше.


Puzzle OnSite

Загрузка ...


Game401

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game402

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game403

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game404

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game405

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Game406

Спички
 Вообще-то, это игра-шутка. Если Вы делаете ход первым (а вы всегда делаете ход первым), то Вы проигрываете. Дело в том, что за каждый ход в любом случае изымается 4 спички. То есть, если Вы берете, к примеру, 1 спичку, компьютер берет 3, если Вы берете 2, компьютер - 2, Вы берете 3, компьютер - 1. Таким образом, как бы Вы не играли, к последнему Вашему ходу останется 5 спичек (25-4-4-4-4-4-4=5), и что бы Вы сейчас ни взяли, в результате останется 1 спичка - опять же Ваша. Но по условиям игры это означает проигрыш... Следовало бы, конечно, сделать случайным количество спичек, изымаемых компьютером, но на это потребовалось бы время, а вот его-то и нет. Подумайте и пришлите свой вариант - поместим на почетном месте!

Повторим?

(ни в коем случае не копируйте коды из источника! этот скрипт не работает из файла справки - вы видите лишь точное соблюдение алгоритма работы скрипта, достигнутое другими средствами)

Содержимое этой таблицы поместите между <BODY> и </BODY>

 <script language="JavaScript"><!--

// Copyright (c) 1996-1997 Tomer Shiran. All rights reserved.

function stripQuery() {

var search = location.search
var length = search.length

if (search == "")

return "25" //замените
 на 26 и Вы всегда будете
 выигрывать!!!!!!!

var query = search.substring(1, length)

return query
}

function placeMatches(num) {

for (var i = 1; i <= num; ++i) {
document.write('<A HREF="' + getURL(i, num) + '"><IMG SRC="match.gif" BORDER=0></A>')
}
}

function getURL(pos, num) {

var distance = num - pos + 1

if (distance > 3)

return "javascript:alert('Выберите одну из последних трех спичек')"

return "Game40.htm?" + (num - 4)
}

var num = parseInt(stripQuery())

var instructions = ""
instructions += "Цель игры: вы должны сделать так, чтобы последняя "
instructions += "спичка досталась другому игроку (компьютеру). "
instructions += "За один ход Вы можете взять себе только 1, 2, "
instructions += "или 3 спички, считая с конца. "
instructions += "То есть, кликнув по второй с конца спичке, Вы забираете "
instructions += "две штуки, кликнув по третьей с конца - забираете "
instructions += "три, по первой с конца - одну. Для компьютера правила "
instructions += "теже! Так что играйте с головой а не наобум, "
instructions += "иначе проиграете!"

if (num == 25)

alert(instructions)

if (num == 1) {

document.write('<IMG SRC="match.gif"><BR><BR><A HREF="Game40.htm">Повторим?</A>')

alert("\Я выиграл! Вам надо попрактиковаться. Кстати, не обязательно с компьютером!")
} else

if (num < 1)

alert("Вы выиграли! Поздравляю!!!")
else

placeMatches(num)

// --></script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунок спички, использованный в примере

match.gif

Белым цветом отмечено название файла HTML в котором находится этот скрипт. То есть этого документа.


Gate Keeper

Спокойно, граждане!. Вам придется ввести пароль для входа на страницу. Просто, мы стараемся держаться подальше от всякой шушеры.


Gen10a

Генератор Логотипа

Введите текст Вашего логотипа (только латинскими буквами или цифрами и не более10 знаков в строке, для перехода на новую строку используйте \n ), выберите стиль и нажмите кнопку "Сгенерировать". Для просмотра стиля кликните по линку ЭПример стиля"
Текст ЛОГО: Стить ЛОГО:
Пример стиля
Результат:

(поместите логотип в код страницы, заключив его между <pre> и </pre>, которые следует дописать самим.)
ЗАКРЫТЬ

  _
_|_       _|_         __  o   __ _|_  o |__,
 |  (__(_  |_, (__(_ |  ' | __)   |_, | |  \
ЗАКРЫТЬ

 _____   _       _____   _____   _   _
|  _  \ | |     /  _  \ /  ___| | | / /
| |_| | | |     | | | | | |     | |/ /
|  _  { | |     | | | | | |     | |\ \
| |_| | | |___  | |_| | | |___  | | \ \
|_____/ |_____| \_____/ \_____| |_|  \_\


Hard Block

Разбивалка
....для IE4,IE5,NN4,Gecko....

Мячей   :

Время   :

Кирпичей:

Счет    :

СБРОС! ИГРА ЗАКОНЧЕНА!
Влево  = 4 (клавиша)
Вправо = 6 (клавиша)
Старт  = S (клавиша)


home

Главная

страница

  • СПРАВКА


MAIN PROGRAM of JS FLANKER for IE4.0

ИГРА ЗАКОНЧЕНА

ВАШ СЧЕТ:pts


Играем клавишами!
  • Ускорение..Z (клавиша)
  • Торможение..X (клавиша)
  • Вращение.. 4,6 (клавиши)
    • Скорость
    Время
    3
    2
    1
    Аут!
    Финиш!
    Промазал!
    9
    8
    7
    6
    5
    4
    3
    2
    1
    0
    9
    8
    7
    6
    5
    4
    3
    2
    1
    0
    Сектор


Img13a

Это снежинка
в "натуральную" величину.


Game Instruction

Цветовой тетрис-головоломка
Автор игрушки.
Цель игры - присоединить шары одного цвета друг к другу, стреляя в нужном направлении предложенным шаром. Соединенные 3 и более шаров падают, увлекая с собой некоторые другие шары, которых они касались и, по физической логике, тем так же следовало бы упасть. [L] или [J] - для изменения угла выстрела, [K] - для выстрела. Так же работают и стрелки ЛЕВО-ПРАВО и ВВЕРХ - выстрел. Первые 3 упавших шара дают по 1 очку, каждый шар, упавший дополнительно к этим трем добавляет еще 2 очка. Если попадание произошло методом рикошета, то за это прибавляется дополнительно 5 очков. Игра имеет 10 уровней. К счету первого уровня добавляется бонус 100 очков! Линия нижнего уровня находится сразу над цифровым табло. Игра считается проигранной, если любой шар коснется этой линии сверху.
 | Обычные шары
 | Обычные шары
 | Разбивательный шар. Тащит вниз первый же шар, которого коcнется
 | Мульти - прилипала. Прилипнет и войдет в счет к первому же шару, которого коснется


link

ЛИНКИ

  • СПРАВКА


Menu 4

МЕНЮ

(указательная стрелка при наведении мыши)

Home
Дата и Время
Часы
Прокрутки
Другая страница
Линки
Дата Обновления

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT Language="JavaScript1.1">
<!-- hide from old browsers
var menuImg0 = "ar0.gif"
var menuImg1 = "ar1.gif"

function changeImgOver(imgName){
imgName.src = menuImg1
}

function changeImgOut(imgName){
imgName.src = menuImg0
}
//-->
</SCRIPT>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<FONT SIZE=4>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m1">
<A HREF="Jshome.htm" onMouseOver="changeImgOver(m1)"
onMouseOut="changeImgOut(m1)">Home</A>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m3">
<a HREF="DT1.htm" onMouseOver="changeImgOver(m3)"
onMouseOut="changeImgOut(m3)" target="_self">Дата и Время</a>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m4">
<a HREF="clocks1.htm" onMouseOver="changeImgOver(m4)"
onMouseOut="changeImgOut(m4)" target="_self">Часы</a>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m5">
<a HREF="Sc2.htm" onMouseOver="changeImgOver(m5)"
onMouseOut="changeImgOut(m5)" target="_self">Прокрутки</a>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m6">
<a HREF="another.htm" onMouseOver="changeImgOver(m6)"
onMouseOut="changeImgOut(m6)" target="_self">Другая страница</a>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m7">
<a HREF="Link.htm" onMouseOver="changeImgOver(m7)"
onMouseOut="changeImgOut(m7)" target="_self">Линки</a>
<BR>
<IMG SRC="ar0.gif" WIDTH=10 HEIGHT=10 BORDER=0 NAME="m8">
<a HREF="MD2.htm" onMouseOver="changeImgOver(m8)"
onMouseOut="changeImgOut(m8)" target="_self">Дата Обновления</a>
</FONT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы

При тестировании предложенного меню воспользуйтесь кнопкой BACK для возврата к исходной странице.

Есть две маленькие картинки (.gif) расположенные ниже, которые могут Вам понадобиться для этого меню. Первый gif - невидимый, второй - это "стрелка". Скопируйте их себе. Конечно Вы можете использовать любые другие картинки, но тогда следует в коде написать их имена. Так же не забудьте расположить gif-ы в той же директории, где расположена страница с этим меню, или правильно укажите адрес gif-ов в скрипте: не
var menuImg0 = "ar0.gif"
а
var menuImg0 = "ваша папка/ar0.gif"

Также для того, чтобы ссылки были черными и БЕЗ ПОДЧЕРКИВАНИЯ поместите между <HEAD> и </HEAD>:

<style>
a:link, a:visited, a:active { text-decoration: none; color: black;}
a:hover { text-decoration: none; color: red; }
</style>


Menu33

Професcиональное меню
"Outlook"

(для просмотра примера Ваш браузер должен поддерживать работу с фреймами)

Создайте HTML документы с предложенными в таблицах кодами. Затем сохраните их в одной директории и откройте menu.html. Отредактируйте код в выделенной желтым цветом части (во второй таблице), внимательно прочитав инструкции (хоть и по английски, но предельно просто)

Код пригоден только для MSIE. Предложенный пример предполагает работу с фреймами. Возможна настройка меню для работы без фрэймов - читайте выделенный текст.

Создайте новый HTML документ menu.html (в таблице дан полный код)

<HTML>
<HEAD>
<TITLE>menu</TITLE>
</HEAD>
<frameset rows="*" frameborder="0" border="0">
<frameset cols="96,*" frameborder="0" border="0">
<frame src="menu331.htm" scrolling="no" noresize target="_self">
<frame src="menu332.htm" name="MAIN">
<noframes>
<BODY>
</BODY>
</noframes>
</frameset>
</frameset>
</HTML>

Создайте новый HTML документ Menu331.htm (в таблице дан полный код)

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Menu331</title>
<SCRIPT LANGUAGE="JAVASCRIPT">
OB_Top=10;									//position from top (px)
OB_Left=0;									//position from left (px)
OB_Margin=10;								//top and bottom margins between icons and borders
OB_Width=96;								//bar width
OB_Height=406;								//bar height
OB_SlideSpeed=1.25;							//speed during slide movement
OB_BackgroundColor="BACKGROUND";			//background color of the bar
OB_ItemsSpacing=40;							//space between two items (icons and text)
OB_BorderWidth=3;							//border width
OB_BorderStyle="ridge";						//border style
OB_BorderColor="#dddddd";					//border color
OB_IconsWidth=32;							//icons width
OB_IconsHeight=32;							//icons height
OB_ButtonFontFamily="arial";				//font family of button characters
OB_ButtonFontSize=8;						//font size    "         "       "
OB_ButtonFontColor="black";					//font color   "         "       "
OB_ButtonHeight=25;							//button height
OB_LabelFontFamily="arial";					//font family of text labels
OB_LabelFontSize=8;							//font size    "   "   "   "
OB_LabelFontColor="white";					//font color   "   "   "   "
OB_LabelMargin=3;							//margin between labels and icons
OB_UpArrow="arrowup.gif";					//arrow for slide up
OB_DownArrow="arrowdown.gif";				//arrow for slide up
OB_ArrowWidth=15;							//arrow width
OB_ArrowHeight=15;							//arrow height
OB_ArrowSlideSpeed=8;						//speed for items scrolling
</SCRIPT>

<script>
/***************************************
*                                      *
*           OUTLOOK-LIKE BAR           *
*                                      *
*             Written by               *
*           Massimo Guccione           *
*            Multimedia Lab            *
*       Intersiel S.p.A. (W)1999       *
*                                      *
* Important: to use this script don't  *
*            remove these comments     *
*                                      *
* Version 1.0Beta Freeware (MSIE only) *
*                                      *
* mail : m.guccione@telcal.it          *
*        obyone@antares.it             *
*        please report for bugs        *
*                                      *
*  for both Netscape and MSIE version  *
*  contact me! (freeware of course)    *
****************************************/

/********************************************
folder name must be OutBarFolder# where # start with 1 and increase by 1
first element of array is the folder label, next elements are :
1) url for icon of item
2) label for item
3) action link : put 'javascript:MyFunction()' to execute javascript instead of hyperlink
4) target frame : ignored if you use 'javascript:' in the action link (use 'window' instead of 'parent.MAIN' if you wish the link to load in the CURRENT page
********************************************/

OutBarFolder1=new Array(
"Folder 1",
"mail.gif","Try this link","Link.htm","parent.MAIN",
"chat.gif","Chat","another.htm","window",
"news.gif","Newsgroup","Javascript:Run(3)","",
"netm.gif","Netmeeting","javascript:Run(4)",""
);

OutBarFolder2=new Array(
"Folder 2",
"word.gif","Word","javascript:Run(5)","",
"excel.gif","Excel","javascript:Run(6)","",
"ppt.gif","Powerpoint","javascript:Run(7)","",
"access.gif","Access","javascript:Run(8)","",
"peditor.gif","Photo Editor","javascript:Run(9)",""
);

OutBarFolder3=new Array(
"Folder 3",
"word.gif","Word","javascript:Run(5)","",
"ppt.gif","Powerpoint","javascript:Run(7)",""
);

OutBarFolder4=new Array(
"Folder 4",
"mail.gif","E-Mail","javascript:Run(1)","",
"chat.gif","Chat","javascript:Run(2)","",
"news.gif","Newsgroup","javascript:Run(3)","",
"netm.gif","Netmeeting","javascript:Run(4)","",
"word.gif","Word","javascript:Run(5)","",
"excel.gif","Excel","javascript:Run(6)","",
"ppt.gif","Powerpoint","javascript:Run(7)","",
"access.gif","Access","javascript:Run(8)","",
"peditor.gif","Photo Editor","javascript:Run(9)",""
);
</script>
<script>
/***************************************
*                                      *
*           OUTLOOK-LIKE BAR           *
*                                      *
*             Written by               *
*           Massimo Guccione           *
*            Multimedia Lab            *
*       Intersiel S.p.A. (W)1999       *
*                                      *
* Important: to use this script don't  *
*            remove these comments     *
*                                      *
*                                      *
* Version 1.0Beta Freeware (MSIE only) *
*                                      *
* mail : m.guccione@telcal.it          *
*        obyone@antares.it             *
*        please report for bugs        *
*                                      *
*  for both Netscape and MSIE version  *
*  contact me! (freeware of course)    *
****************************************/
document.write("<DIV id='OutlookLikeBar' style='position:absolute;top:"+OB_Top+";left:"+OB_Left+";
 width:"+OB_Width+";height:"+OB_Height+";border:"+OB_BorderWidth+" "+OB_BorderStyle+"
 "+OB_BorderColor+";background-color:"+OB_BackgroundColor+";
 z-index:0;visibility:hidden;clip:rect(0,"+OB_Width+","+OB_Height+",0)'>");
document.write("<img onMouseUp='OutlookLikeBar.ArrowSelected(this)' onMouseDown='OutlookLikeBar.ArrowClicked(this)' onMouseOver='OutlookLikeBar.OverArrow(this)'
 onMouseOut= 'OutlookLikeBar.OutArrow(this)' id='OB_SlideUp' height='"+OB_ArrowHeight+"' width='"+OB_ArrowWidth+"' src='"+OB_UpArrow+"' style='position:absolute;top:0;left:0;cursor:hand;visibility:hidden;z-index:500'>");
document.write("<img onMouseUp='OutlookLikeBar.ArrowSelected(this)' onMouseDown='OutlookLikeBar.ArrowClicked(this)' onMouseOver='OutlookLikeBar.OverArrow(this)'
 onMouseOut= 'OutlookLikeBar.OutArrow(this)' id='OB_SlideDown' height='"+OB_ArrowHeight+"' width='"+OB_ArrowWidth+"' src='"+OB_DownArrow+"' style='position:absolute;top:0;left:0;cursor:hand;visibility:hidden;z-index:500'>");
j=1;
while(eval("window.OutBarFolder"+j))
j++;
i=j-1;
while(i>0)
{
Folder=eval("OutBarFolder"+i)
window.status="Outlook-Like Bar is making folder '"+Folder[0]+"'";
if(i==1)
{
document.write("<INPUT position='UP' id= 'OB_Button1' onDblClick='OutlookLikeBar.FolderClicked("+i+");
 this.blur()' onClick='OutlookLikeBar.FolderClicked ("+i+"); this.blur()' TYPE='button' value='"+Folder[0]+"'
 style='position:absolute;top:0;left:0;
 width:90;height:"+OB_ButtonHeight+";
 font-family:"+OB_ButtonFontFamily+";
 font-size:"+OB_ButtonFontSize+"pt;
 cursor:hand;color:"+OB_ButtonFontColor+";z-index:100'>");
MakeItems(Folder,i,OB_ButtonHeight);
}
else
{
document.write("<INPUT position='DOWN' id='OB_Button"+i+"' onDblClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' onClick='OutlookLikeBar.FolderClicked("+i+");this.blur()' TYPE='button' value='"+Folder[0]+"'
 style='position:absolute;top:"+(OB_Height-(j-i)*OB_ButtonHeight-OB_BorderWidth*2)+";
 left:0;width:90;height:"+OB_ButtonHeight+";
 font-family:"+OB_ButtonFontFamily+";font-size:"+OB_ButtonFontSize+"pt;
 cursor:hand;color:"+OB_ButtonFontColor+";z-index:100'>");
MakeItems(Folder,i,(OB_Height-(j-i)*OB_ButtonHeight-OB_BorderWidth*2)+OB_ButtonHeight);
}
i--;
}
document.write("</DIV>");
var OutlookLikeBar=new OutBar(OB_Width,OB_Height,j-1,OB_ButtonHeight,OB_BorderWidth,
 OB_SlideSpeed,
 OB_IconsHeight+OB_LabelFontSize+OB_LabelMargin+OB_ItemsSpacing,OB_ArrowSlideSpeed);
window.status="Outlook-Like Bar successful created!";
document.all["OutlookLikeBar"].style.visibility="visible";

function MakeItems(Folder,zorder,top)
{
var items=0;
var folderWidth=(OB_Width-OB_BorderWidth*2);
while(Folder[items+1])
items+=4;
items/=4;
document.write("<DIV id='OB_Folder"+zorder+"' style='position:absolute;left:0;top:"+top+";width:"+folderWidth+";
 height:"+(OB_Margin*2+items*(OB_IconsHeight+OB_LabelFontSize+OB_LabelMargin)+(items-1)*
 OB_ItemsSpacing)+";z-index:"+zorder+";clip:rect(0 0 0 0);'>");
for(var i=1;i<items*4;i+=4)
{
document.write("<div targetFrame='"+Folder[i+3]+"' link='"+Folder[i+2]+"' onMouseDown='OutlookLikeBar.ItemClicked(this)' onMouseUp='OutlookLikeBar.ItemSelected(this)' onMouseOver='OutlookLikeBar.OverItems(this)' onMouseOut='OutlookLikeBar.OutItems(this)'
 style='position:absolute;left:"+(Math.ceil((OB_Width-OB_BorderWidth*2-OB_IconsHeight)/2)-1)+";
 top:"+(OB_Margin+Math.ceil((i-1)/4)*(OB_ItemsSpacing+OB_LabelFontSize+OB_IconsHeight))+";
 cursor:hand;clip:rect(0 "+OB_IconsWidth+" "+OB_IconsHeight+" 0;width:"+OB_IconsWidth+";height:"+OB_IconsHeight+"'>");
document.write("<img src='"+Folder[i]+"'>");
document.write("</div>");
document.write ("<div align='center' style='position:absolute;left:0;
 top:"+(OB_LabelMargin+OB_IconsHeight+OB_Margin+Math.ceil((i-1)/4)* (OB_ItemsSpacing+OB_LabelFontSize+OB_IconsHeight))+";
 font-family:"+OB_LabelFontFamily+";
 font-size:"+OB_LabelFontSize+"pt;color:"+OB_LabelFontColor+"'>");
document.write(Folder[i+1]);
document.write("</div>");
}
document.write("</DIV>");
}

//***************************
//* Outlook-Like Bar Object *
//***************************
function OutBar(width,height,items,buttonHeight,
 borderWidth,slideSpeed,slideArrowValue,ArrowSlideSpeed)
{
this.currentFolder=1;
this.currentItem=null;
this.slideCount=0;
this.slideStep=1;
this.slideArrowValue=slideArrowValue;
this.slideSpeed=slideSpeed;
this.borderWidth=borderWidth;
this.width=width;
this.visibleAreaHeight=height-2*borderWidth-items*buttonHeight;
this.visibleAreaWidth=width;
this.FolderClicked=FolderClicked;
this.SlideFolders=SlideFolders;
this.ItemClicked=ItemClicked;
this.ItemSelected=ItemSelected;
this.OverItems=OverItems;
this.OutItems=OutItems;
this.OverArrow=OverArrow;
this.OutArrow=OutArrow;
this.ArrowClicked=ArrowClicked;
this.ArrowSelected=ArrowSelected;
this.ArrowSlideSpeed=ArrowSlideSpeed;
this.SlideItems=SlideItems;
this.SlideItemsAction=SlideItemsAction;
this.Start=Start;
this.ClipFolder=ClipFolder;
this.SetArrows=SetArrows;
this.HideArrows=HideArrows;
this.sliding=false;
this.items=items;
this.started=false;
this.Start();
}

function FolderClicked(folder)
{
if(this.sliding)
return;
if(folder==this.currentFolder)
return;
this.sliding=true;
this.slideCount=this.visibleAreaHeight;
this.slideStep=1;
this.countStep=0;
this.HideArrows();
this.SlideFolders(folder,document. all["OB_Button"+folder].position=="DOWN");
}

function SlideFolders(folder,down)
{
var step;
if(down)
{
this.slideCount-=Math.floor(this.slideStep);
if(this.slideCount<0)
this.slideStep+=this.slideCount;
step=Math.floor(this.slideStep);
for(var i=2;i<=folder;i++)
if(document.all["OB_Button"+i].position=="DOWN")
{
document.all["OB_Button"+i].style.pixelTop-=step;
document.all["OB_Folder"+i].style.pixelTop-=step;
}

filter = /rect\((\d*)px (\d*)px (\d*)px (\d*)px\)/;

var clipString=document.all["OB_Folder"+folder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(folder,parseInt(clip[1]),this.visibleAreaWidth,(parseInt(clip[3])+step),0);

var clipString=document.all["OB_Folder"+this.currentFolder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(this.currentFolder,parseInt(clip[1]), this.visibleAreaWidth,(parseInt(clip[3])-step),0);

this.slideStep*=this.slideSpeed;
if(this.slideCount>0)
setTimeout("OutlookLikeBar.SlideFolders("+folder+",true)",20);
else
{
for(var k=2;k<=folder;k++)
document.all["OB_Button"+k].position="UP";
this.currentFolder=folder;
this.SetArrows();
this.sliding=false;
}
}
else
{
this.slideCount-=Math.floor(this.slideStep);
if(this.slideCount<0)
this.slideStep+=this.slideCount;
step=Math.floor(this.slideStep);
for(var i=folder+1;i<=this.items;i++)
if(document.all["OB_Button"+i].position=="UP")
{
document.all["OB_Button"+i].style.pixelTop+=step;
document.all["OB_Folder"+i].style.pixelTop+=step;
}

filter = /rect\((\d*)px (\d*)px (\d*)px (\d*)px\)/;

var clipString=document.all["OB_Folder"+folder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(folder,parseInt(clip[1]),this.visibleAreaWidth,(parseInt(clip[3])+step),0);

var clipString=document.all["OB_Folder"+this.currentFolder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(this.currentFolder,parseInt(clip[1]), this.visibleAreaWidth,(parseInt(clip[3])-step),0);

this.slideStep*=this.slideSpeed;
if(this.slideCount>0)
setTimeout("OutlookLikeBar.SlideFolders("+folder+",false)",20);
else
{
for(var k=folder+1;k<=this.items;k++)
document.all["OB_Button"+k].position="DOWN";
this.currentFolder=folder;
this.SetArrows();
this.sliding=false;
}
}
}

function ItemClicked(item)
{
if(this.sliding)
return;
item.style.border="2 inset #ffffff";
}

function ItemSelected(item)
{
if(this.sliding)
return;
item.style.border="1 outset #ffffff";
if(item.link.indexOf("javascript")!=-1)
eval(item.link)
else
eval(item.targetFrame+".location='"+item.link+"'");
}

function OverItems(item)
{
if(this.sliding)
return;
item.style.border="1 outset #ffffff";
}

function OutItems(item)
{
if(this.sliding)
return;
item.style.border="0 none black";
}

function ArrowClicked(arrow)
{
if(this.sliding)
return;
arrow.style.border="1 inset #ffffff";
}

function ArrowSelected(arrow)
{
if(this.sliding)
return;
arrow.style.border="0 none black";
this.SlideItems(arrow.id=="OB_SlideUp");
}

function OverArrow(arrow)
{
if(this.sliding)
return;
arrow.style.border="1 outset #ffffff";
}

function OutArrow(arrow)
{
if(this.sliding)
return;
arrow.style.border="0 none black";
}

function ClipFolder(folder,top,right,bottom,left)
{
document.all["OB_Folder"+folder].style. clip=clip='rect('+top+' '+right+' '+bottom+' '+left+')';
}

function Start()
{
if(!this.started)
{
this.ClipFolder(1,0,this.visibleAreaWidth,this.visibleAreaHeight,0);
this.SetArrows();
}
}

function SetArrows()
{
document.all["OB_SlideUp"].style.pixelTop= document.all["OB_Button"+this.currentFolder].
 style.pixelTop+document.all["OB_Button"+this.currentFolder].style.pixelHeight+20;
document.all["OB_SlideUp"].style.pixelLeft= this.width-document.all["OB_SlideUp"].width-this.borderWidth-10;
document.all["OB_SlideDown"].style.pixelTop= document.all["OB_Button"+this.currentFolder].
 style.pixelTop+document.all["OB_Button"+this.currentFolder].
 style.pixelHeight+this.visibleAreaHeight-document. all["OB_SlideDown"].height-20;
document.all["OB_SlideDown"].style.pixelLeft= this.width-document.all["OB_SlideDown"].width-this.borderWidth-10;

var folder=document.all["OB_Folder"+this.currentFolder].style;
var startTop=document.all["OB_Button"+this.currentFolder].
 style.pixelTop+document.all["OB_Button"+this. currentFolder].style.pixelHeight;

if(folder.pixelTop<startTop)
document.all["OB_SlideDown"].style.visibility="visible";
else
document.all["OB_SlideDown"].style.visibility="hidden";

if(folder.pixelHeight-(startTop-folder.pixelTop)>this. visibleAreaHeight)
document.all["OB_SlideUp"].style.visibility="visible";
else
document.all["OB_SlideUp"].style.visibility="hidden";
}

function HideArrows()
{
document.all["OB_SlideUp"].style.visibility="hidden";
document.all["OB_SlideDown"].style.visibility="hidden";
}

function SlideItems(up)
{
this.sliding=true;
this.slideCount=Math.floor(this.slideArrowValue/this.ArrowSlideSpeed);
up ? this.SlideItemsAction(-this.ArrowSlideSpeed) : this.SlideItemsAction(this.ArrowSlideSpeed);
}

function SlideItemsAction(value)
{
document.all["OB_Folder"+this.currentFolder].style.pixelTop+=value;
filter = /rect\((\d*)px (\d*)px (\d*)px (\d*)px\)/;
var clipString=document.all["OB_Folder"+this.currentFolder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(this.currentFolder,(parseInt(clip[1])-value), parseInt(clip[2]),(parseInt(clip[3])-value),parseInt(clip[4]));
this.slideCount--;
if(this.slideCount>0)
setTimeout("OutlookLikeBar.SlideItemsAction("+value+")",20);
else
{
if(Math.abs(value)*this.ArrowSlideSpeed!=this.slideArrowValue)
{
document.all["OB_Folder"+this.currentFolder].style.pixelTop+= (value/Math.abs(value)*(this.slideArrowValue%this.ArrowSlideSpeed));
filter = /rect\((\d*)px (\d*)px (\d*)px (\d*)px\)/;
var clipString=document.all["OB_Folder"+this.currentFolder].style.clip;
var clip=clipString.match(filter);
this.ClipFolder(this.currentFolder,(parseInt(clip[1])-(value/Math. abs(value)*
 (this.slideArrowValue%this.ArrowSlideSpeed))), parseInt(clip[2]),(parseInt(clip[3])-(value/Math.abs(value)*
 (this.slideArrowValue%this.ArrowSlideSpeed))),parseInt(clip[4]));
}
this.SetArrows();
this.sliding=false;
}
}
</script>
<SCRIPT LANGUAGE="JAVASCRIPT">
function Run(app)
{
alert("Приложение : "+app);
}
</SCRIPT>
<base target="_self">
</head>

<body bgcolor="#C0C0C0">

</body>

</html>

Создайте новый HTML документ menu332.htm (в таблице дан полный код)

<html>

<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>menu332</title>
</head>

<body>

<p align="center"><b><font size="7">МЕНЮ</font></b></p>

</body>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: outlook.zip

Внимание! Из-за большой величины кода и необходимости его копирования в блокнот, могут возникнуть сложности при его запуске. Например, наиболее вероятным может оказаться сообщение о наличии недопустимого символа. Как правило это всего лишь пробел в конце строки javascript кода, в особенности заканчивающейся на точку с запятой. Пройдитесь по всем строкам и удалите возможные пробелы в их конце. Тем, кто все равно ничего не понял из того, что здесь написано, но все же настойчиво "сражается" с не работающим кодом можно посоветовать скопировать код прямо из источника - в данном! примере внутренний код полностью совпадет с примерным из таблиц за исключением имен файлов.


Menu44a

P.S. Требуется английская раскладка клавиатуры.


demonstr

Предложено Выбрано


SUB FRAME 1

 УВас должен быть Netscape 4.0 или IE4.0 или выше.


MAIN PROGRAM of JS FLANKER for NN4.0

ИГРА ЗАКОНЧЕНА

ВАШ СЧЕТ:pts


MAIN FRAME

СБРОС!
ВРЕМЯ ЗАКОНЧИЛОСЬ!
ИГРА ЗАКОНЧЕНА!


Pcontrol

P-MAN

СЧЕТ:


Pman


Popdemo

Убедитесь, что

окно

появилось

Закрыть

Если страница открыта не в отдельном окне, то при нажатии кнопки "Закрыть" или линка "Закрыть" будет закрыто правое окно справки. Восстановить его можно будет только после перезагрузки программы! Воспльзуйтесь кнопкой "назад" ("BACK")


Popup16a

Я - п г о т и в н ы й POP-UP!!!

Меня можно ЗАКРЫТЬ только отсюда!


Popup19a

Поместите здесь свой текст !
Это может быть что угодно: презентация, анекдоты, научный текст или справочник... Например:

Справочник JS

abs (Метод)
Возвращает абсолютное значение своего аргумента
Math.abs(argument)
Применение: Следующие примеры возвращают соответственно 10 и 12.5
document.writeln (Math.abs (-10));
John. age. value = 12.5; document.writeln (Math. abs(John.age.value));

acos (Метод)
Возвращает арккосинус своего аргумента (от 0 до Пи-радиан).
Math.acos(argument)
Применение: Аргумент должен быть числом в диапазоне между -1 и 1. Если значение выходит за пределы этого диапазона, возвращается 0.
action (Свойство)
Отображение атрибута ACTION тега HTML <FORM>.
document.formName.action;
document.forms[index].action
Применение: Свойство action возвращает строку, состоящую из URL назначения для данных, введенных в форму. Это значение может быть установлено или изменено как до, так и после загрузки и форматирования документа. В следующем примере свойство action для формы, названной outlineForm, устанавливает значение URL равным значению переменной outlineURL.
outlineURL = "http://www.somewhere.com/cgi-bin/outline .cgi";
outlineForm.action=outlineURL;
alert (Метод)
Выводит на экран диалоговое окно JavaScript Alert с кнопкой ОК и определенным программистом сообщением.
[window].alert(AlertMessage)
Применение:Прежде чем пользователь сможет продолжить работу со страницей, он должен нажать кнопку ОК диалогового окна JavaScript Alert.
alinkColor (Свойство)
Цвет гиперссылки после нажатия на ней левой кнопкой мыши, но до отпускания кнопки. document.alinkColor
Применение: Подобно остальным цветам в JavaScript, свойство alinkColor записывается как шестнадцатеричный триплет RGB или строковый литерал. Это свойство не может быть изменено после загрузки документа HTML. Оба следующих примера устанавливают цвет в бледно-голубой.
document.alinkColor""aliceblue";
document.alinkColor"="FOF8FF"
anchors array (Объект)
Массив с информацией о якорях в документе.
[windowMame].document.anchors(index)
Применение: Объект anchors array (только для чтения) устанавливается в тегах HTML <А NAME>.
<A [HREF=URL] NAME""anchor name" [TARGET=""windowName"] >текст якоря </А>
Включение в тег значения для атрибута HREF делает якорь также и гиперссылкой и добавляет ее к массиву links. Новые якоря можно определить в JavaScript с помощью метода anchor. Для определения количества элементов массива anchors в документе используйте свойство length.
document.anchors.length
Выражение document.anchor[index] возвращает null. Например, document.anchor[0] возвращает null, несмотря на то, что существует якорь, созданный с помощью тега <А NАМЕ="Elef">Все о слонах</А>.
anchor (Метод)
Выводит строку на экран и делает ее якорем.
textString.anchor(anchorName);
Применение: Будучи примененным вместе с методами write или writeln, метод anchor создает в текущем документе якорь, где textString - это строка, которую пользователь видит на экране, a anchorName имеет значение атрибута NAME тега HTML <ANCHOR>.
anchorString = "Louie's Place";
document.writeln (anchorString.anchor ("louies_place"));
anchors (Свойство)
Массив всех якорей в текущем документе. Подробнее в описании объекта anchor.
document.anchors[index]
Применение: Если массив anchor в документе содержит 5 элементов, то он начинается с document.anchors[0] и заканчивается document.anchors[4].
appCodeName (Свойство)
Возвращает строку (только для чтения) с кодовым именем броузера.
navigator.appCodeName
Применение: Для вывода на экран кодового имени текущего броузера служит следующая строка:
document.write ("Кодовое название вашего броузера: " + navigator. appCodeName + ".");
Для Netscape Navigator 2.0 это выражение вернет: Кодовое название вашего броузера: Mozilla.
appName (Свойство)
Возвращает строку (только для чтения) с именем броузера.
navigator.appName
Применение: Для вывода на экран имени приложения текущего броузера служит следующая строка: document.write("Название вашего броузера: " + navigator. appName + "."); Для Netscape Navigator 2.0 это выражение вернет: Название вашего броузера: Netscape.
appVersion (Свойство)
Возвращает строку с информацией о версии броузера.
navigator.appVersion
Применение: Свойство appVersion используется для проверки версии используемого на клиентском компьютере броузера. Оно возвращает значение в формате: номер_версии (платформа; страна ). Для версии Netscape 2.0 под Windows 95:
document.write ("Версия вашего Броузера: " + navigator. appVersion + "."); возвращает: Версия вашего броузера: 2.0 (Win95; 1).
Возвращенное значение говорит о том, что используется международная версия Navigator 2.0, работающая под Windows 95. Код страны U указывает версию для США, в то время как код 1 возвращается международной версией...........................................
Вниз Вверх


Управление цветом

 Это пример отлично демонстрирует как можно можно дистанционно управлять другим окном


RC47

Обязательный заход на главную страницу
В случае, если Вы считаете, что заходить на какую-то конкретную Вашу страницу можно только после посещения Главной страницы (или любой другой), примените этот скрипт. То есть, попав на эту страницу, посетитель получит сообщение, что ему сначала следует побывать на Главной и только оттуда переходить сюда. После чего автоматически будет загружена Главная страница. Именно так Вы и попали на эту страницу, не правда ли?

(Внимание! Не копируйте скрипты из источников. Они не имеют ничего общего с предложенными в таблицах и в интернете работать не будут.)

Содержимое этой таблицы поместите между <BODY> и </BODY> ЭТОЙ СТРАНИЦЫ!

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var requiredfrom = "index.html"; // обязательная к
      посещению страница
if (document.referrer.indexOf(requiredfrom) == -1) {
alert("Сюда Вы можете зайти только с Главной страницы " + requiredfrom);
window.location=requiredfrom;
}
//  End --></SCRIPT>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


RC69a

Заставка перед входом на страницу
То, что Вы читаете этот текст, свидетельствует о том, что Вы дождались окончания заставки и не стали перезагружать программу:). Казалось бы, в других комментариях этот эффектный скрипт не нуждается, разве только изменить текст сообщений...

Тем не менее есть несколько полезных советов. Прежде всего убедитесь, что ваш браузер поддерживает работу с фреймами. Предложенный ниже скрипт, в том виде как он был представлен в первоисточнике, не всегда работает корректно. Поэтому предлагаю воспользоваться другим вариантом. Обратите внимание на белую таблицу: там представлен код страницы (целиком), которая, продемонстрировав слады, произведет автоматический редирект на нужную страницу (адрес отмечен красным). В этом случае никаких других кодов никуда больше вставлять не надо.

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var background = "black";
var text = "white";
var URL = "RC69a.htm";
var speed = 4000; // time in milliseconds (4000 = 4 secs)
var msgcount = 5;

var i = 1;
var blank = " ";

function StringArray (n) {
this.length = n;
for (var x = 1; x <= n; x++) {
this[x] = ' ';
}
}

message = new StringArray(msgcount);
message[1] = "Красивое слайд-шоу, не правда ли?!";
message[2] = "Есть еще немало других отличных эффектов";
message[3] = "которые Вы легко можете добавить к своему сайту!";
message[4] = "Как следует изучите JS Library!";
message[5] = "Пришлите свои отзывы и предложения<br>сообщите о найденных багах!";

function Slide() {
slidepage = '<body bgcolor='+background+'>'
+ '<center><table border=0 '
+ 'height=100%><tr><td><center><b><font '
+ 'color='+text+' size=6>'+message[i]+'</font></b>'
+ '</center></td></tr></table></center></body>';

if (i == message.length + 1) parent.location = URL;

if (i < message.length + 1) {
frames['slideshow'].location = "javascript:parent.slidepage";
i++;
setTimeout("Slide()",speed);
}
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<frameset border="0" rows="100%,*" onload="Slide()">
<frame name="slideshow" src="javascript:parent.blank">
</frameset>

ДРУГОЙ ВАРИАНТ ИСПОЛЬЗОВАНИЯ СКРИПТА

(в этом случае верхние две таблицы не нужны)

Создайте HTML документ с представленным кодом:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var background = "black";
var text = "white";
var URL = "RC69a.htm";
var speed = 4000; // time in milliseconds (4000 = 4 secs)
var msgcount = 5;

var i = 1;
var blank = " ";

function StringArray (n) {
this.length = n;
for (var x = 1; x <= n; x++) {
this[x] = ' ';
}
}

message = new StringArray(msgcount);
message[1] = "Красивое слайд-шоу, не правда ли?!";
message[2] = "Есть еще немало других отличных эффектов";
message[3] = "которые Вы легко можете добавить к своему сайту!";
message[4] = "Как следует изучите JS Library!";
message[5] = "Пришлите свои отзывы и предложения<br>сообщите о найденных багах!";

function Slide() {
slidepage = '<body bgcolor='+background+'>'
+ '<center><table border=0 '
+ 'height=100%><tr><td><center><b><font '
+ 'color='+text+' size=6>'+message[i]+'</font></b>'
+ '</center></td></tr></table></center></body>';

if (i == message.length + 1) parent.location = URL;

if (i < message.length + 1) {
frames['slideshow'].location = "javascript:parent.slidepage";
i++;
setTimeout("Slide()",speed);
}
}
// End -->
</script>
<frameset border="0" rows="100%" onload="Slide()" frameborder="0">
<noframes>
<body>
</body>

</noframes>
<frame name="slideshow" src="javascript:parent.blank">
</frameset>

</html>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC73

Один линк переключает две страницы
(фреймы!)

Кликните по любому лику !

Загрузить страницы 1 и 2

Загрузить страницы 3 и 4

или ....
Перейти на страницу с описанием скрипта без фрэймов

(Описание см. в таблицах)

Создайте страницу с предложенным кодом (стартовая страница)

<html>

<head>

<title>Название Вашего сайта</title>

</head>

<frameset cols="160,*">

<frame src="Страница_ с_линками.html"> <!--Код для нее в нижней таблице-->

<frameset rows="50%,50%">

<frame src= "Верхняя_страница_ фреймсета.html" name="Frame_A">

<frame src= "Нижняя_страница_ фреймсета.html" name="Frame_B">

</frameset>

</frameset>

</html>

Добавьте коды в Страница_с_линками

<HEAD>

<SCRIPT LANGUAGE= "JavaScript">

<!-- Begin
function loadFrames (frame1,page1, frame2,page2) {
eval("parent."+frame1+ ".location= '"+page1+"'");
eval("parent."+frame2 +".location= '"+page2+"'");
}
// End -->

</script>

</head>

<BODY>

<br>
Кликните по любому лику !
<br>
<br>

<a href= "javascript:loadFrames ('Frame_A', 'Link.htm', 'Frame_B', 'popdemo.htm')"> Загрузить страницы 1 и 2</a><br>
<br>
<a href= "javascript:loadFrames ('Frame_A', 'Cursor13.htm', 'Frame_B', 'Clock28.htm')"> Загрузить страницы 3 и 4</a><br>
<br>
<center>или ....<br>
<a href="Cтраница_ с_линками.html" target="_top"> Перейти на страницу с
описание скрипта без фреймов</a> </center>
<!--Белым цветом выделены страницы, на которые будет осуществляться переход-->
</BODY>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC74

Меню с переключением сразу двух страниц
(фреймы!)

Выберите пункт меню!

Перейти на страницу с описанием скрипта без фрэймов

Создайте страницу с предложенным кодом (стартовая страница)

<html>

<head>

<title>Название Вашего сайта</title>

</head>

<frameset cols="229,*">

<frame src="Страница_с _меню.htm"> <!--Страница, на которой находится меню - код для нее в нижней таблице-->

<frameset rows="50%,50%">

<frame src="Верхняя_страница_ фреймсета.html" name="Frame_A">

<frame src="Нижняя_страница_ фреймсета.html" name="Frame_B">

</frameset>

</frameset>

</html>

Добавьте коды в Страница_с_меню.htm

<head>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

function checkMenu(param) {
if (param != "'','','',''")
eval('loadFrames(' + param + ')');
}
function loadFrames(frame1, page1,frame2,page2) {
eval("parent."+frame1+". location='"+page1+"'");
eval("parent."+frame2+". location='"+page2+"'");
}
// End -->

</script>

</head>

<body>

<br>
Выберите пункт меню!
<br>
<br>

<form>
<select name=sitemenu onChange="checkMenu(this. options[this.selectedIndex]. value)">
<option value="'','','',''"> Выберите пункт меню:</option>
<option value= "'Frame_A','Link.htm', 'Frame_B','Cursor13.htm'"> Загрузить
1 и 3 страницы</option>
<option value= "'Frame_A','popdemo.htm', 'Frame_B','Clock28.htm'"> Загрузить
2 и 4 страницы</option>
</select>
</form>

<a href="Страница_ с_меню.htm" target="_top">Перейти на страницу с описанием скрипта без фреймов</a>

<!--Белым цветом отмечены страницы, на которые будет осуществляться переход-->
</body>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы


RC76a

Мой сайт
здесь!

Мой сайт
здесь!

Мой сайт
здесь!

Мой сайт
здесь!


Пожалуйста, подождите 5 секунд для загрузки страницы
такой-то....
Внимание! Редирект зациклен сам на себя!
Просто закройте это окно.

Загрузка...


Remote Control

Дистанционное меню

JavaScript Tutorials

Web building tutorials

Free JavaScripts

Free Java applets

FrontPage Tutorials

Web Graphics

Back to script

Деммонстрационный вариант. Все ссылки отключены


Счет 0


No TITLE

 МАРИО 2

СЧЕТ:

ВРЕМЯ:


security10test

Впечатайте имя и пароль с любыми знаками (#%^&*()!"№;:?* и так далее) и посмотрите на адресную строку. Теперь адрес страницы с учетом Вашего Login и к тому же закодирован.

Nickname:
Password:
Не копируйте код из источника! Он не будет работать - это только DEMO!


Midi Player

файл COSMOS.mid файл A_znaesh.mid файл 104.mid


SUB FRAME 2

 Движение..2,4,6,8XXXXПулемет..ZXXXXРакеты..X


SUB FRAME 2

Влево/Вправо....4/6 (клавиши)   Прыжок Z (клавиша)


New Page 1

Страница с правилами регистрации
для получения пароля доступа,
и т.д.


Test 1

Обратите внимание на Status Bar (строку статуса)


test2

На этой странице Вы можете оставаться не более 1 минуты 30 секунд!

По истечении этого времени браузер автоматически перейдет на страницу http://javashelp.cjb.net

Следить за оставшимся временем Вы можете по секундомеру, расположенному в статусной строке.

Где настроить время и адрес перехода см. на основной странице.


test3

Это окно изначально было настроено появляться с размерами 300х300. Так бы и случилось, но помещенная в это окно страница содержит скрипт который не обращая внимания на пользовательские установки расширяет окно во весь экран. При этом, как Вы наверное заметили, окно не развернуто, а именно расширено.

Это очень удобно в случаях, когда Ваша страница спроектирована не совсем идеально и некоторые элементы попросту остаются за пределами видимости если окно браузера не развернуто во весь экран. В особенности если запрещен скроллинг для некоторых элементов, что нередко случается на страницах с фреймами. Именно здесь скрипт оказывается незаменимым, расширяя окно со страницей и предъявляя посетителю все ее достоинства (недостатки?) Посетитель конечно может вновь уменьшить размеры окна, скрипт этого не запрещает, но Вы, по крайней мере, будете уверены, что все рисунки ссылки и кнопки попали в его поле зрения и при необходимости он к ним всегда сможет вернуться.


JavaScript Title

javasHelp.cjb.net

JavaScript-коды!
http://JavasHelp.cjb.net
ВСЕ очень просто!
Cкопировать и сохранить
Java-Scripts! Заходите и убедитесь.


Топик Дня

Did you know that...
Show tips at startup


window4

Складываемое левое окно во фрэймах
(при двойном клике по левому окну)
(внимательно смотрите какие коды куда помещать)

Содержимое этой таблицы поместите между <HEAD> и </HEAD> СТРАНИЦЫ Frames Page HTM, то есть страницы с "framesets"

<script language="JavaScript1.2">

/*
Collapsible Left Frame Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
*/

defaultconf=''
function expandf(){
if (document.all){
if (document.body.cols!="10,*")
document.body.cols="10,*"
else
document.body.cols=defaultconf
}
}

</script>

Содержимое этой таблицы поместите между <HEAD> и </HEAD> Cкладываемой страницы

<script language="JavaScript1.2">

/*
Collapsible Left Frame Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more free DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

if (document.all)
window.parent. defaultconf= window.parent. document.body.cols
function expando(){
window.parent.expandf()
}
document.ondblclick=expando
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window8a

или это может быть
линк на "Жуткую" страницу

Кошмары наяву

Тогда для линка запись в <BODY>
должна выглядеть так:

Содержимое этой таблицы поместите между <BODY> и </BODY>

<a href="horror.htm" onMouseOver="shake(2)">Кошмары наяву</a>

Полный код см. в основном окне.


Window15

Анимированный переход на страницу 3
УСКОЛЬЗАНИЕ

или
На другую страницу

Кнопка, в отличие от обычного линка, работает некорректно с Netscape

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Daniel Clarke (daniel.clarke@ic.ac.uk) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveWin() {
for (var i = 1; i < 1001; i++)
window.moveBy(1, 1);
window.moveBy(-1000, -1000);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<form>
<input type=button value="На Главную страницу" onClick="moveWin();window.location.href='home.htm';">
</form>
или<BR>
<a href="another.htm"; onClick="moveWin()">На другую страницу</a>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.


window16a

Я сумасшедшее окно!!!

Скорее жмите CTRL-ALT-DEL !!!


Window17a

Передвигаемое окно

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Aaron Clinger (aaron@newtheory.net) -->
<!-- Web Site: http://www.newtheory.net -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function moveWindowLeft() {
window.moveBy(-15, 0);
window.moveBy(0, 0);
}
function moveWindowRight() {
window.moveBy(15, 0);
window.moveBy(0, 0);
}
function moveWindowUp() {
window.moveBy(0, 0);
window.moveBy(0, -15);
}
function moveWindowDown() {
window.moveBy(0, 0);
window.moveBy(0, 15);
}
// End -->
</script>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<center>
<form>
<table>
<tr>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrow.gif'); height: 22; width: 22" onClick="moveWindowUp();">
</td>
<td>
</td>
</tr>
<tr>
<td>
<input type=button value="" style="background-image: url('arrowl.gif'); width: 22; height: 22" onClick="moveWindowLeft();">
</td>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrowr.gif'); width: 22; height: 22" onClick="moveWindowRight();">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type=button value="" style="background-image: url('arrowd.gif'); height: 22; width: 22" onClick="moveWindowDown();">
</td>
<td>
</td>
</tr>
</table>
</form>
</center>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы.

Рисунки, использованные в примере: arrows.zip


window57a

Трясучка браузера 3
 Понажимайте кнопку REFRESH

Содержимое этой таблицы поместите между <HEAD> и </HEAD>

</style>
<style>
#quakenotice_ie{
font:normal 14px Arial;
position:absolute;
width:300px;
height:55px;
border:2px solid black;
background-color:lightyellow;
visibility:hidden;
}
</style>

Содержимое этой таблицы поместите между <BODY> и </BODY>

<body onLoad="earthquake()">

<layer id="quakenotice_ns" width=300 height=55 bgColor=lightyellow visibility=hide></layer>
<script>

/*
EarthQuake script- © Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions, 100's more DHTML scripts, and Terms Of Use,
Visit http://dynamicdrive.com
*/

//configure the likelihood that an earthquake will occur (100% means always)
var chance_of_occurence="50%"

/////do NOT edit below this line/////////////

//variable used to store the equivalency of the 10 rector scales (in the form of 1, 3, 6...etc)
var rectorscale=new Array(1,3,6,9,12,15,18,21,24,27)
chance_of_occurence=parseInt(chance_of_occurence)

function earthquake(){
//randomly assign a number from 1 to 10 to variable rectorindex
rectorindex=Math.floor(Math.random()*10)
//randomly assign one of element rectorscale into variable rector
rector=rectorscale[rectorindex]
if ((document.all||document.layers)&&Math.floor(Math.random()*100)<=chance_of_occurence) {
//shake the browser's screen according to the random rector scale!
for (i=0;i,i<20;i++){
window.moveBy(0,rector)
window.moveBy(rector,0)
window.moveBy(0,-rector)
window.moveBy(-rector,0)
}
// show quake message
quakealert()
}
}

if (document.all)
document.write('<div id="quakenotice_ie"></div>')

function quakealert(){
var quakemessage='An earthquake of magnitude <b>'+eval(rectorindex+1)+'</b> has just occured! Please stay calm...everything\'s fine now.'

if (document.all){
quakemsg_ie=document.all.quakenotice_ie
quakemsg_ie.innerHTML=quakemessage
//position quake message in center of screen
quakemsg_ie.style.left=document.body.scrollLeft+document.body.clientWidth/2-quakemsg_ie.offsetWidth/2
quakemsg_ie.style.top=document.body.scrollTop+document.body.clientHeight/2-quakemsg_ie.offsetHeight/2
quakemsg_ie.style.visibility="visible"
setTimeout("quakemsg_ie.style.visibility='hidden'",5000)
}
else if (document.layers){
quakemsg_ns=document.quakenotice_ns
quakemsg_ns.document.write(quakemessage)
quakemsg_ns.document.close()
quakemsg_ns.left=pageXOffset+window.innerWidth/2-quakemsg_ns.document.width/2
quakemsg_ns.top=pageYOffset+window.innerHeight/2-quakemsg_ns.document.height/2
quakemsg_ns.visibility="show"
setTimeout("quakemsg_ns.visibility='hide'",5000)
}
}
</script>

Note. Для выделения используйте Ctrl+Click, для копирования Ctrl+C или меню после клика правой кнопкой мыши. Скопированные скрипты сначала поместите в любой текстовый редактор, например, в Блокнот, и только затем, скопировав вновь, вставляйте в код страницы. В противном случае вместо полноценного скрипта Вы будете получать <pre><code>, то есть код, написанный примерно в таком виде "&lt;pre&gt;&lt;code&gt,"