![]() | Софт для Windows | ![]() | Программы для КПК, PDA, PocketPC, мобильный софт | ![]() | Софт для Линукс, Unix, Linux |
|
|
JavaScript спешит на помощь - 3
Интернет | 09:57 26 ноября
После выхода второй статьи - Java Script спешит на помощь - 2, на мой почтовый ящик обрушился целый шквал писем с вопросами. После разбора всех вопросов оказалось, что включение фрагментов кода на JS в документ и динамическое создание страниц, конечно очень хорошо, но вебмастерам хочется еще. Ну что ж спрос порождает предложение. Чем же еще может порадовать старина JS сайтостроителей? Внешний код подключаем, создаем динамические страницы, красота. Ну что еще желать? А как насчет интерактивности? Что? Нет, чат на JS устраивать не будем. Сегодня мы поговорим о динамическом изменении (!) кода. В последние время в сети все чаще и чаще появляются некие калькуляторы. Например, многие хостинговые компании предлагает вам калькулятор для расчета стоимости услуг размещения сайта. Все что вам необходимо - выбрать тариф, дополнительные услуги, ввести продолжительность хостинга и нажать кнопку "Рассчитать". После чего вы моментально получаете результат прямо на странице сайта хостера. Причем сама страница не обновляется! Это простой пример динамического изменения кода. Ладно, хватит разговоров, давайте перейдем непосредственно к примерам. Для начала самый простой. Создайте новый HTML файл и пропишите в нем следующий код:
<FORM name=test_form method=post>
<SCRIPT language=javascript> <DIV id=resultat></DIV> Теперь сохраните файл и откройте его браузером. Вы увидите кнопку с надписью "Нажми на меня". Нажимайте, не бойтесь, баннеры не появятся ?. Что мы видим? Код изменился. Под кнопкой появилась надпись "Спасибо!". Содержание страницы изменилось. Но если вы загляните в файл с кодом, он неизменен. Как такое возможно? Все очень просто. Дело в том, что JS является client-side технологией. Т.е. он исполняется на машине посетителя, а не на сервере. А теперь давайте разберемся с кодом. Итак, с начала ничего нового не видим: форма с кнопкой, при клике на которую исполняется функция test_change. Сама функция содержит одну - единую строчку: document.all.resultat.innerHTML="Спасибо!"; Это и есть команда JS на вставку. Все что остается добавить это место, куда делать вставку. Место мы обозначили идентификатором "resultat". Идентификатор вы можете изменять вольно по своему усмотрению. Теперь создаем новый слой и связываем его с идентификатором "resultat": <DIV id=resultat></DIV> Ну как, неплохо? Сразу хочу вас обрадовать, динамически можно вставлять не только простой текст, но и HTML теги! А теперь рассмотрим более сложный пример. Создадим калькулятор, который по веденным данным подсчитает вашу месячную зарплату ?. Итак создайте новый HTML файл и наберите следующее:
<TABLE>
<TR><TD>Оплата, /час: <TD><INPUT size=10 name=Oplata></td></tr> <TR><TD colSpan=2> <INPUT onclick="getmoney (this.form.Oplata.value,this.form.Chasov.value,this.form.Dney.value)" type=button value="Подсчитать"></td></tr>
</FORM>
<SCRIPT language=javascript> <DIV id=resultat></DIV> Сохраняем файл и открываем его браузером. Что мы видим? Три поля для ввода и кнопку с надписью "Подсчитать", при клике на которую запускается функция "getmoney". Она получает введенные значения, вычисляет месячную зарплату и выводит ее в браузере. Введите значения и нажмите кнопку "Подсчитать". Обратите внимание на значение месячной зарплаты. А теперь измените одно или несколько введенных значений и снова нажмите кнопку "Подсчитать". Как вы видите новое значение заменило старое. Очень удобно. А можно, например, выводить новое значение под старым, для этого нужно изменить строчку document.all.resultat.innerHTML="За месяц Вы заработаете "+month+" "; на document.all.resultat.innerHTML=document.all.resultat.innerHTML+"За месяц Вы заработаете "+month+" <br>"; Теперь новые данные будут прибавляться к более ранним, и все они вместе будут выведены на экран. Обратите внимание на добавленный HTML тег <br> в конце кода. Это перевод строки. Вот мы и протестировали использование HTML кода в динамически изменяемых страницах. Конечно, калькуляторы нужны далеко не каждому сайту. И правильно, не стоит на одном зацикливаться. Подключите свое воображение. Возможность динамически добавлять HTML код открывает воистину огромный потенциал для разработчика. Конечно, меню на таком коде вряд ли сможет превзойти выпадающее меню JS - кликать надоест. А вот для экономии места и для организации пояснений к разным элементам сайта такие возможности JS идеально подходят. Простой пример - страница контактов на сайте компании. Там, как правило, размещена контактная информация компании, дистрибьюторов, представителей, разработчика сайта. Куча адресов, телефонов и e-mail&lsquote;ов. Так и заблудиться можно. А вот если разместить ссылки "Компания", "Дистрибьюторы", "Представители", "Разработчик", посетитель быстро сориентируется и выберет нужную ссылку. Осталось только написать JS код, который при клике на ссылку выводит под ссылкой соответствующую информацию и убирал ранее выведеную. Многие могут возразить, мол можно сделать просто ссылку на нужный файл и не нужно динамическое изменение текущего. Но, во-первых, возможно посетитель заинтересован не одной ссылкой - ему придется возвращаться, а во-вторых, намного приятнее кликнуть и моментально (!!!) увидеть нужную информацию (загруженную вместе со страницей), чем ожидать загрузку очередной страницы. Давайте я дам простой примерчик, а разработка подобного кода останется вам как домашнее задание для закрепления материала. Итак, код: Советы дилетанта или как сделать полноценный корпоративный сайт По работе я занимаюсь достаточно специфической темой в области строительства, которая большинству нормальных людей мягко говоря малоинтересна. Достаточно долго я размышлял о необходимости создать добротный сайт, посвященный профессиональной сфере деятельности, который был бы интересен специалистам моей области и являлся надежным подспорьем в рабочей жизни Что должен знать о Яндексе каждый. Часть 1 Название самой популярной поисковой системы по русскоязычному Интернету, т.е. Яндекса, означает Языковой index, а также имеет несколько других схожих трактовок, общий смысл которых выражается слоганом Найдется все. Прогрессирующая конкуренция среди поисковых машин заставляет более предвзято относиться к подобным обещаниям, т.к. мало найти все, надо уметь найти самой главное Новейшая обсервация российских счетчиков: формация SpyLOG Кто когда к кому пришел, Кто чего нарушил Все известно хорошо Из известной песни Вы когда-нибудь лечили зубы? Нет, не в бесплатной городской поликлинике 10, где длинные очереди и инвалидные бор-машины
<FORM name=test_form method=post>
<SCRIPT language=javascript> <DIV id=resultat></DIV> При открытии файла, содержащего вышеуказанный код, в окне браузера можно будет увидеть две кнопки: "Включить" и "Выключить". При клике на первую из них функции "test_on_off" передается значение 1, а при клике на вторую - 0. В зависимости от полученного значения функция "test_on_off" либо выводит таблицу, либо убирает ее. Это лишь простой пример. Его можно немного улучшить, убрав одну кнопку и подправив код:
<FORM name=test_form method=post>
<SCRIPT language=javascript> <DIV id=resultat></DIV> Теперь кнопка работает как выключатель: кликнул - включил, еще раз кликнул - выключил, снова кликнул - опять включил... Если кто чего недопонимает - смело пишите. Ну, а если кому облом код набивать, тоже пишите, вышлю. В общем теперь вы имеете немалый арсенал средств для сайтостроителя, так что удачной работы! Источник: http://www.ru-coding.com/ |
Последние новости Компания Retina-X Studios представила, как утверждается, первый инструмент для мониторинга активности пользователей планшетов, поддерживающий различные операционные системы...
полный текст | 09:15 20 мая
ИТ в госсекторе: Путин установил правила игры
Владимир Путин в роли председателя правительства успел подписать постановление, описывающее процедуру согласования планов информатизации федерал
полный текст | 03:02 20 мая
Ракета-носитель Falcon 9 на стартовой площадке. Кадр NASA, переданный ©AP
table.vrezka ...
полный текст | 00:50 20 мая
Физики завершают подготовительные работы по проекту MAJORANA, направленному на проверку гипотезы о майорановской природе нейтрино...
полный текст | 14:33 19 мая
Исследователи обнаружили, что матричная РНК модифицирована ничуть не меньше, чем ДНК, причём модификации касаются важнейших генов, участвующих в развитии самых разных заболеваний, от рака до шизофрени
полный текст | 02:03 19 мая
Блог о софтеТехническая поддержка скрипта осуществляется силами форума поддержки, а также по E-Mail...
полный текст | 23:00 22 января
Уважаемые вебмастера хотим для вас сделать небольшое дополнение...
полный текст | 23:00 22 января
Совместно с нашими партнерами www.dletemplates.com мы рады предложить вам также высококачественные шаблоны, специально подготовленные для использования под управлением DataLife Engine...
полный текст | 23:00 22 января
Добро пожаловать на демонстрационную страницу движка DataLife Engine. DataLife Engine это многопользовательский новостной движок, обладающий большими функциональными возможностями...
полный текст | 23:00 22 января
|
|
Все программы на сайте являются бесплатными (freeware) или демонстрационными (shareware)
и распространяются свободно в сети интернет. Дистрибутивы софта, описания и скриншоты программ
взяты с сайтов разработчиков. Администрация сайта не несет ответственности за прямой,
непрямой или любой другой ущерб, полученный в результате использования материалов сайта SoftPlaneta.ru.
При использовании материалов сайта прямая ссылка на сайт
www.SoftPlaneta.ru обязательна.
|