Записи с меткой "JavaScript"


Nodejs. Побеждая ад

Черновик. В будущем планирую найти таки красивое решение и не катить бочку на nodejs =)

Применительно к ноде есть такое понятие, как "callback hell" (глубоко вложенные колбэки). На хабре есть об этом. В попытках избежать этой засады я стал разбирать код на части и попал в другой кошмарик, с ассинхронной работой. Конечно есть решения и в мануалах все просто. Но стоит написать в ноде что-то чуть сложнее "Hello, world!", как начинаются проблемы. Код с катастрофической скоростью обрастает парными скобками "})", анонимными функциями и вложенными callback-вызовами. На данном этапе работы с ним я искрене не понимаю, как можно тащиться от nodejs и компании.

Всплывающее окно. Чужой плагин для jQuery

 пример popup

По работе потребовалось прикрутить к сайту несколько popup-окошек. Чтоб красиво всплывали и корректно работали. Сначала накатал свой код, без эффектов. Однако ж не по "феншую" было. Нашел подходящий jQ-плагин, разобрался, как использовать и теперь пишу, чтоб в следующий раз время не терять впустую. Имя плагина - custombox. Страница на оф.сайте jQuery, форк на Гитхабе.

Гиперссылки в версии для печати

Проблема: гиперссылки на распечатанном документе не показывают адрес, на который ссылаются. Идею сделать их видимыми подхватил здесь. Предложенный вариант мне не понравился, но направление было верное. Потом почитал статью, на которую ссылался автор приведеного опуса. И понеслось :) Идея до сих пор в развитии, но уже сейчас могу о ней рассказать.

Создание сайта. Часть 6: JavaScript

Очередная статья серии, посвященной сайтострою. Полное содержание серии - в конце статьи.

Теперь начинается реальный кодинг. Можно конечно отказаться от использования JavaScript на своих сайтах, тем более что браузеры по-разному понимают js-код (тут бардак не меньше, чем в дизайне). Но возможности, которые он дает, заставляют хотя бы попробовать с ним разобраться.

Выпадающее многоуровневое меню. CSS + javascript

Теоретическая задача: на Javascript создать единый код для обработки многоуровневых меню, выпадающих в любом направлении (слева/справа или снизу/сверху). Т.е. решить не частную задачу, а общий случай. Вообще задача изначально носила практический характер. Нужно было прикрутить менюшку к одному коммерческому проекту, причем времени на разработку не было. Пошарился в инете, найденные решения меня не устроили. Либо заточены под один вид меню, либо ограничения по уровням. Нашел даже совсем экзотический вариант, на дли-и-и-инном css-управлении. Все-таки пришлось делать свое, универсальное.

Кроссбраузерное печенье (cookie)

Есть как минимум два языка программирования, способных управлять cookie - PHP и Javascript. Есть множество браузеров, поддерживающих работу с печеньками. И есть проблема: удаление этих самых cookies может выполняться по-разному, в зависимости от языка/браузера. В этой статье я расскажу о своих изысканиях и кроссбраузерном подходе к манипуляциям с cookie.

Упаковщик Javascript: зачистка js-файла

Задача: удалить однострочные/многострочные комментарии, tab-отступы, пустые строки в js-скрипте. Так же нужно учесть, что в коде возможны экранированные back-slash и кавычки. После всего удалить переносы строк, чтобы получится весь код в одной строке. Разбить код на строки заданной длины.

Я не знаю, зачем последнее действие, но все "обфускаторы" так делают =-). Приведенный в статье скрипт я считаю упаковщиком, потому что он уменьшает вес конечного файла, а еще - мне так больше нравится :) Зачем все это нужно, я уже писал здесь. В двух словах: этот скрипт чистит js-файлы для загрузки на сервер.

Я vs JavaScript - 0:1

JavaScript меня иногда в тупик ставит. Причем не баги реализации, а количество свободы в нем. Кстати, багов в js я еще не видел.

Есть у меня некий код. Для примера упростил его максимально. Суть: есть строка, состоящая из цифр. Это - цифровые флаги. Функция разбирает строку на части и согласно полученных цифровых флагов готовит html-код таблицы для вставки на страницу. Каждая шестая и седьмая ячейка нужна другого цвета (практический пример - календарь в меню этого сайта). Еще замечу, что рабочий код этого календаря я сделал много раньше, только попроще. Теперь мне нужно было сделать его слегка круче.

Продвижение
Время
Метки
Щелкни мышей, чтобы закрыть