Содержание
| Часть 2. script.aculo.us. | |
| Глава 9. Что следует знать об DHTML и script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
193 |
| Знакомство с моделью CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
193 |
| Визуализация элементов уровня блока . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
194 |
| Форматирование блоков со встроенными элементами. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
195 |
| Размышление о внешних характеристиках блока: поля (margin), отступы (padding), и границы (border) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
196 |
| Свойства DHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
198 |
| Определение позиции элемента с помощью CSS (статический, абсолютный, и относительный) . . |
199 |
| Свойства, определяющие смещение позиции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
208 |
| Знакомство с библиотекой script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
208 |
| Общие черты с Prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
208 |
| Веб-сайт script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
209 |
| Содействие развитию script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
209 |
| Начало работы с script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
209 |
| Загрузка script.aculo.us на страницу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
210 |
| Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 213 |
| Глава 10. Знакомство с эффектами script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
215 |
| Что такое эффекты? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
215 |
| Почему эффекты? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
215 |
| Когда необходимы эффекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
216 |
| Основы эффектов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
217 |
| Эффекты script.aculo.us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
220 |
| Применение класса Effect.Morph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
221 |
| Другие базовые эффекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
228 |
| Знакомство с комбинированными эффектами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
236 |
| Эффекты асинхронны . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 240 |
| Собираем все вместе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
244 |
| Пишем разметку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
244 |
| Добавление стилей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
247 |
| Использование ранее созданного кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
248 |
| Дополнительные код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
249 |
| Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 255 |
| Глава 11. Возможности перетаскивания, отпускания и сортировки | 257 |
| Исследование объекта Draggables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
257 |
| Создание Draggables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 260 |
| Other Draggable Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 262 |
| Исследование объекта Droppables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
264 |
| Создание Droppables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
264 |
| Использование обратных вызовов в объекте Droppables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
265 |
| Drag-and-Drop: полезен или утомителен? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
269 |
| Исследование объекта Sortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 270 |
| Создание Sortable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
270 |
| Опции сортировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
272 |
| Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 275 |
| Глава 12. Расширенные элементы управления: Autocompleters (элементы автозавершения), In-Place Editors (оперативные редакторы) и Sliders (ползунки) | 277 |
| Добавление функции автозавершения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
277 |
| В каких случаях следует использовать Autocompleter?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
277 |
| Пример использования: список автозавершения для игроков . . . . . . . . . . . . . . . . . . . . . . . . . . . |
278 |
| Добавление функции редактирования по месту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
287 |
| Использование Ajax.InPlaceEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
288 |
| Добавление слайдеров (ползунков) .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
293 |
| Создание ползунка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
293 |
| Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 296 |
| Глава 13. Prototype как платформа | 297 |
| Применение кодовых шаблонов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
297 |
| Staying DRY with Inheritance and Mixins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
297 |
| Solving Browser Compatibility Problems: To Sniff or Not to Sniff?. . . . . . . . . . . . . . . . . . . . . . . . . . |
305 |
| Capabilities Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
306 |
| Quirks and Other Non-Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
307 |
| If You Must . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
309 |
| Holding Up Your End of the Bargain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 310 |
| Making and Sharing a Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
310 |
| Make Your Code Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
311 |
| Do One Thing Well (or Else Go Modular) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
311 |
| Embrace Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
311 |
| Make Things Configurable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
311 |
| Add Hooks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
312 |
| Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 314 |