Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Drop-Down (выпадающее) меню (вертикальное).Содержание книги
Поиск на нашем сайте Еще одна реализация выпадающего меню. Пример аналогичен предущему, только основное отличие заключается в положении меню. В данном примере показано реализация вертикального drop-меню. Компоненты показаны на рисунке ниже.
Рисунок 19 – элементы вертикального drop-down меню
Код программы: <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Выпадающее меню</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> <script type="text/javascript"> $(document).ready(function(){ // добавить обработчик события hover $('.topmenu ul li').hover( function() {
$(this).find('ul:first').stop(true, true);// останавливаем всю текущую анимацию // находим элемент ul и вызываем анимацию slideDown $(this).find('ul:first').slideDown(); }, function() { $(this).find('ul:first').slideUp('fast'); } ); // всем элементам меню с вложенностью добавить символ » $('.topmenu li:has(ul)').find('a:first').append('»'); }); </script> <!--стили, шрифты и другие настройки оформления--> <style type="text/css"> body { margin: 0 auto; padding: 0; font: 75%/120% Arial, Helvetica, sans-serif; } a:focus { outline: none; } .topmenu { float:left; } .topmenu ul,.topmenu li{ list-style:none; margin: 0; padding: 0; } .topmenu ul li { position:relative; width:140px; } .topmenu ul li a{ display:block; padding:10px 10px 10px 30px; background:url('images/window.gif') no-repeat 10px center; color: #0000FF; text-decoration: none; border:1px solid #999; margin:1px; } .topmenu ul li a:HOVER{ color: #FF0000; background-color:#E6E6FA; }
.topmenu ul li ul { display: none; position:absolute; top:0px; left:140px; } </style> </head> <!--элементы меню--> <body>
<div class="topmenu"> <ul> <li><a href="#" title="Меню 1">Меню 1</a> <ul> <li><a href="#" title="Элемент 1.1">Элемент 1.1</a></li> <li><a href="#" title="Элемент 1.2">Элемент 1.2</a></li> <li><a href="#" title="Элемент 1.3">Элемент 1.3</a> <ul> <li><a href="#" title="Элемент 1.1.1">Элемент 1.1.1</a></li> <li><a href="#" title="Элемент 1.1.2">Элемент 1.1.2</a></li> <li><a href="#" title="Элемент 1.1.3">Элемент 1.1.3</a></li> </ul>
</li> </ul> </li> <li><a href="#" title="Меню 2">Меню 2</a> <ul> <li><a href="#" title="Элемент 2.1">Элемент 2.1</a></li> <li><a href="#" title="Элемент 2.2">Элемент 2.2</a></li> <li><a href="#" title="Элемент 2.3">Элемент 2.3</a></li> </ul> </li> <li><a href="#" title="Меню 3">Меню 3</a> <ul> <li><a href="#" title="Элемент 3.1">Элемент 3.1</a></li> <li><a href="#" title="Элемент 3.2">Элемент 3.2</a></li> <li><a href="#" title="Элемент 3.3">Элемент 3.3</a></li> </ul> </li> </ul> </div> </body> </html>
Результат:
Рисунок 20 – демонстрация работы меню Слайд-меню. В данном примере показана реализация слайд-меню, которое раскрывается как с верхней, так и с нижней стороны страницы. Пример аналогичен примеру со слайд-панелью (пример 2). После клика по ссылке с классом “btn-slide”, выезжает панель с меню. Элементы меню показаны на рисунке 21.
Рисунок 21 – элементы меню
Код программы: <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Слайд-меню.</title> <!--Удаленное подключение библиотеки jquery--> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script> <script type="text/javascript"> // когда страница загрузится $(document).ready(function(){ // вешаем обработчик на ссылку с классом "btn-slide" (верхнее меню) $(".btn-slide").click(function(){ // выдвигаем/прячем панель с id = panel1 $("#panel1").slideToggle("slow"); // изменяем класс самой ссылки $(this).toggleClass("active"); // и ничего не делаем дальше (дабы не было перехода по ссылки) return false; });
// вешаем обработчик на ссылку с классом "btn-slide2" (нижнее меню) $(".btn-slide2").click(function(){ // выдвигаем/прячем панель с id = panel2 $("#panel2").slideToggle("slow"); // изменяем класс самой ссылки $(this).toggleClass("active2"); // и ничего не делаем дальше (дабы не было перехода по ссылки) return false; }); }); </script> <!--оформление панелей, подгружаемые изображения, стили текста, шрифты и т.д. --> <style type="text/css"> body { margin: 0 auto; padding: 0; width: 520px; font: 75%/120% Arial, Helvetica, sans-serif; } a:focus { outline: none; } .panel { background: #ccc; height: 75px; display: none; } .panel ul { margin: 0; padding: 0 15px; float:left; list-style:none; border-right: 1px solid #000; } .panel ul li{ margin: 6px; padding: 0; }
.panel ul li a{ font-weight:bold; color: #333; } .slide { margin: 0; padding: 0; border-top: solid 4px #aaa; background: url(images/btn-slide.gif) no-repeat center top; } .slide2 { margin: 0; padding: 0; border-bottom: solid 4px #aaa; background: url(images/btn-slide2.gif) no-repeat center top; } .btn-slide,.btn-slide2 { background: url(images/white-arrow.gif) no-repeat right -50px; text-align: center; width: 144px; height: 31px; padding: 10px 10px 0 0; margin: 0 auto; display: block; font: bold 120%/100% Arial, Helvetica, sans-serif; color: #fff; text-decoration: none; } .btn-slide2 { background: url(images/white-arrow.gif) no-repeat right 15px; height: 25px; padding: 15px 10px 0 0; } .active { background-position: right 12px; } .active2 { background-position: right -45px; } .bottom { position:absolute; bottom:0px; margin: 0 auto; padding: 0; width: 520px; } </style> </head>
<body> <!--Содержимое первой (верхней) слайд-панели. --> <div class="panel" id="panel1"> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> </div>
<p class="slide"><a href="#" class="btn-slide">Меню</a></p> <!--Содержимое второй (нижней) слайд-панели. --> <div class="bottom"> <p class="slide2"><a href="#" class="btn-slide2">Меню</a></p>
<div class="panel" id="panel2"> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> <ul> <li><a href="#" title="Элемент 1">Элемент 1</a></li> <li><a href="#" title="Элемент 2">Элемент 2</a></li> <li><a href="#" title="Элемент 3">Элемент 3</a></li> </ul> </div> </div> </body> </html>
Результат: Результат работы кода представлен на рисунке 22. По нажатию кнопки «меню» на верхней и / или нижней панели происходит раскрытие самой панели и демонстрация содержащейся в ней элементов меню:
Рисунок 22 – демонстрация работы меню Кликабельные блоки. Этот пример демонстрирует как сделать кликабельным блок с текстом, а не только ссылку. Каждый блок имеет описание соответственной WEB-страницы. По нажатию на блок происходит переход по URL. Создадим список <ul> с классом class=”pane-list” и мы хотим сделать элементы <li> кликабельными. Для начала привяжемся к событию click для элемента “.pane-list li”; когда пользователь будет кликать по элементу списка, данная функция произведет поиск тэга <a> и сделает редирект на страницу указанную в атрибуте href.
Рисунок 23 – описание элементов Код программы: <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>jQuery. Block clickable</title> <!--удаленное подключение библиотеки jquery--> <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
<script type="text/javascript"> $(document).ready(function(){ //привязка к событию click для элемента “.pane-list li” $(".pane-list li").click(function(){ //поиск тэга <a> и редирект на страницу указанную в атрибуте href window.location=$(this).find("a").attr("href");return false; }); }); </script> <!--здесь задается оформление блоков--> <style type="text/css"> body { margin: 10px auto; width: 470px; } a { color: #333300; text-decoration: none; } a:visited { color: #333300; } a:hover { color: #333300; text-decoration: underline; } h3 { margin: 0; padding: 0 0.3em; } p { margin: 0; padding: 0 0.5em; } .pane-list { margin: 0; padding: 0; list-style: none; } .pane-list li { background: #ecfad7; padding: 10px 20px 10px; border-top: solid 1px #c4df9b; cursor: pointer; } .pane-list li:hover { background: #f6ffe9; } </style> </head> <!--здесь задается текст, отображаемы в каждом из блоков, а также ссылки на WEB-страницы--> <body> <ul class="pane-list"> <li> <h3>Komsomolsk-on-Amur State Technical University</h3> <p>...учитесь с нами, учитесь у нас... <a href="http://www.knastu.ru/"></p> </li> <li> <h3><a href="http://www.webdesignerwall.com">Web Designer Wall</a></h3> <p>A wall of design ideas, web trends, and tutorials</p> </li> <li> <h3>Best Web Gallery</h3> <p>Featuring the best <a href="http://bestwebgallery.com">CSS and Flash web sites</a></p> </li> <li> <h3>N.Design Studio</h3> <p><a href="http://www.ndesign-studio.com">Blog</a> and design portfolio of Nick La</p> </li> </ul> </body> </html>
Результат: Результат работы кода показан на рисунке 24. После нажатия на определенный блок, происходит переход на соответствующую WEB-страницу.
Рисунок 24 – демонстрация работы
AJAX. jQuery(..).load
Данный метод может принимать следующие параметры: · url - url запрашиваемой страницы · data - передаваемые данные (необязательный параметр) · callback - функция которой будет скормлен результат (необязательный параметр) Код программы: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").load("demo_test.txt"); }); }); </script> </head> <body>
<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> <button>Get External Content</button>
</body> </html>
Результат: До нажатия кнопки:
Рисунок 25 – демонстрация работы После нажатия кнопки:
Рисунок 26 – демонстрация работы
AJAX. jQuery.get Загружает страницу, используя для передачи данных GET запрос. Может принимать следующие параметры: 1. url запрашиваемой страницы 2. передаваемые данные (необязательный параметр) 3. callback функция, которой будет скормлен результат (необязательный параметр) 4. тип данных возвращаемых в callback функцию (xml, html, script, json, text, _default)
Код программы: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.get("demo_test.asp",function(data,status){ alert("Data: " + data + "\nStatus: " + status); }); }); }); </script> </head> <body> <button>Send an HTTP GET request to a page and get the result back</button> </body> </html> Результат:
Рисунок 27 – демонстрация работы
Рисунок 28 – демонстрация работы
AJAX. jQuery.post Данный метод аналогичен предыдущему, лишь передаваемые данные уйдут на сервер посредством POST’а. Может принимать следующие параметры: 1. url запрашиваемой страницы 2. передаваемые данные (необязательный параметр) 3. callback функция, которой будет скормлен результат (необязательный параметр) 4. тип данных возвращаемых в callback функцию (xml, html, script, json, text, _default) Код программы: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.post("demo_test_post.asp", { name:"Donald Duck", city:"Duckburg" }, function(data,status){ alert("Data: " + data + "\nStatus: " + status); }); }); }); </script> </head> <body>
<button>Send an HTTP POST request to a page and get the result back</button>
</body> </html> Результат:
Рисунок 29 – демонстрация работы
Рисунок 30 – демонстрация работы
AJAX. jQuery.ajax Это самый основной метод, а все последующие методы лишь обертки для метода jQuery.ajax. У данного метода лишь один входной параметр – объект включающий в себя все настройки (выделены параметры которые стоит запомнить): § async – асинхронность запроса, по умолчанию true § cache – вкл/выкл кэширование данных браузером, по умолчанию true § contentType – по умолчанию “application/x-www-form-urlencoded” § data – передаваемые данные – строка иль объект § dataFilter – фильтр для входных данных § dataType – тип данных возвращаемых в callback функцию (xml, html, script, json, text, _default) § global – тригер – отвечает за использование глобальных AJAX Event’ов, по умолчанию true § ifModified – тригер – проверяет были ли изменения в ответе сервера, дабы не слать еще запрос, по умолчанию false § jsonp – переустановить имя callback функции для работы с JSONP (по умолчанию генерируется на лету) § processData – по умолчанию отправляемые данный заворачиваются в объект, и отправляются как “application/x-www-form-urlencoded”, если надо иначе – отключаем § scriptCharset – кодировочка – актуально для JSONP и подгрузки JavaScript’ов § timeout – время таймаут в миллисекундах § type – GET либо POST § url – url запрашиваемой страницы Локальные AJAX Event’ы: § beforeSend – срабатывает перед отправкой запроса § error – если произошла ошибка § success – если ошибок не возникло § complete – срабатывает по окончанию запроса Для организации HTTP авторизации: § username – логин § password – пароль
Код программы: <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.ajax({url:"demo_test.txt",success:function(result){ $("#div1").html(result); }}); }); }); </script> </head> <body>
<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> <button>Get External Content</button>
</body> </html> Результат:
Рисунок 31 – демонстрация работы
Рисунок 32 – демонстрация работы
Для работы с библиотекой JQuery, ее необходимо проинициализировать. Это можно осуществить двумя способами. А) Предварительно скачать библиотеку с официального сайта http://jquery.com и сохранив ее на компьютер. Затем в коде указать путь до файла библиотеки. <script type='text/javascript' src='jquery.js'></script> Б) Библиотеку можно подключить удаленно. С официального сайта: <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> С хостинга JS-библиотек Google: <script src="http://ajax.googleapis.com/ajax/libs/jquery/ 1 /jquery.min.js"></script>
|
|||||
|
Последнее изменение этой страницы: 2016-12-28; просмотров: 381; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.009 с.) |