Checkbox+jQuery+IE6

Как же достал это злоебучий IE6!!! Недавно, а точнее неделю назад нашел баг, но локализировать и описать его время появилось тока сейчас. Задача была довольно простая, было две формы и набор checkbox’ов в котором храниться текущее состояние приложения, надо было его отправлять вместе с обоими формами, поэтому я разместил его в одной, а во второй на onsubmit повесил функцию которая забирает их из первой. Пока я разрабатывал под Firefox’ом, как бы все работало как часы, а когда тестеры тестировали под IE6 ничего не работало вообще. У меня естественно стоит IE8b2, потому что там консоль, и баги этой не видно, протестировать нормально нельзя. Начал дебажить java код и действительно данные от checkbox’ов не приходят, поставил снифер перед браузером — данные не отправлены. В общем через пол часа танцев с бубном я вычислил проблемный кусок кода. А теперь покажу его вам и покажу свой workaround, а вы если знаете лучший способ — напишите в каментах.

(далее…)

Звездный рейтинг

UPD Статья относится к старому движку, так что никакого рейтинга вы сейчас тут не найдете, может потом снова прикручу.

Для тех, кому леньки написать комментарий я решил установить плагин star rating. Сложностей с установкой в принципе не возникло, но было пару нюансов которые я хочу описать.

Не смотря на всю красоту примеров в плагине, он совсем не такой красивый с точки зрения кода. Я начну с простых недостатков и перейду к сложным. Так вот первое что бросается в глаза, открыв код, это что автор не знает что такое табуляция и логические переносы строк. Код читается тяжело как книга начала века, в которой еще есть твердые знаки, на концах существительных, и буква ять.

В общем после небольшой обработки кода становятся видны прочие недостатки.

(далее…)

Простой comet

Всю неделю готовил эту статью, и вот наконец публикую.

Что же первое приходит в голову, когда видишь слово «comet», правильно — чистящее средство, потом комета, а оно почему-то означает технологию (хотя это, наверное, громко сказано, скорее паттерн) постоянного соединения с сервером. Все же в толстых книжках читали, что после того как сервер получил запрос и отдал ответ браузеру, он забывает, что к нему вообще кто-то обращался. А тут поседели умные люди и стали седыми. Нет, посидели и придумали идею, как заставить передавать браузеру информацию, изменившуюся на сервере.

(далее…)

Autocomplete

Prehistory


First of all, I want to say, that this plugin was developed for KyivStar, therefore all fine details were studied and stipulated very carefully. For example, what should occur, when the user would reach last element of the list: whether it should rest against the end or begin a cycle all over again. Or whether the list should disappear when the cursor is out of it. All this passed through business analysts’ and designer and only then came to me.

(далее…)

Classy Query

Сегодня John Resig презентовал надстройку над jQuery под название Classy Query.

Эта надстройка призвана сделать из прототипного языка JavaScript классический классовый язык типа Java с созданием объектов и их наследованием. Надстройка разбивает jQuery на отдельные объекты (DOM, Traverse, Events, Effects, Ajax) которые бы упростили для пользователя понимание работы с jQuery. Теперь вместо привычного $(elt).click(fn); можно будет писать jQuery.Events.addEventListener(elt,»click»,fn); или вместо $(«#id»).parent(); писать jQuery.Traverse.getParentElements(«#id»);

(далее…)

Быстрое выделение checkbox’ов по onMouseOver

После того как Snook опубликовал концепцию скрипта где пользователь может кликнуть на checkbox и удерживая кнопку мыши, двигать курсор по другим checkbox’ам и выделять их. Я захотел себе такой плагин под jQuery, но что-то никто его писать не захотел, и мне пришлось написать его самому. Вот что из этого получилось:

(далее…)

FACE по мотивам проекта KuraFire

В пятницу лазил по сети и наткнулся на сайте KuraFire на один весьма забавный проект под названием FACE. Решил его поставить себе и поэкспериментировать с ним. На первый взгляд показалось, что все очень красиво и здорово, но при внимательном рассмотрении нашлась пара серьезных недостатков.

(далее…)