Интересный факт: jQuery в настоящий момент используется на сайтах гораздо чаще, чем Flash.
jQuery – это удивительный инструмент, позволяющий разработчикам и дизайнерам работать с JavaScript без особых навыков . Однако, как учил нас Спайдермен, «с большой силой приходит большая ответственность». Главный недостаток jQuery в том, что несмотря на то, что он упрощает работу с JavaScript, все равно можно написать самый настоящий го#%!код. Скрипт, который будет тормозить загрузку страницы и увеличивать время отклика интерфейса, и будет запутан такими узлами спагетти, что следующему невезучему разработчику будет не обойтись без бутылки виски.
Задача становится еще сложнее для тех из нас, кто еще не переехал в волшебную сказочную страну чудес, где ни один из наших клиентов не использует для просмотра страниц Internet Explorer – скорость JavaScript движка IE сравнима со скоростью движения ледника, и не идет в сравнение с другими современными браузерами. Поэтому оптимизация производительности нашего кода становится делом еще более важным.
Несколько недель назад в просторах интернета я увидел очень заинтересовавшую меня вещь — iOS иконки на CSS3 полностью без картинок. Первое что подумал — «Я тоже так могу»! А спустя еще 5 минут для себя четко решил — «challenge accepted». Но чтоб не повторяться я решил немножко усложнить задачу — сделать не только иконки, но и сам девайс.
Постановка задачи
Итак, в тот-же день я решил сделать iPhone4 на CSS3 абсолютно без картинок, base64, canvas или SVG и добавить еще некоторую изюминку — интерактивные возможности:
— включение/выключение;
— блокировка при включении и разблокировка как в реальном iPhone;
— анимация «slide to unlock» текста на экране блокировки;
По долгу службы понадобилось выделить некоторые дни в fullcalendar цветом. Решил его немного допилить.
Что сделал:
В параметрах добавил custom — коллекция дней. Для каждого дня можно прилепить css класс и callback функцию, которая выполнится при клике.
Около полугода назад я написал простой джейкверный плагин для галерей на сайтах. Назвал его Фоторамой и выложил в интернет. По клику кроссфейдом показывалась следующая фотография, клик с шифтом мотал назад — вот и всё.
Меня вдохновили «галереи» в тревелах Артемия Лебедева. И я решил сделать что-то похоже, не выглядящее чужеродным «флешом» на странице. Сделал. Плагином начали пользоваться, присылать жалобы и предложения. Это заставило меня не останавливать работу над скриптом. За эти месяцы Фоторама повзрослела, обзавелась сайтом с логотипом и, думаю, теперь можно написать о ней на Хабре.
2011-11-14 23:06:08
Появилась задача — вводить в web-приложение элементы иерархического списка (например КЛАДР).
< ...
+ развернуть текстсохранённая копия
Появилась задача — вводить в web-приложение элементы иерархического списка (например КЛАДР).
Когда работал с drupal, видел там модуль Hierarchical Select, реализующий эту функциональность.
Но хотелось сделать самому — для того, чтоб не привязываться к системам, которые мне полностью не понятны и вообще, интересно.
Поиск готового решения, не завязанного на какую-то существующую систему, дал что-то вроде
этого, что не устроило.
Топик не претендует на новизну и особую сложность исполнения.
Сделал за 2 часа.
Захотел поделится.
Возможно, кому-то пригодится.
Максимально все документировал и функции, описывающие источник данных, вынес в 2 метода:
— поиск детей (один уровень) по родителю
— поиск всех родителей ребенка по иерархии вверх
чтобы желающие могли использовать это для своих нужд.
Возможно, что-то подобное где-то и было, но быстро я это не нашел.
Итак, приступим.