Освойте искусство веб-разработки с помощью jQuery. В книге раскрываются наиболее эффективные приемы работы с библиотекой jQuery, владение которыми позволяет значительно упростить процесс разработки.
Author(s): Адам Фримен
Series: Expert's voice
Publisher: Вильямс
Year: 2013
Language: Russian
Pages: 960
City: Москва
Tags: Библиотека;Компьютерная литература;HTML / CSS / JavaScript;jQuery;
Обложка......Page 1
Оглавление......Page 6
Содержание......Page 7
О техническом рецензенте......Page 20
Ждем ваших отзывов!......Page 21
Часть I. Подготовка к работе......Page 22
ГЛАВА 1. Подключение jQuery......Page 24
Структура книги......Page 25
Часть VI. Дополнительные возможности......Page 26
Листинги примеров......Page 27
Библиoтeкa jQueгy......Page 29
HTML-редактор......Page 30
Node.js......Page 31
Резюме......Page 33
Базовый HTML-документ......Page 34
Структура элементов HTML......Page 36
Атрибуты id и class......Page 37
Содержимое элементов......Page 38
Структура документа......Page 39
Элементы метаданных......Page 40
Элементы содержимого......Page 42
Отношения “родители-дети”......Page 48
“Сестринские” отношения......Page 49
Использование DOM......Page 50
Изменение DOM......Page 53
Обработка событий......Page 54
Резюме......Page 57
Знакомство с CSS......Page 58
Встроенные стили......Page 60
Внедренные стили......Page 61
Внешние таблицы стилей......Page 64
Селекторы атрибутов......Page 66
Иерархические селекторы......Page 68
Селекторы псевдоклассов и псевдоэлементов......Page 69
Комбинированные и инверсные селекторы......Page 71
Каскадирование стилей......Page 72
Что такое каскадирование стилей......Page 73
Настройка старшинства важных стилей......Page 74
Определение старшинства стилей на основе их специфичности......Page 75
Работа с цветами в CSS......Page 78
Единицы измерения длины в CSS......Page 80
Использование сокращенных свойств и специальных значений......Page 84
Резюме......Page 86
Знакомство с JavaScript......Page 88
Использование инструкций......Page 89
Определение и использование функций......Page 90
Определение функций с параметрами......Page 91
Использование переменных и типов......Page 92
Использование примитивных типов......Page 93
Создание объектов......Page 95
Работа с объектами......Page 97
Использование условных операторов......Page 101
Логические операции равенства и тождественности......Page 102
Явное преобразование типов......Page 104
Работа с массивами......Page 107
Считывание и изменение содержимого массива......Page 108
Перечислениесодержимогомассива......Page 109
Обработка ошибок......Page 110
Значения undefined и null......Page 112
Проверка того, что переменная или свойство имеет значение null или undefined......Page 113
Различия между null и undefined......Page 114
Резюме......Page 115
Часть II. Работа с jQuery......Page 116
ГЛАВА 5. Основы jQuery......Page 118
Установка библиотеки jQuery......Page 119
Первый сценарий jQuery......Page 121
Функция $() библиотеки jQuery......Page 123
Последствия пропуска ключевого слова function при вызове метода ready()......Page 125
Задержка срабатывания события ready......Page 126
Выбор элементов......Page 127
Сужение области поиска с помощью контекста......Page 129
Определение селектора......Page 131
Определение контекста......Page 132
Работа с DOM-объектами......Page 133
Изменение нескольких элементов и создание цепочки вызовов методов......Page 137
Обработка событий......Page 139
Резюме......Page 140
ГЛАВА 6. Работа с набором выбранных элементов......Page 142
Расширение набора выбранных элементов......Page 143
Сужение набора выбранных элементов......Page 145
Сужение набора до элементов, индексы которых принадлежат к заданному диапазону......Page 146
Фильтрация элементов......Page 147
Сужение набора до элементов, имеющих определенных потомков......Page 150
Преобразование набора выбранных элементов......Page 151
Тестирование набора выбранных элементов......Page 152
Возврат к предыдущему состоянию измененного набора выбранных элементов......Page 153
Перемещение вниз по дереву......Page 155
Перемещение вверх по дереву......Page 158
Перемещение по дереву в пределах одного иерархического уровня......Page 164
Резюме......Page 167
ГЛАВА 7. DOM-манипуляции......Page 168
Создание элементов с использованием функции $()......Page 169
Создание новых элементов путем клонирования существующих......Page 171
Создание элементов средствами DOM API......Page 172
Вставка дочерних элементов и элементов-потомков......Page 173
Вставка содержимого в начало элементов......Page 175
Вставка одних и тех же элементов в разные места документа......Page 177
Вставка элементов с использованием функции......Page 179
Вставка родительских элементов и элементов-предков......Page 181
Обертывание набора элементов......Page 183
Обертывание содержимого элементов......Page 185
Вставка сестринских элементов......Page 186
Вставка сестринских элементов из объекта jQuery......Page 188
Вставка сестринских элементов с использованием функции......Page 189
Замена элементов......Page 190
Замена элементов с использованием функции......Page 191
Удалениеэлементов......Page 192
Удаление элементов с сохранением данных......Page 194
Метод unwrap()......Page 195
Резюме......Page 196
ГЛАВА 8. Манипуляции элементами......Page 198
Работа с атрибутами и свойствами......Page 199
Установка значений атрибутов......Page 201
Установка нескольких атрибутов......Page 202
Динамическая установка значений атрибутов......Page 203
Удаление атрибутов......Page 204
Работа с классами......Page 205
Добавление и удаление классов с помощью функции......Page 207
Переключение отдельного класса......Page 208
Переключение одновременно нескольких классов......Page 211
Переключение всех классов......Page 212
Одностороннее переключение классов......Page 213
Динамическое переключение классов......Page 214
Работа с CSS......Page 215
Установка одновременно нескольких свойств CSS......Page 216
Установка свойств с помощью функции......Page 217
Использование специализированных методов для работы со свойствами CSS......Page 218
Изменение содержимого элементов......Page 221
Изменение содержимого элементов с помощью функции......Page 222
Работа с элементами формы......Page 223
Изменение значений элементов формы с помощью функции......Page 224
Связывание данных с элементами......Page 226
Работа с атрибутами данных HTML5......Page 227
Резюме......Page 228
Обработка событий......Page 230
Регистрация функции для обработки нескольких типов событий......Page 234
Передача данных обработчику событий......Page 235
Отмена поведения браузера по умолчанию......Page 236
Удаление обработчиков событий......Page 237
Установка разового обработчика событий......Page 239
Установка обработчиков событий с помощью метода live()......Page 240
Управление распространением “живых” событий по дереву узлов DOM......Page 242
Вызов обработчиков событий вручную......Page 243
Использование объекта Event......Page 244
Использование метода triggerHandler()......Page 246
Использование прямых методов для работы с событиями......Page 247
Использование прямых методов для работы с событиями мыши......Page 249
Резюме......Page 251
ГЛАВА 10. Использование эффектов jQuery......Page 254
Использование базовых эффектов......Page 255
Переключение видимости элементов......Page 258
Анимация видимости элементов......Page 259
Использование функций обратного вызова в эффектах......Page 261
Создание циклических эффектов......Page 263
Эффекты плавного изменения высоты элементов......Page 265
Эффекты плавного изменения прозрачности элементов......Page 266
Анимация прозрачности до определенного значения......Page 267
Создание пользовательских эффектов......Page 269
Использование абсолютных целевых значений свойств......Page 271
Использование относительных целевых значений свойств......Page 272
Создание очереди эффектов и управление ею......Page 273
Отображение элементов из очереди эффектов......Page 274
Остановка эффектов и очистка очереди......Page 276
Вставка задержки в очередь эффектов......Page 278
Вставка функций в очередь......Page 280
Включение и отключение анимационных эффектов......Page 281
Резюме......Page 282
Пересмотр примера документа......Page 284
Добавление дополнительных видов цветочной продукции......Page 286
Добавление кнопок для прокрутки изображений......Page 288
Добавление кода для кнопки отправки формы......Page 290
Реализация обработчиков событий для кнопок прокрутки изображений......Page 292
Определение общего объема заказа......Page 294
Отключение JavaScript......Page 297
Резюме......Page 298
Часть III. Работа с данными и Ajax......Page 300
ГЛАВА 12. Использование шаблонов данных......Page 302
Для чего нужны шаблоны......Page 303
Настройка библиотеки jQuery Templates......Page 304
Первый пример шаблона данных......Page 306
Определение данных......Page 307
Определение шаблона......Page 308
Применение шаблона......Page 309
Вычисление выражений......Page 312
Использование переменной $data......Page 313
Использование функции $() внутри шаблона......Page 315
Использование переменной $item......Page 316
Использование вложенных шаблонов......Page 317
Использование вложенных шаблонов с массивами......Page 319
Использование условных шаблонов......Page 322
Управление обработкой массивов......Page 325
Поэлементная обработка результата вычисления выражения......Page 327
Отключение HTML-кодирования......Page 328
Манипулирование шаблонами из обработчиков событий......Page 331
Изменение данных, используемых шаблоном......Page 334
Резюме......Page 336
ГЛАВА 13. Работа с формами......Page 338
Подготовка сервера Node.js к работе......Page 339
Повторение методов, связанных с обработкой событий формы......Page 342
Реагирование на изменение фокуса формы......Page 343
Реагирование на изменение значений формы......Page 345
Реагирование на отправку формы......Page 346
Проверка данных формы......Page 348
Использование встроенных проверок......Page 352
Изменение диагностических сообщений проверки......Page 362
Создание пользовательской проверки......Page 366
Форматирование выводимых сообщений об ошибках......Page 370
Использование отчета о проверке......Page 373
Резюме......Page 377
ГЛАВА 14. Использование Ajax (часть Q......Page 378
Использование прямых методов Ajax......Page 379
Выполнение GET-запросов Ajax......Page 380
Выполнение POST-запросов Ajax......Page 387
Указание ожидаемого типа данных......Page 395
Коварная ловушка при работе с Ajax......Page 396
Получение и выполнение сценариев......Page 398
Получение данных в формате JSON......Page 401
Использование подключаемого модуля Ajax Forms......Page 403
Резюме......Page 404
ГЛАВА 15. Использование Ajax (часть II)......Page 406
Создание простого Ajax-запроса средствами низкоуровневого API......Page 407
Объект jqXHR......Page 409
Задание URL-адреса запроса......Page 410
Создание POST-запроса......Page 411
Работа с событиями Ajax......Page 412
Обработка успешных запросов......Page 413
Обработка завершенных запросов......Page 415
Настройка параметров запросов перед их отправкой......Page 417
Задание нескольких обработчиков событий......Page 418
Настройка контекста для событий......Page 419
Использование глобальных событий Ajax......Page 420
Управление глобальными событиями......Page 422
Задание тайм-аутов и заголовков......Page 423
Отправка данных в формате JSON на сервер......Page 424
Создание синхронных запросов......Page 426
Игнорирование данных, оставшихся неизменными......Page 427
Обработка кода ответа......Page 428
Предварительная очистка ответных данных......Page 430
Управление преобразованием данных......Page 431
Определение параметров, используемых по умолчанию......Page 432
Фильтрация запросов......Page 433
Резюме......Page 435
Пересмотр переработанного варианта примера......Page 436
Обновление сценария для сервера Node.js......Page 439
Подготовка к работе с Ajax......Page 441
Вынесение информации о продукции в отдельный файл......Page 444
Добавление проверки данных формы......Page 447
Добавление дистанционной проверки......Page 452
Отправка данных формы с использованием Ajax......Page 454
Обработка ответа от сервера......Page 461
Добавление новой формы......Page 466
Выполнение Ajax-3aпpoca......Page 467
Обработка данных......Page 469
Резюме......Page 471
Часть IV. Использование библиотеки jQuery UI......Page 472
Выбор темы оформления......Page 474
Создание настраиваемого загрузочного архива библиотеки jQuery UI......Page 476
Установка версии библиотеки jQuery UI, предназначенной для разработки......Page 477
Подключение библиотеки jQuery UI к HTML-документу......Page 478
Использование библиотеки jQuery UI через сеть распространения содержимого......Page 479
Резюме......Page 480
ГЛАВА 18. Использование виджетов Button, Progress Bar и Slider......Page 482
Использование виджета Button......Page 483
Настройка виджета Button......Page 485
Использование значков jQuery UI на кнопках......Page 487
Использование методов виджета Button......Page 489
Использование событий виджета Button......Page 492
Создание различных типов кнопок......Page 493
Создание кнопки-переключателя......Page 494
Создание группы переключателей......Page 495
Использование виджета Progress Bar......Page 497
Создание виджета Progress Bar......Page 498
Использование методов виджета Progress Bar......Page 499
Анимация индикатора процесса......Page 501
Использование событий виджета Progress Bar......Page 502
Использование виджета Slider......Page 504
Настройка виджета Slider......Page 505
Использование методов виджета Slider......Page 510
Использование событий виджета Slider......Page 512
Резюме......Page 514
ГЛАВА 19. Использование виджетов Autocomplete и Accordion......Page 516
Создание виджета Autocomplete......Page 517
Настройка виджета Autocomplete......Page 519
Использование методов виджета Autocomplete......Page 525
Использование событий виджета Autocomplete......Page 527
Использование виджета Accordion......Page 530
Создание виджета Accordion......Page 531
Настройка виджета Accordion......Page 533
Использование методов виджета Accordion......Page 542
Использование событий виджета Accordion......Page 545
Резюме......Page 547
ГЛАВА 20. Использование виджета Tabs......Page 548
Создание виджета Tabs......Page 549
Получение содержимого вкладок с помощью Ajax......Page 551
Настройка виджета Tabs......Page 553
Настройка Ajax-запросов......Page 554
Обработка ошибок Ajax......Page 556
Вывод сообщений Ajax с помощью опции spinner......Page 557
Отключение отдельных вкладок......Page 559
Изменение типа события, активизирующего вкладку......Page 560
Использование свертываемых вкладок......Page 562
Добавление и удаление вкладок......Page 563
Управление Ajax-запросами дистанционной вкладки......Page 568
Изменение URL-адреса дистанционной вкладки......Page 569
Автоматический циклический показ вкладок......Page 570
Использование событий виджета Tabs......Page 574
Использование вкладок для отображения формы......Page 575
Применение вкладок......Page 577
Обработка нажатий кнопки......Page 578
Проверка данных формы......Page 579
Резюме......Page 582
ГЛАВА 21. Использование виджета Datepicker......Page 584
Создание виджета Datepicker......Page 585
Создание встроенного календаря Datepicker......Page 586
Базовые настройки......Page 588
Управление выбором даты......Page 593
Управление внешним видом виджета Datepicker......Page 600
Использование методов виджета Datepicker......Page 605
Получение и изменение даты программным путем......Page 606
Отображение и сокрытие всплывающих календарей программным способом......Page 607
Реагирование на изменение месяца или года в календаре......Page 609
Реагирование на закрытие всплывающего календаря......Page 611
Локализация виджета Datepicker......Page 612
Резюме......Page 614
ГЛАВА 22. Использование виджета Dialog......Page 616
Создание виджета Dialog......Page 617
Настройка виджета Dialog......Page 619
Настройка внешнего вида базового диалогового окна......Page 620
Настройка местоположения диалогового окна......Page 621
Добавление кнопок в диалоговое окно......Page 622
Перемещение диалоговых окон и их помещение в стек......Page 623
Создание модальных диалоговых окон......Page 624
Отображение формы в модальном диалоговом окне......Page 626
Использование методов виджета Dialog......Page 628
Поддержание диалогового окна в открытом состоянии......Page 630
Реагирование на изменение размеров и положения диалогового окна......Page 632
Резюме......Page 633
ГЛАВА 23. Использование взаимодействий, связанных с перетаскиванием......Page 634
Создание взаимодействия Draggable......Page 635
Настройка взаимодействия Draggable......Page 637
Использование методов взаимодействия Draggable......Page 642
Использование событий взаимодействия Draggable......Page 643
Использование взаимодействия Droppable......Page 644
Подсветка целевого принимающего объекта......Page 646
Обработка перекрывания элементов......Page 647
Настройка взаимодействия Droppable......Page 648
Использование опции Scope......Page 655
Использование вспомогательного элемента......Page 657
Привязка к краям элементов......Page 660
Резюме......Page 662
ГЛАВА 24. Использование других взаимодействий......Page 664
Использование взаимодействия Sortable......Page 665
Определение порядка сортируемых элементов......Page 666
Настройка взаимодействия Sortable......Page 668
Использование методов взаимодействия Sortable......Page 674
Использование событий взаимодействия Sortable......Page 676
Использование взаимодействия Selectable......Page 678
Настройка взаимодействия Selectable......Page 680
Использование событий взаимодействия Selectable......Page 681
Использование взаимодействия Resizable......Page 682
Настройка взаимодействия Resizable......Page 683
Резюме......Page 687
Дальнейший пересмотр переработанного варианта документа......Page 688
Отображение продуктов......Page 690
Добавление корзины покупателя......Page 691
Обработка изменений входных значений......Page 694
Применение темы оформления......Page 698
Расширение сферы использования классов CSS-фреймворка......Page 699
Применение скругленных углов в таблице......Page 700
Создание кнопки jQuery UI......Page 702
Добавление диалогового окна для завершения заказа......Page 705
Обработка щелчка на кнопке Заказать......Page 709
Завершение оформления заказа......Page 711
Резюме......Page 713
Часть V. Использование библиотеки jQuery Mobile......Page 714
Подготовка библиотеки jQuery Mobile к работе......Page 716
Загрузка jQuery Mobile......Page 717
У становка jQuery Mobile......Page 718
Автоматическое улучшение......Page 719
Окно просмотра......Page 721
С обытия jQuery Mobile......Page 723
Реагирование на изменение ориентации устройства......Page 733
Работа с мобильными устройствами......Page 735
Избегайте необоснованных предположений......Page 736
Избегайте нереалистического моделирования и тестирования......Page 739
Использование эмуляторов мобильных браузеров......Page 740
Резюме......Page 744
ГЛАВА 27. Страницы и навигация......Page 746
Добавление верхних и нижних колонтитулов на страницу......Page 747
Добавление страниц в документ......Page 750
Связывание с внешними страницами......Page 755
Изменение текущей страницы......Page 762
Определение текущей страницы......Page 768
Фоновая загрузка страниц......Page 770
Использование событий страниц......Page 771
Обработка событий загрузки страницы......Page 772
Реагирование на переходы между страницами......Page 773
Резюме......Page 775
Создание диалоговых окон......Page 776
Добавление кнопок в диалоговое окно......Page 777
Применение тем оформления......Page 782
Применение палитр к отдельным элементам......Page 784
Создание макетных сеток......Page 786
Резюме......Page 788
ГЛАВА 29. Кнопки и сворачиваемые блоки......Page 790
Автоматическое создание кнопок......Page 791
Настройка кнопок jQuery Mobile......Page 793
Создание группы кнопок......Page 799
Использование сворачиваемых блоков содержимого......Page 800
Создание одиночного сворачиваемого блока......Page 801
Настройка сворачиваемых блоков содержимого jQuery Mobile......Page 802
Использование событий сворачиваемых блоков......Page 805
Управление сворачиваемыми блоками из программы......Page 807
Создание виджетов Accordion jQuery Mobile......Page 808
Резюме......Page 810
ГЛАВА 30. Использование форм jQuery Mobile......Page 812
Автоматическое создание элементов формы......Page 813
Работа с подписями к элементам формы......Page 814
Использование элементов select......Page 820
Применение пользовательских списков select......Page 822
Определение элементов-заместителей......Page 824
Программное управление списком select......Page 825
Создание ползунковых переключателей......Page 826
Применение подписи к флажку......Page 828
Группировка флажков......Page 830
Создание переключателей......Page 832
Использование диапазонных ползунков......Page 834
Резюме......Page 835
ГЛАВА 31. Списки jQuery Mobile......Page 836
Приступаем к работе со списками......Page 837
Создание элементов простого списка......Page 840
Создание вставных списков......Page 841
Создание разделенных списков......Page 842
Фильтрация списков......Page 845
Форматирование элементов списка......Page 849
Форматирование на основе соглашений......Page 851
Резюме......Page 855
Начинаем с простого......Page 856
Вставка информации о продуктах программным способом......Page 858
Повторное использование страниц......Page 861
Создание корзины покупателя......Page 865
Добавление кода для изменения объема заказа......Page 869
Добавление кнопки на информационную страницу......Page 873
Реализация процедуры завершения заказа......Page 875
Резюме......Page 881
Часть VI. Дополнительные возможности......Page 882
ГЛАВА 33. Использование служебных методов jQuery......Page 884
Использование универсальных очередей......Page 885
Обработка элементов очереди вручную......Page 888
Метод grep()......Page 889
Метод inArray()......Page 890
Метод map()......Page 891
Метод merge()......Page 892
Метод unlque()......Page 893
Метод type()......Page 894
Служебные методы для работы с данными......Page 895
Сериализация данных формы......Page 896
Удаление начальных и концевых пробелов в строках......Page 897
Проверка включения элементов......Page 898
Создание функции-посредника......Page 899
Резюме......Page 900
Использование эффeктoв jQuery UI......Page 902
Анимация цвета......Page 903
Анимация на основе классов......Page 905
Использование анимационных эффектов jQuery UI......Page 908
Использование контейнерных классов виджетов......Page 910
Скругление углов......Page 911
Использование классов, описывающих состояние взаимодействия......Page 913
Использование классов информационных подсказок......Page 915
Резюме......Page 918
ГЛАВА 35. Использование отсроченных объектов......Page 920
Первый пример использования отсроченных объектов......Page 921
Чем полезны отсроченные объекты......Page 924
Отклонение отсроченного объекта......Page 931
Использование функций обратного вызова, не зависящих от исхода выполнения задачи......Page 935
Одновременное использование нескольких функций обратного вызова......Page 938
Проверка конечных состояний нескольких отсроченных объектов......Page 940
Предоставление информации о ходе выполнения задачи......Page 942
Получение информации об отсроченном объекте......Page 945
Использование отсроченных объектов Ajax......Page 947
Резюме......Page 950
Предметный указатель......Page 951